diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index b88a862..29f1cc5 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -7,9 +7,9 @@ on: paths: - 'docs/**' - 'js/**' - - 'less/**' - 'sass/**' - - 'Gruntfile.js' + - 'rollup.config.js' + - 'scripts/**' - 'package.json' - 'package-lock.json' - '.github/workflows/deploy-docs.yml' diff --git a/.github/workflows/docs_validation.yml b/.github/workflows/docs_validation.yml index 8d5358b..b89216d 100644 --- a/.github/workflows/docs_validation.yml +++ b/.github/workflows/docs_validation.yml @@ -7,9 +7,9 @@ on: paths: - 'docs/**' - 'js/**' - - 'less/**' - 'sass/**' - - 'Gruntfile.js' + - 'rollup.config.js' + - 'scripts/**' - 'package.json' - 'package-lock.json' - '.github/workflows/docs_validation.yml' diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index d52f518..1bf3ba7 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -20,4 +20,4 @@ jobs: - name: Install dependencies run: npm ci - name: Run lint - run: npx grunt lint + run: npm run lint diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index d5f48d6..206c310 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -15,7 +15,7 @@ jobs: - name: Install dependencies run: npm ci - name: Build - run: npx grunt build + run: npm run build - name: Install Playwright browsers run: npx playwright install --with-deps chromium - name: Run Playwright tests diff --git a/.github/workflows/publish_npm_release.yml b/.github/workflows/publish_npm_release.yml index 2259bf3..f4bb77d 100644 --- a/.github/workflows/publish_npm_release.yml +++ b/.github/workflows/publish_npm_release.yml @@ -11,7 +11,7 @@ permissions: jobs: publish: runs-on: ubuntu-latest - name: Publish crestapps-bootstrap-select + name: Publish bootstrap-select outputs: version: ${{ steps.release_meta.outputs.version }} docs_version: ${{ steps.release_meta.outputs.docs_version }} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e99f0d9..969388f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -# Contributing to crestapps-bootstrap-select +# Contributing to bootstrap-select Thanks for contributing. This repository contains the vanilla JavaScript CrestApps fork of `bootstrap-select`, the built distribution artifacts, the @@ -8,12 +8,12 @@ changes. ## Project layout - `js/` - source for the plugin runtime -- `less/` and `sass/` - source stylesheets +- `sass/` - source stylesheets - `dist/` - generated distributable assets - `docs/` - Docusaurus docs app and hosted standalone examples - `tests/` - manual HTML fixtures, helpers, and Playwright e2e coverage -Edit the source files in `js/`, `less/`, `sass/`, or `docs/`. Do not hand-edit +Edit the source files in `js/`, `sass/`, or `docs/`. Do not hand-edit generated files in `dist/`. ## Before you start @@ -22,7 +22,7 @@ generated files in `dist/`. 2. For non-trivial changes, open or reference an issue first so the scope is clear before implementation starts. 3. For bugs, include the browser, OS, Bootstrap version, and - `crestapps-bootstrap-select` version you tested against. + `@crestapps/bootstrap-select` version you tested against. ## Local setup @@ -44,7 +44,7 @@ generated files in `dist/`. ## Build and validation workflow -The project uses Grunt for asset generation and Docusaurus for the docs site. +The project uses Rollup and Sass for asset generation and Docusaurus for the docs site. - `npm run build` - rebuilds `dist/` from the source files - `npm run lint` - runs the configured ESLint checks @@ -52,14 +52,8 @@ The project uses Grunt for asset generation and Docusaurus for the docs site. - `npm run docs:prepare` - builds the plugin and copies docs assets into `docs/static/dist/` - `npm run docs:start` - prepares the docs assets and starts the local docs site -- `npm run docs:build` - creates a production docs build under `docs/build/` - -If you prefer Grunt directly, these tasks remain available: - -- `grunt build-css` -- `grunt build-js` -- `grunt copy-docs` -- `grunt dev-watch` +- `npm run docs:build` - creates a production docs build under `docs/.pages-build/` +- `npm run watch` - rebuilds the plugin whenever JS or Sass sources change ## Working on docs diff --git a/Gruntfile.js b/Gruntfile.js deleted file mode 100644 index ada3fe7..0000000 --- a/Gruntfile.js +++ /dev/null @@ -1,494 +0,0 @@ -module.exports = function (grunt) { - function asArray (value) { - return Array.isArray(value) ? value.reduce(function (result, item) { - return result.concat(asArray(item)); - }, []) : [value]; - } - - function normalizeArchivePath (filepath) { - return filepath.replace(/\\/g, '/').replace(/^\/+/, ''); - } - - // From TWBS - RegExp.quote = function (string) { - return string.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&'); - }; - - // Project configuration. - grunt.initConfig({ - - // Metadata. - pkg: grunt.file.readJSON('package.json'), - banner: '/*!\n' + - ' * Bootstrap-select v<%= pkg.version %> (<%= pkg.homepage %>)\n' + - ' *\n' + - ' * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n' + - ' * Copyright 2012-2018 SnapAppointments, LLC (original work)\n' + - ' * Fork modifications Copyright 2024-<%= grunt.template.today(\'yyyy\') %> CrestApps\n' + - ' * Licensed under <%= pkg.license %> (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE)\n' + - ' */\n', - - // Task configuration. - - clean: { - css: 'dist/css', - js: 'dist/js', - docs: 'docs/static/dist' - }, - - eslint: { - options: { - overrideConfigFile: 'eslint.config.cjs' - }, - gruntfile: { - src: 'Gruntfile.js' - }, - main: { - src: [ - 'js/*.js', - '!js/umd-intro.js', - '!js/umd-outro.js', - '!js/esm-intro.js', - '!js/esm-outro.js' - ] - }, - i18n: { - src: 'js/i18n/*.js' - } - }, - - concat: { - options: { - stripBanners: true, - sourceMap: true - }, - main: { - src: 'js/bootstrap-select.js', - dest: 'dist/js/bootstrap-select.js', - options: { - banner: '<%= banner %>\n' + grunt.file.read('js/umd-intro.js'), - footer: grunt.file.read('js/umd-outro.js') - } - }, - esm: { - src: 'js/bootstrap-select.js', - dest: 'dist/js/bootstrap-select.esm.mjs', - options: { - banner: '<%= banner %>\n' + grunt.file.read('js/esm-intro.js'), - footer: grunt.file.read('js/esm-outro.js') - } - }, - i18n: { - expand: true, - src: '<%= eslint.i18n.src %>', - dest: 'dist/', - options: { - banner: '<%= banner %>\n' + grunt.file.read('js/umd-intro.js'), - footer: grunt.file.read('js/umd-outro.js') - } - } - }, - - uglify: { - options: { - banner: '<%= banner %>', - output: { - ascii_only: true - }, - preserveComments: function (node, comment) { - return /^!|@preserve|@license|@cc_on/i.test(comment.value); - } - }, - main: { - src: '<%= concat.main.dest %>', - dest: 'dist/js/bootstrap-select.min.js', - options: { - sourceMap: true, - sourceMapIncludeSources: true, - sourceMapIn: 'dist/js/bootstrap-select.js.map' - } - }, - i18n: { - expand: true, - src: 'dist/<%= eslint.i18n.src %>', - ext: '.min.js' - } - }, - - less: { - options: { - strictMath: true, - sourceMap: true, - outputSourceFiles: true, - sourceMapURL: 'bootstrap-select.css.map', - sourceMapFilename: '<%= less.css.dest %>.map' - }, - css: { - src: 'less/bootstrap-select.less', - dest: 'dist/css/bootstrap-select.css' - } - }, - - usebanner: { - css: { - options: { - banner: '<%= banner %>' - }, - src: '<%= less.css.dest %>' - } - }, - - copy: { - docs: { - files: [ - { - expand: true, - cwd: 'dist/', - src: [ - '**/*' - ], - dest: 'docs/static/dist/' - } - ] - } - }, - - cssmin: { - options: { - compatibility: 'ie8', - keepSpecialComments: '*', - advanced: false - }, - css: { - src: '<%= less.css.dest %>', - dest: 'dist/css/bootstrap-select.min.css' - } - }, - - csslint: { - options: { - 'adjoining-classes': false, - 'box-sizing': false, - 'box-model': false, - 'compatible-vendor-prefixes': false, - 'floats': false, - 'font-sizes': false, - 'gradients': false, - 'important': false, - 'known-properties': false, - 'outline-none': false, - 'qualified-headings': false, - 'regex-selectors': false, - 'shorthand': false, - 'text-indent': false, - 'unique-headings': false, - 'universal-selector': false, - 'unqualified-attributes': false, - 'overqualified-elements': false - }, - css: { - src: '<%= less.css.dest %>' - } - }, - - version: { - js: { - options: { - prefix: 'Selectpicker.VERSION = \'' - }, - src: [ - 'js/bootstrap-select.js' - ] - }, - docs: { - options: { - prefix: '<%= pkg.name %>/archive/v', - replace: '[0-9a-zA-Z\\-_\\+\\.]+)([^/]+(?=\.zip+)' - }, - src: [ - 'README.md', - 'docs/content/index.md' - ] - }, - cdn: { - options: { - prefix: 'npm/<%= pkg.name %>@' - }, - src: [ - 'README.md', - 'docs/content/index.md' - ] - }, - nuget: { - options: { - prefix: '' - }, - src: [ - 'nuget/bootstrap-select.nuspec' - ] - }, - default: { - options: { - prefix: '[\'"]?version[\'"]?:[ "\']*' - }, - src: [ - 'docs/docusaurus.config.js', - 'package.json' - ] - } - }, - - postcss: { - options: { - map: true, - processors: [ - require('autoprefixer')() - ] - }, - css: { - src: '<%= less.css.dest %>' - } - }, - - compress: { - zip: { - options: { - archive: 'bootstrap-select-<%= pkg.version %>.zip', - mode: 'zip' - }, - files: [ - { - expand: true, - cwd: 'dist/', - src: '**', - dest: 'bootstrap-select-<%= pkg.version %>/' - }, { - src: ['bower.json', 'composer.json', 'package.json'], - dest: 'bootstrap-select-<%= pkg.version %>/' - } - ] - } - }, - - watch: { - gruntfile: { - files: '<%= eslint.gruntfile.src %>', - tasks: 'eslint:gruntfile' - }, - js: { - files: ['<%= eslint.main.src %>', '<%= eslint.i18n.src %>'], - tasks: 'build-js' - }, - less: { - files: 'less/*.less', - tasks: 'build-css' - } - } - }); - - // These plugins provide necessary tasks. - require('load-grunt-tasks')(grunt, { - scope: 'devDependencies' - }); - - grunt.registerMultiTask('postcss', 'Process CSS with PostCSS.', function () { - var done = this.async(); - var postcss = require('postcss'); - var options = this.options({ - map: true, - processors: [ - require('autoprefixer')() - ] - }); - - Promise.all(this.files.map(function (file) { - var src = file.src.filter(function (filepath) { - if (!grunt.file.exists(filepath)) { - grunt.fail.warn('Source file "' + filepath + '" not found.'); - } - - return !grunt.file.isDir(filepath); - })[0]; - - if (!src) return Promise.resolve(); - - var dest = file.dest || src; - var map = false; - - if (options.map) { - map = { - inline: false, - annotation: true - }; - - if (grunt.file.exists(src + '.map')) { - map.prev = grunt.file.readJSON(src + '.map'); - } - } - - return postcss(options.processors).process(grunt.file.read(src), { - from: src, - to: dest, - map: map - }).then(function (result) { - grunt.file.write(dest, result.css); - - if (result.map) { - grunt.file.write(dest + '.map', result.map.toString()); - } - - grunt.log.writeln('File ' + dest + ' processed.'); - }); - })).then(function () { - done(); - }, done); - }); - - grunt.registerMultiTask('compress', 'Create distribution archives.', function () { - var done = this.async(); - var fs = require('fs'); - var path = require('path'); - var ZipArchive = require('archiver').ZipArchive; - var options = this.options({ - archive: 'archive.zip' - }); - var archivePath = grunt.template.process(options.archive); - var output = fs.createWriteStream(archivePath); - var archive = new ZipArchive({ - zlib: { - level: 9 - } - }); - var completed = false; - - function finish (error) { - if (completed) return; - - completed = true; - done(error); - } - - function archiveName (file, src) { - var dest = file.dest || src; - - if (!(file.orig && file.orig.expand) && /\/$/.test(dest)) { - dest = path.join(dest, src); - } - - return normalizeArchivePath(dest); - } - - output.on('close', function () { - grunt.log.writeln('Created ' + archivePath + ' (' + archive.pointer() + ' bytes).'); - finish(); - }); - - archive.on('warning', finish); - archive.on('error', finish); - archive.pipe(output); - - this.files.forEach(function (file) { - file.src.forEach(function (src) { - if (!grunt.file.exists(src)) { - grunt.fail.warn('Source file "' + src + '" not found.'); - } - - if (grunt.file.isDir(src)) return; - - archive.file(src, { - name: archiveName(file, src) - }); - }); - }); - - var finalize = archive.finalize(); - - if (finalize && typeof finalize.catch === 'function') { - finalize.catch(finish); - } - }); - - grunt.registerTask('watch', 'Watch source files and run configured tasks.', function () { - var done = this.async(); - var chokidar = require('chokidar'); - var watchConfig = grunt.config.get('watch') || {}; - var running = {}; - var targets = Object.keys(watchConfig); - - function runTasks (targetName, tasks) { - if (running[targetName]) { - running[targetName].pending = true; - return; - } - - running[targetName] = { - pending: false - }; - - grunt.util.spawn({ - grunt: true, - args: tasks - }, function (error, result) { - var rerun = running[targetName].pending; - - if (result.stdout) grunt.log.write(result.stdout); - if (result.stderr) grunt.log.error(result.stderr); - if (error) grunt.log.error(error.message); - - delete running[targetName]; - - if (rerun) { - runTasks(targetName, tasks); - } - }); - } - - if (!targets.length) { - grunt.log.warn('No watch targets configured.'); - done(); - return; - } - - targets.forEach(function (targetName) { - var target = watchConfig[targetName]; - var files = asArray(target.files); - var tasks = asArray(target.tasks); - - chokidar.watch(files, { - ignoreInitial: true - }).on('all', function (eventName, filepath) { - grunt.log.writeln(filepath + ' ' + eventName + '; running ' + tasks.join(', ') + '.'); - runTasks(targetName, tasks); - }); - - grunt.log.writeln('Watching ' + files.join(', ') + ' for ' + targetName + '.'); - }); - }); - - // Version numbering task. - // to update version number, use grunt version::x.y.z - - // CSS distribution - grunt.registerTask('build-css', ['clean:css', 'less', 'postcss', 'usebanner:css', 'cssmin']); - - // JS distribution - grunt.registerTask('build-js', ['clean:js', 'eslint', 'concat', 'uglify']); - - // Copy dist to docs - grunt.registerTask('copy-docs', ['clean:docs', 'copy:docs']); - - // Build CSS & JS - grunt.registerTask('build', ['build-css', 'build-js']); - - // Development watch - grunt.registerTask('dev-watch', ['build', 'watch']); - - // Full distribution - grunt.registerTask('dist', ['build', 'compress', 'copy-docs']); - - // Default task. - grunt.registerTask('default', 'build'); - - // Linting - grunt.registerTask('lint', 'eslint'); -}; diff --git a/README.md b/README.md index 58a7663..ae5ba75 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

- + License @@ -31,13 +31,16 @@ following goals: than Bootstrap itself). - **Support Bootstrap 5 and later only** — older Bootstrap and jQuery compatibility paths are intentionally out of scope. +- **Ship modern distribution formats** — the package includes first-class ESM, + CommonJS, and browser-global UMD builds from the same source code. +- **Use a modern build pipeline** — the fork no longer relies on Grunt or Less; + builds are produced with Rollup, Sass, and the current docs/tooling stack. - Keep the select-enhancement feature set while prioritizing a modern, small, forward-only API. ## Requirements -- **Bootstrap 5+** (CSS and JS, including its bundled Popper). jQuery is **not** - required. +- **Bootstrap 5+** (CSS and JS, including its bundled Popper). ## Quick start @@ -48,7 +51,7 @@ npm install @crestapps/bootstrap-select bootstrap ``` Load Bootstrap 5, then bootstrap-select's CSS and JS. **Load bootstrap-select -after Bootstrap's JavaScript.** +after Bootstrap's JavaScript** when using the browser-global build. ```html @@ -74,19 +77,93 @@ jsDelivr. Prefer pinning an explicit package version in production: - - + + ``` -You can replace `@1.1.2` with the version you want to consume. During +You can replace `@1.2.0` with the version you want to consume. During development, `@latest` also works, but a fixed version is safer for production deployments. -When loaded via a ` + + + + + + ``` ## Usage @@ -114,10 +191,34 @@ Existing bootstrap-select markup that uses `title="..."` placeholders or ``` +#### Selection indicators + +For single selects, use `show-tick` for the default checkmark, or set +`data-selection-indicator="checkbox"` to render radio-style indicators +automatically. On multiselects, `data-selection-indicator="checkbox"` renders a +checkbox column. + +```html + + + + + +``` + ### Via JavaScript -Initialize an instance with the `Selectpicker` class. You can pass an element or -a CSS selector string: +Initialize an instance with the `Selectpicker` class from your chosen module +style. You can pass an element or a CSS selector string: ```js // Initialize a single select @@ -153,6 +254,27 @@ picker.destroy(); // remove the plugin and restore the original ` @@ -186,54 +308,28 @@ Full documentation is hosted at including [Getting Started](https://bootstrap-select.crestapps.com/docs/), [Examples](https://bootstrap-select.crestapps.com/docs/examples), [Options](https://bootstrap-select.crestapps.com/docs/options), and -[Methods](https://bootstrap-select.crestapps.com/docs/methods). +[Methods](https://bootstrap-select.crestapps.com/docs/methods), and +[Events](https://bootstrap-select.crestapps.com/docs/events). -## Building and testing +## Building locally + +To work with the package from source, install dependencies and build `dist/`: ```sh # Requires Node.js 20.19 or newer for the development toolchain. npm install -npm run build # grunt build (lint + compile JS and CSS into dist/) -npm run lint # grunt lint -npm test # Playwright end-to-end tests +npm run build ``` -## Documentation site - -The documentation site is built with **Docusaurus 3.10** and uses the CrestApps -theme colors. It is published to -[bootstrap-select.crestapps.com](https://bootstrap-select.crestapps.com) via -GitHub Pages whenever changes land on `main`. - -Run the site locally: +Useful local workflows: ```sh -npm install -npm run docs:start +npm run lint +npm test ``` -`docs:start` builds the plugin, copies the local `dist/` files into -`docs/static/dist/`, and starts Docusaurus. Open `http://localhost:3000/`, then -use the **Examples** page to exercise the plugin in the docs site. - -The Docusaurus source lives under `docs/content/`. Because GitHub Pages is -configured to publish from `main:/docs`, the deploy workflow builds the site -and syncs the generated static files back into `docs/`. - -Standalone hosted examples are also available from the same site: - -- `http://localhost:3000/examples/basic.html` -- `http://localhost:3000/examples/live-search.html` -- `http://localhost:3000/examples/multiple.html` - -Other docs commands: - -```sh -npm run docs:prepare # build plugin assets and copy them into docs/static/dist/ -npm run docs:build # build the static Docusaurus site into docs/.pages-build/ -npm run docs:pages # copy the built site into docs/ for branch-based Pages -npm run docs:serve # serve the built Docusaurus site locally -``` +For documentation site commands and local Docusaurus setup, see +[`docs/README.md`](docs/README.md). ## Bugs and feature requests diff --git a/bower.json b/bower.json index cb3faec..f85b0b0 100644 --- a/bower.json +++ b/bower.json @@ -2,11 +2,11 @@ "name": "crestapps-bootstrap-select", "description": "A dependency-free, vanilla JavaScript plugin that brings select elements into the 21st century with intuitive multiselection, searching, and much more. Supports Bootstrap 5+.", "main": [ - "./less/bootstrap-select.less", + "./sass/bootstrap-select.scss", "./dist/css/bootstrap-select.css", "./dist/js/bootstrap-select.js" ], - "homepage": "https://github.com/CrestApps/crestapps-bootstrap-select", + "homepage": "https://github.com/CrestApps/bootstrap-select", "authors": [ { "name": "CrestApps", @@ -27,7 +27,7 @@ ], "repository": { "type": "git", - "url": "git://github.com/CrestApps/crestapps-bootstrap-select.git" + "url": "git://github.com/CrestApps/bootstrap-select.git" }, "keywords": [ "javascript", @@ -47,11 +47,11 @@ ".eslintignore", ".gitignore", "CONTRIBUTING.md", - "Gruntfile.js", "composer.json", ".github", "docs", "js", + "less", "!dist/js", "nuget", "tests" diff --git a/composer.json b/composer.json index b411e1f..7518f8b 100644 --- a/composer.json +++ b/composer.json @@ -11,7 +11,7 @@ "select", "replacement" ], - "homepage": "https://github.com/CrestApps/crestapps-bootstrap-select", + "homepage": "https://github.com/CrestApps/bootstrap-select", "authors": [ { "name": "CrestApps", diff --git a/docs/404.html b/docs/404.html index 7d9cdb0..16215dc 100644 --- a/docs/404.html +++ b/docs/404.html @@ -9,13 +9,13 @@ - - + + -

Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

+
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

\ No newline at end of file diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..45701c3 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,62 @@ +# Documentation site development + +This repository ships the public docs site at +[bootstrap-select.crestapps.com](https://bootstrap-select.crestapps.com) using +**Docusaurus 3.10**. + +## Requirements + +- Node.js 20.19 or newer + +## Build the package first + +Most docs workflows depend on the generated plugin assets being available under +`docs/static/dist/`. + +```sh +npm install +npm run build +``` + +## Run the docs site locally + +The easiest local workflow is: + +```sh +npm install +npm run docs:start +``` + +`docs:start`: + +1. builds the plugin into `dist/` +2. copies the generated assets into `docs/static/dist/` +3. starts the Docusaurus dev server + +Open `http://localhost:3000/` after startup. The examples are available from +the docs UI and directly at: + +- `http://localhost:3000/examples/basic.html` +- `http://localhost:3000/examples/live-search.html` +- `http://localhost:3000/examples/multiple.html` + +## Other documentation commands + +```sh +npm run docs:prepare # build plugin assets and copy them into docs/static/dist/ +npm run docs:build # build the static Docusaurus site into .pages-build/ +npm run docs:serve # serve the built Docusaurus site locally +npm run docs:pages # copy the built site into docs/ for branch-based Pages +npm run docs:clear # clear Docusaurus caches +``` + +## Docs source layout + +- `docs/content/` - current Docusaurus source content +- `docs/src/` - Docusaurus theme components +- `docs/static/` - static assets copied directly into the site +- `docs/versioned_docs/` - versioned documentation snapshots + +GitHub Pages publishes from the repository's `docs/` output, so the deploy +workflow builds the site and syncs the generated static files back into this +directory. diff --git a/docs/assets/js/11b43341.c645ef13.js b/docs/assets/js/11b43341.c645ef13.js new file mode 100644 index 0000000..91c3c95 --- /dev/null +++ b/docs/assets/js/11b43341.c645ef13.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_crestapps_bootstrap_select=self.webpackChunk_crestapps_bootstrap_select||[]).push([[256],{3401(e){e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Latest","banner":null,"badge":true,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","href":"/docs/","label":"Getting Started","docId":"index","unlisted":false},{"type":"link","href":"/docs/examples","label":"Examples","docId":"examples","unlisted":false},{"type":"link","href":"/docs/options","label":"Options","docId":"options","unlisted":false},{"type":"link","href":"/docs/methods","label":"Methods","docId":"methods","unlisted":false},{"type":"link","href":"/docs/events","label":"Events","docId":"events","unlisted":false}]},"docs":{"events":{"id":"events","title":"Events","description":"bootstrap-select browser events such as changed.bs.select, show.bs.select, and refreshed.bs.select.","sidebar":"docs"},"examples":{"id":"examples","title":"Examples","description":"Live bootstrap-select examples hosted by the Docusaurus docs site.","sidebar":"docs"},"index":{"id":"index","title":"Getting Started","description":"Install and use the CrestApps bootstrap-select fork with Bootstrap 5+.","sidebar":"docs"},"methods":{"id":"methods","title":"Methods","description":"bootstrap-select instance and static methods.","sidebar":"docs"},"options":{"id":"options","title":"Options","description":"bootstrap-select options, events, and sanitizer settings.","sidebar":"docs"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/11b43341.e445e340.js b/docs/assets/js/11b43341.e445e340.js deleted file mode 100644 index 574439c..0000000 --- a/docs/assets/js/11b43341.e445e340.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_crestapps_bootstrap_select=self.webpackChunk_crestapps_bootstrap_select||[]).push([[256],{3401(e){e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Latest","banner":null,"badge":true,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","href":"/docs/","label":"Getting Started","docId":"index","unlisted":false},{"type":"link","href":"/docs/examples","label":"Examples","docId":"examples","unlisted":false},{"type":"link","href":"/docs/options","label":"Options","docId":"options","unlisted":false},{"type":"link","href":"/docs/methods","label":"Methods","docId":"methods","unlisted":false}]},"docs":{"examples":{"id":"examples","title":"Examples","description":"Live bootstrap-select examples hosted by the Docusaurus docs site.","sidebar":"docs"},"index":{"id":"index","title":"Getting Started","description":"Install and use the CrestApps bootstrap-select fork with Bootstrap 5+.","sidebar":"docs"},"methods":{"id":"methods","title":"Methods","description":"bootstrap-select instance and static methods.","sidebar":"docs"},"options":{"id":"options","title":"Options","description":"bootstrap-select options, events, and sanitizer settings.","sidebar":"docs"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/20e3dd10.265d8c2f.js b/docs/assets/js/20e3dd10.70047a2f.js similarity index 51% rename from docs/assets/js/20e3dd10.265d8c2f.js rename to docs/assets/js/20e3dd10.70047a2f.js index f231cd1..f3bf58e 100644 --- a/docs/assets/js/20e3dd10.265d8c2f.js +++ b/docs/assets/js/20e3dd10.70047a2f.js @@ -1,4 +1,4 @@ -"use strict";(self.webpackChunk_crestapps_bootstrap_select=self.webpackChunk_crestapps_bootstrap_select||[]).push([[674],{7810(e,t,o){o.r(t),o.d(t,{assets:()=>p,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"examples","title":"Examples","description":"Live bootstrap-select examples hosted by the Docusaurus docs site.","source":"@site/content/examples.mdx","sourceDirName":".","slug":"/examples","permalink":"/docs/examples","draft":false,"unlisted":false,"editUrl":"https://github.com/CrestApps/crestapps-bootstrap-select/tree/main/docs/content/examples.mdx","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2,"title":"Examples","description":"Live bootstrap-select examples hosted by the Docusaurus docs site."},"sidebar":"docs","previous":{"title":"Getting Started","permalink":"/docs/"},"next":{"title":"Options","permalink":"/docs/options"}}');var s=o(4848),i=o(8453),l=o(5194);const a={sidebar_position:2,title:"Examples",description:"Live bootstrap-select examples hosted by the Docusaurus docs site."},c="Basic examples",p={},d=[{value:"Standard select boxes",id:"standard-select-boxes",level:2},{value:"Select boxes with optgroups",id:"select-boxes-with-optgroups",level:2},{value:"Multiple select boxes",id:"multiple-select-boxes",level:2},{value:"Live search",id:"live-search",level:2},{value:"Key words",id:"key-words",level:2},{value:"Tags-style live search with open options",id:"tags-style-live-search-with-open-options",level:2},{value:"List-style menu",id:"list-style-menu",level:2},{value:"Floating labels with visible tags",id:"floating-labels-with-visible-tags",level:2},{value:"Placeholder",id:"placeholder",level:2},{value:"Selected text",id:"selected-text",level:2},{value:"Selected text format",id:"selected-text-format",level:2},{value:"Button classes",id:"button-classes",level:2},{value:"Checkmark on selected option",id:"checkmark-on-selected-option",level:2},{value:"Menu arrow",id:"menu-arrow",level:2},{value:"Style individual options",id:"style-individual-options",level:2},{value:"Width",id:"width",level:2},{value:"Font Awesome icons",id:"font-awesome-icons",level:2},{value:"Custom content",id:"custom-content",level:2},{value:"Subtext",id:"subtext",level:2},{value:"Menu size",id:"menu-size",level:2},{value:"Select/deselect all options",id:"selectdeselect-all-options",level:2},{value:"Divider",id:"divider",level:2},{value:"Menu header",id:"menu-header",level:2},{value:"Dropup menu",id:"dropup-menu",level:2},{value:"Disabled select box",id:"disabled-select-box",level:2},{value:"Disabled options",id:"disabled-options",level:2},{value:"Disabled option groups",id:"disabled-option-groups",level:2}];function r(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"basic-examples",children:"Basic examples"})}),"\n",(0,s.jsx)(t.admonition,{title:"CrestApps fork",type:"info",children:(0,s.jsxs)(t.p,{children:["The examples use the vanilla JavaScript / Bootstrap 5+ API: ",(0,s.jsx)(t.code,{children:"new Selectpicker(el)"})," or the ",(0,s.jsx)(t.code,{children:"selectpicker"})," class, which auto-initializes. jQuery is not required."]})}),"\n",(0,s.jsxs)(t.p,{children:["The main examples now live directly on this docs page so they inherit the docs theme, including light and dark mode. The standalone HTML files are still kept under ",(0,s.jsx)(t.code,{children:"docs/static/examples/"})," for quick smoke-testing outside Docusaurus."]}),"\n",(0,s.jsx)(t.h2,{id:"standard-select-boxes",children:"Standard select boxes"}),"\n",(0,s.jsx)(l.A,{html:String.raw`
+"use strict";(self.webpackChunk_crestapps_bootstrap_select=self.webpackChunk_crestapps_bootstrap_select||[]).push([[674],{7810(e,t,o){o.r(t),o.d(t,{assets:()=>p,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>n,toc:()=>r});const n=JSON.parse('{"id":"examples","title":"Examples","description":"Live bootstrap-select examples hosted by the Docusaurus docs site.","source":"@site/content/examples.mdx","sourceDirName":".","slug":"/examples","permalink":"/docs/examples","draft":false,"unlisted":false,"editUrl":"https://github.com/CrestApps/bootstrap-select/tree/main/docs/content/examples.mdx","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2,"title":"Examples","description":"Live bootstrap-select examples hosted by the Docusaurus docs site."},"sidebar":"docs","previous":{"title":"Getting Started","permalink":"/docs/"},"next":{"title":"Options","permalink":"/docs/options"}}');var i=o(4848),s=o(8453),l=o(5194);const a={sidebar_position:2,title:"Examples",description:"Live bootstrap-select examples hosted by the Docusaurus docs site."},c="Basic examples",p={},r=[{value:"Browse by topic",id:"browse-by-topic",level:2},{value:"Core selection patterns",id:"core-selection-patterns",level:2},{value:"Standard select boxes",id:"standard-select-boxes",level:3},{value:"Single select with checkmark indicator",id:"single-select-with-checkmark-indicator",level:3},{value:"Single select with radio indicators",id:"single-select-with-radio-indicators",level:3},{value:"Select boxes with optgroups",id:"select-boxes-with-optgroups",level:3},{value:"Multiple select boxes",id:"multiple-select-boxes",level:3},{value:"Multiple select with checkbox indicators",id:"multiple-select-with-checkbox-indicators",level:3},{value:"Search and multi-select workflows",id:"search-and-multi-select-workflows",level:2},{value:"Live search",id:"live-search",level:3},{value:"Key words",id:"key-words",level:3},{value:"Tags-style live search with open options",id:"tags-style-live-search-with-open-options",level:3},{value:"List-style menu",id:"list-style-menu",level:3},{value:"Floating labels with visible tags",id:"floating-labels-with-visible-tags",level:3},{value:"Limit the number of selections",id:"limit-the-number-of-selections",level:3},{value:"Selection text and summaries",id:"selection-text-and-summaries",level:2},{value:"Placeholder",id:"placeholder",level:3},{value:"Selected text",id:"selected-text",level:3},{value:"Selected text format",id:"selected-text-format",level:3},{value:"Styling and layout",id:"styling-and-layout",level:2},{value:"Button classes",id:"button-classes",level:3},{value:"Menu arrow",id:"menu-arrow",level:3},{value:"Style individual options",id:"style-individual-options",level:3},{value:"Width",id:"width",level:3},{value:"Rich option content",id:"rich-option-content",level:2},{value:"Font Awesome icons",id:"font-awesome-icons",level:3},{value:"Custom content",id:"custom-content",level:3},{value:"Subtext",id:"subtext",level:3},{value:"Menu behavior",id:"menu-behavior",level:2},{value:"Menu size",id:"menu-size",level:3},{value:"Select/deselect all options",id:"selectdeselect-all-options",level:3},{value:"Divider",id:"divider",level:3},{value:"Menu header",id:"menu-header",level:3},{value:"Dropup menu",id:"dropup-menu",level:3},{value:"Disabled states",id:"disabled-states",level:2},{value:"Disabled select box",id:"disabled-select-box",level:3},{value:"Disabled options",id:"disabled-options",level:3},{value:"Disabled option groups",id:"disabled-option-groups",level:3}];function d(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"basic-examples",children:"Basic examples"})}),"\n",(0,i.jsx)(t.admonition,{title:"CrestApps fork",type:"info",children:(0,i.jsxs)(t.p,{children:["The examples use the vanilla JavaScript / Bootstrap 5+ API: ",(0,i.jsx)(t.code,{children:"new Selectpicker(el)"})," or the ",(0,i.jsx)(t.code,{children:"selectpicker"})," class, which auto-initializes. jQuery is not required."]})}),"\n",(0,i.jsxs)(t.p,{children:["The main examples now live directly on this docs page so they inherit the docs theme, including light and dark mode. The standalone HTML files are still kept under ",(0,i.jsx)(t.code,{children:"docs/static/examples/"})," for quick smoke-testing outside Docusaurus."]}),"\n",(0,i.jsx)(t.h2,{id:"browse-by-topic",children:"Browse by topic"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"#core-selection-patterns",children:"Core selection patterns"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"#search-and-multi-select-workflows",children:"Search and multi-select workflows"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"#selection-text-and-summaries",children:"Selection text and summaries"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"#styling-and-layout",children:"Styling and layout"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"#rich-option-content",children:"Rich option content"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"#menu-behavior",children:"Menu behavior"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"#disabled-states",children:"Disabled states"})}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"core-selection-patterns",children:"Core selection patterns"}),"\n",(0,i.jsx)(t.h3,{id:"standard-select-boxes",children:"Standard select boxes"}),"\n",(0,i.jsx)(l.A,{html:String.raw`

Native select:

-
`}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)("span",{id:"optgroup"}),"\n",(0,s.jsx)(t.h2,{id:"select-boxes-with-optgroups",children:"Select boxes with optgroups"}),"\n",(0,s.jsx)(l.A,{html:String.raw` \n \n \n \n\n'})}),"\n",(0,i.jsx)(t.h3,{id:"single-select-with-checkmark-indicator",children:"Single select with checkmark indicator"}),"\n",(0,i.jsxs)(t.p,{children:["Use the ",(0,i.jsx)(t.code,{children:"show-tick"})," class when you want the default checkmark indicator on a single-select menu:"]}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(t.h3,{id:"single-select-with-radio-indicators",children:"Single select with radio indicators"}),"\n",(0,i.jsxs)(t.p,{children:["If you set ",(0,i.jsx)(t.code,{children:"selectionIndicator"})," to ",(0,i.jsx)(t.code,{children:"checkbox"})," on a single select, bootstrap-select renders radio-style indicators automatically:"]}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)("span",{id:"optgroup"}),"\n",(0,i.jsx)(t.h3,{id:"select-boxes-with-optgroups",children:"Select boxes with optgroups"}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h2,{id:"multiple-select-boxes",children:"Multiple select boxes"}),"\n",(0,s.jsx)(l.A,{html:String.raw` `}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(t.h3,{id:"multiple-select-boxes",children:"Multiple select boxes"}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h2,{id:"live-search",children:"Live search"}),"\n",(0,s.jsxs)(t.p,{children:["You can add a search input by passing ",(0,s.jsx)(t.code,{children:'data-live-search="true"'})," attribute:"]}),"\n",(0,s.jsx)(l.A,{html:String.raw` `}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(t.h3,{id:"multiple-select-with-checkbox-indicators",children:"Multiple select with checkbox indicators"}),"\n",(0,i.jsxs)(t.p,{children:["Use ",(0,i.jsx)(t.code,{children:'data-selection-indicator="checkbox"'})," on multiselects when you want a checkbox column instead of the floating checkmark:"]}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(t.h2,{id:"search-and-multi-select-workflows",children:"Search and multi-select workflows"}),"\n",(0,i.jsx)(t.h3,{id:"live-search",children:"Live search"}),"\n",(0,i.jsxs)(t.p,{children:["You can add a search input by passing ",(0,i.jsx)(t.code,{children:'data-live-search="true"'})," attribute:"]}),"\n",(0,i.jsx)(l.A,{html:String.raw` `,className:"no-code"}),"\n",(0,s.jsx)(t.h2,{id:"key-words",children:"Key words"}),"\n",(0,s.jsxs)(t.p,{children:["Add key words to options to improve their searchability using ",(0,s.jsx)(t.code,{children:"data-tokens"}),"."]}),"\n",(0,s.jsx)(l.A,{html:String.raw` `,className:"no-code"}),"\n",(0,i.jsx)(t.h3,{id:"key-words",children:"Key words"}),"\n",(0,i.jsxs)(t.p,{children:["Add key words to options to improve their searchability using ",(0,i.jsx)(t.code,{children:"data-tokens"}),"."]}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h2,{id:"tags-style-live-search-with-open-options",children:"Tags-style live search with open options"}),"\n",(0,s.jsxs)(t.p,{children:["Use ",(0,s.jsx)(t.code,{children:"showSelectedTags"})," to keep selections visible as removable tags above the search box, while the button switches to a compact summary instead of repeating the same values."]}),"\n",(0,s.jsx)(l.A,{html:String.raw` \n \n \n \n\n'})}),"\n",(0,i.jsx)(t.h3,{id:"tags-style-live-search-with-open-options",children:"Tags-style live search with open options"}),"\n",(0,i.jsxs)(t.p,{children:["Use ",(0,i.jsx)(t.code,{children:"showSelectedTags"})," to keep selections visible as removable tags above the search box, while the button switches to a compact summary instead of repeating the same values."]}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n \n \n \n \n \n \n\n'})}),"\n",(0,s.jsxs)(t.p,{children:["If you prefer a Bootstrap-style checkbox instead of the floating checkmark, set ",(0,s.jsx)(t.code,{children:"selectionIndicator"})," to ",(0,s.jsx)(t.code,{children:"checkbox"}),":"]}),"\n",(0,s.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n \n \n \n \n\n'})}),"\n",(0,s.jsx)(t.h2,{id:"list-style-menu",children:"List-style menu"}),"\n",(0,s.jsxs)(t.p,{children:["Set ",(0,s.jsx)(t.code,{children:"selectedItemsStyle"})," to ",(0,s.jsx)(t.code,{children:"list"})," to render the removable selections as a stacked Bootstrap list group:"]}),"\n",(0,s.jsx)(l.A,{html:String.raw` \n'})}),"\n",(0,i.jsx)(t.h3,{id:"list-style-menu",children:"List-style menu"}),"\n",(0,i.jsxs)(t.p,{children:["Set ",(0,i.jsx)(t.code,{children:"selectedItemsStyle"})," to ",(0,i.jsx)(t.code,{children:"list"})," to render the removable selections as a stacked Bootstrap list group:"]}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n \n \n \n\n'})}),"\n",(0,s.jsx)(t.h2,{id:"floating-labels-with-visible-tags",children:"Floating labels with visible tags"}),"\n",(0,s.jsxs)(t.p,{children:["When a tags-style picker is placed inside a Bootstrap 5 ",(0,s.jsx)(t.code,{children:"form-floating"})," wrapper, the selected tags stay visible inside the control after the menu closes, with balanced top and bottom spacing around the tags."]}),"\n",(0,s.jsx)(l.A,{html:String.raw`
+`}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n \n \n \n\n'})}),"\n",(0,i.jsx)(t.h3,{id:"floating-labels-with-visible-tags",children:"Floating labels with visible tags"}),"\n",(0,i.jsxs)(t.p,{children:["When a tags-style picker is placed inside a Bootstrap 5 ",(0,i.jsx)(t.code,{children:"form-floating"})," wrapper, the selected tags stay visible inside the control after the menu closes, with balanced top and bottom spacing around the tags."]}),"\n",(0,i.jsx)(l.A,{html:String.raw`
-
`}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'
\n \n \n \n \n \n \n
\n'})}),"\n",(0,s.jsxs)(t.p,{children:["For remote-backed pickers, initialize with JavaScript and provide ",(0,s.jsx)(t.code,{children:"source.create(callback, searchValue)"})," to save the new item before selecting it:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"new Selectpicker('#tag-editor', {\n liveSearch: true,\n showSelectedTags: true,\n openOptions: true,\n source: {\n data: function (callback) {\n callback(existingTags);\n },\n search: function (callback, page, searchValue) {\n callback(filterTags(searchValue));\n },\n create: function (callback, searchValue) {\n saveTag(searchValue).then(function (tag) {\n callback({\n text: tag.displayText,\n value: tag.id\n });\n });\n }\n }\n});\n"})}),"\n",(0,s.jsx)(t.h1,{id:"limit-the-number-of-selections",children:"Limit the number of selections"}),"\n",(0,s.jsxs)(t.p,{children:["Limit the number of options that can be selected via the ",(0,s.jsx)(t.code,{children:"data-max-options"})," attribute. It also works for option groups. Customize the message displayed when the limit is reached with ",(0,s.jsx)(t.code,{children:"maxOptionsText"}),"."]}),"\n",(0,s.jsx)(l.A,{html:String.raw`
+
`}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'
\n \n \n \n \n \n \n
\n'})}),"\n",(0,i.jsxs)(t.p,{children:["For remote-backed pickers, initialize with JavaScript and provide ",(0,i.jsx)(t.code,{children:"source.create(callback, searchValue)"})," to save the new item before selecting it:"]}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-js",children:"new Selectpicker('#tag-editor', {\n liveSearch: true,\n showSelectedTags: true,\n openOptions: true,\n source: {\n data: function (callback) {\n callback(existingTags);\n },\n search: function (callback, page, searchValue) {\n callback(filterTags(searchValue));\n },\n create: function (callback, searchValue) {\n saveTag(searchValue).then(function (tag) {\n callback({\n text: tag.displayText,\n value: tag.id\n });\n });\n }\n }\n});\n"})}),"\n",(0,i.jsx)(t.h3,{id:"limit-the-number-of-selections",children:"Limit the number of selections"}),"\n",(0,i.jsxs)(t.p,{children:["Limit the number of options that can be selected via the ",(0,i.jsx)(t.code,{children:"data-max-options"})," attribute. It also works for option groups. Customize the message displayed when the limit is reached with ",(0,i.jsx)(t.code,{children:"maxOptionsText"}),"."]}),"\n",(0,i.jsx)(l.A,{html:String.raw`
-
`}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'
\n
\n \n \n
\n\n
\n \n \n
\n
\n'})}),"\n",(0,s.jsx)(t.h1,{id:"custom-button-text",children:"Custom button text"}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h2,{id:"placeholder",children:"Placeholder"}),"\n",(0,s.jsx)("p",{id:"titleMultiples"}),"\n",(0,s.jsxs)(t.p,{children:["Use the ",(0,s.jsx)(t.code,{children:"placeholder"})," attribute to set the default placeholder text when nothing is selected. This works for both multiple and standard select boxes:"]}),"\n",(0,s.jsx)(l.A,{html:String.raw`
+
`}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'
\n
\n \n \n
\n\n
\n \n \n
\n
\n'})}),"\n",(0,i.jsx)(t.h2,{id:"selection-text-and-summaries",children:"Selection text and summaries"}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"placeholder",children:"Placeholder"}),"\n",(0,i.jsx)("p",{id:"titleMultiples"}),"\n",(0,i.jsxs)(t.p,{children:["Use the ",(0,i.jsx)(t.code,{children:"placeholder"})," attribute to set the default placeholder text when nothing is selected. This works for both multiple and standard select boxes:"]}),"\n",(0,i.jsx)(l.A,{html:String.raw`
-
`}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsxs)(t.p,{children:["Legacy bootstrap-select markup that uses the select element's ",(0,s.jsx)(t.code,{children:"title"})," attribute for placeholder text is also supported on single selects:"]}),"\n",(0,s.jsx)(l.A,{html:String.raw` \n \n \n \n\n'})}),"\n",(0,i.jsxs)(t.p,{children:["Legacy bootstrap-select markup that uses the select element's ",(0,i.jsx)(t.code,{children:"title"})," attribute for placeholder text is also supported on single selects:"]}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h2,{id:"selected-text",children:"Selected text"}),"\n",(0,s.jsx)("p",{id:"title"}),"\n",(0,s.jsxs)(t.p,{children:["Set the ",(0,s.jsx)(t.code,{children:"title"})," attribute on individual options to display alternative text when the option is selected:"]}),"\n",(0,s.jsx)(l.A,{html:String.raw` `}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(t.h3,{id:"selected-text",children:"Selected text"}),"\n",(0,i.jsx)("p",{id:"title"}),"\n",(0,i.jsxs)(t.p,{children:["Set the ",(0,i.jsx)(t.code,{children:"title"})," attribute on individual options to display alternative text when the option is selected:"]}),"\n",(0,i.jsx)(l.A,{html:String.raw` `,className:"no-code"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h2,{id:"selected-text-format",children:"Selected text format"}),"\n",(0,s.jsx)("p",{id:"titleMultiplesFormat"}),"\n",(0,s.jsxs)(t.p,{children:["Specify how the selection is displayed with the ",(0,s.jsx)(t.code,{children:"data-selected-text-format"})," attribute on a multiple select."]}),"\n",(0,s.jsx)(t.p,{children:"The supported values are:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"values"}),": A comma delimited list of selected values (default)"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"count"}),": If one item is selected, then the option value is shown. If more than one is selected then the number of selected items is displayed, e.g. ",(0,s.jsx)(t.code,{children:"2 of 6 selected"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"count > x"}),": Where ",(0,s.jsx)(t.code,{children:"x"})," is the number of items selected when the display format changes from ",(0,s.jsx)(t.code,{children:"values"})," to ",(0,s.jsx)(t.code,{children:"count"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"static"}),": Always show the placeholder, regardless of selection"]}),"\n"]}),"\n",(0,s.jsx)(l.A,{html:String.raw` `,className:"no-code"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(t.h3,{id:"selected-text-format",children:"Selected text format"}),"\n",(0,i.jsx)("p",{id:"titleMultiplesFormat"}),"\n",(0,i.jsxs)(t.p,{children:["Specify how the selection is displayed with the ",(0,i.jsx)(t.code,{children:"data-selected-text-format"})," attribute on a multiple select."]}),"\n",(0,i.jsx)(t.p,{children:"The supported values are:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"values"}),": A comma delimited list of selected values (default)"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"count"}),": If one item is selected, then the option value is shown. If more than one is selected then the number of selected items is displayed, e.g. ",(0,i.jsx)(t.code,{children:"2 of 6 selected"})]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"count > x"}),": Where ",(0,i.jsx)(t.code,{children:"x"})," is the number of items selected when the display format changes from ",(0,i.jsx)(t.code,{children:"values"})," to ",(0,i.jsx)(t.code,{children:"count"})]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"static"}),": Always show the placeholder, regardless of selection"]}),"\n"]}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(l.A,{html:String.raw` `}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h1,{id:"styling",children:"Styling"}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h2,{id:"button-classes",children:"Button classes"}),"\n",(0,s.jsxs)(t.p,{children:["You can set the button classes via the ",(0,s.jsx)(t.code,{children:"data-style"})," attribute:"]}),"\n",(0,s.jsx)(l.A,{html:String.raw`
+`}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(t.h2,{id:"styling-and-layout",children:"Styling and layout"}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"button-classes",children:"Button classes"}),"\n",(0,i.jsxs)(t.p,{children:["You can set the button classes via the ",(0,i.jsx)(t.code,{children:"data-style"})," attribute:"]}),"\n",(0,i.jsx)(l.A,{html:String.raw`
-
`}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n\n\n\n\n\n\n\n\n\n\n'})}),"\n",(0,s.jsx)(t.h2,{id:"checkmark-on-selected-option",children:"Checkmark on selected option"}),"\n",(0,s.jsxs)(t.p,{children:["You can also show the checkmark icon on standard select boxes with the ",(0,s.jsx)(t.code,{children:"show-tick"})," class:"]}),"\n",(0,s.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h2,{id:"menu-arrow",children:"Menu arrow"}),"\n",(0,s.jsxs)(t.p,{children:["The Bootstrap menu arrow can be added with the ",(0,s.jsx)(t.code,{children:"show-menu-arrow"})," class:"]}),"\n",(0,s.jsx)(l.A,{html:String.raw` \n ...\n\n\n\n\n\n\n\n\n\n\n\n'})}),"\n",(0,i.jsx)(t.h3,{id:"menu-arrow",children:"Menu arrow"}),"\n",(0,i.jsxs)(t.p,{children:["The Bootstrap menu arrow can be added with the ",(0,i.jsx)(t.code,{children:"show-menu-arrow"})," class:"]}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h2,{id:"style-individual-options",children:"Style individual options"}),"\n",(0,s.jsx)("p",{id:"classes"}),"\n",(0,s.jsx)(t.p,{children:"Classes and styles added to options are transferred to the select box:"}),"\n",(0,s.jsx)(l.A,{html:String.raw` `}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(t.h3,{id:"style-individual-options",children:"Style individual options"}),"\n",(0,i.jsx)("p",{id:"classes"}),"\n",(0,i.jsx)(t.p,{children:"Classes and styles added to options are transferred to the select box:"}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-css",children:".special {\n font-weight: bold !important;\n color: #fff !important;\n background: #bc0000 !important;\n text-transform: uppercase;\n}\n"})}),"\n",(0,s.jsx)(t.h2,{id:"width",children:"Width"}),"\n",(0,s.jsx)("p",{id:"grid"}),"\n",(0,s.jsx)(t.p,{children:"Wrap selects in grid columns, or any custom parent element, to easily enforce desired widths."}),"\n",(0,s.jsx)(l.A,{html:String.raw`
+`}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-css",children:".special {\n font-weight: bold !important;\n color: #fff !important;\n background: #bc0000 !important;\n text-transform: uppercase;\n}\n"})}),"\n",(0,i.jsx)(t.h3,{id:"width",children:"Width"}),"\n",(0,i.jsx)("p",{id:"grid"}),"\n",(0,i.jsx)(t.p,{children:"Wrap selects in grid columns, or any custom parent element, to easily enforce desired widths."}),"\n",(0,i.jsx)(l.A,{html:String.raw`
-
`}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'
\n
\n
\n \n
\n
\n
\n'})}),"\n",(0,s.jsx)("div",{id:"data-width"}),"\n",(0,s.jsxs)(t.p,{children:["Alternatively, use the ",(0,s.jsx)(t.code,{children:"data-width"})," attribute to set the width of the select. Set ",(0,s.jsx)(t.code,{children:"data-width"})," to ",(0,s.jsx)(t.code,{children:"'auto'"})," to automatically adjust the width of the select to its widest option. ",(0,s.jsx)(t.code,{children:"'fit'"})," automatically adjusts the width of the select to the width of its currently selected option. An exact value can also be specified, e.g., ",(0,s.jsx)(t.code,{children:"300px"})," or ",(0,s.jsx)(t.code,{children:"50%"}),"."]}),"\n",(0,s.jsx)(l.A,{html:String.raw`
+
`}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'
\n
\n
\n \n
\n
\n
\n'})}),"\n",(0,i.jsx)("div",{id:"data-width"}),"\n",(0,i.jsxs)(t.p,{children:["Alternatively, use the ",(0,i.jsx)(t.code,{children:"data-width"})," attribute to set the width of the select. Set ",(0,i.jsx)(t.code,{children:"data-width"})," to ",(0,i.jsx)(t.code,{children:"'auto'"})," to automatically adjust the width of the select to its widest option. ",(0,i.jsx)(t.code,{children:"'fit'"})," automatically adjusts the width of the select to the width of its currently selected option. An exact value can also be specified, e.g., ",(0,i.jsx)(t.code,{children:"300px"})," or ",(0,i.jsx)(t.code,{children:"50%"}),"."]}),"\n",(0,i.jsx)(l.A,{html:String.raw`
@@ -321,18 +318,18 @@
-
`}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n\n\n\n'})}),"\n",(0,s.jsx)(t.h1,{id:"customize-options",children:"Customize options"}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h2,{id:"font-awesome-icons",children:"Font Awesome icons"}),"\n",(0,s.jsxs)(t.p,{children:["This example uses Font Awesome. Add an icon to an option or optgroup with the ",(0,s.jsx)(t.code,{children:"data-icon"})," attribute:"]}),"\n",(0,s.jsx)(t.admonition,{title:"Bootstrap 5 icons",type:"info",children:(0,s.jsxs)(t.p,{children:["Bootstrap 5 does not include an icon font. To use Font Awesome or another icon library, set ",(0,s.jsx)(t.code,{children:"iconBase"})," and ",(0,s.jsx)(t.code,{children:"tickIcon"})," to match that library."]})}),"\n",(0,s.jsx)(t.p,{children:"The selected option renders its icon in the button, and the menu shows the icons for the remaining options as well."}),"\n",(0,s.jsx)(l.A,{html:String.raw` \n ...\n\n\n\n\n'})}),"\n",(0,i.jsx)(t.h2,{id:"rich-option-content",children:"Rich option content"}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"font-awesome-icons",children:"Font Awesome icons"}),"\n",(0,i.jsxs)(t.p,{children:["This example uses Font Awesome. Add an icon to an option or optgroup with the ",(0,i.jsx)(t.code,{children:"data-icon"})," attribute:"]}),"\n",(0,i.jsx)(t.admonition,{title:"Bootstrap 5 icons",type:"info",children:(0,i.jsxs)(t.p,{children:["Bootstrap 5 does not include an icon font. To use Font Awesome or another icon library, set ",(0,i.jsx)(t.code,{children:"iconBase"})," and ",(0,i.jsx)(t.code,{children:"tickIcon"})," to match that library."]})}),"\n",(0,i.jsx)(t.p,{children:"The selected option renders its icon in the button, and the menu shows the icons for the remaining options as well."}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h2,{id:"custom-content",children:"Custom content"}),"\n",(0,s.jsxs)(t.p,{children:["Insert custom HTML into the option with the ",(0,s.jsx)(t.code,{children:"data-content"})," attribute:"]}),"\n",(0,s.jsx)(t.admonition,{title:"Custom content is sanitized",type:"warning",children:(0,s.jsxs)(t.p,{children:["This feature inserts HTML into the DOM. By default, it is sanitized using our built-in ",(0,s.jsx)(t.a,{href:"../options#sanitizer",children:"sanitizer"}),"."]})}),"\n",(0,s.jsx)(l.A,{html:String.raw` `}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(t.h3,{id:"custom-content",children:"Custom content"}),"\n",(0,i.jsxs)(t.p,{children:["Insert custom HTML into the option with the ",(0,i.jsx)(t.code,{children:"data-content"})," attribute:"]}),"\n",(0,i.jsx)(t.admonition,{title:"Custom content is sanitized",type:"warning",children:(0,i.jsxs)(t.p,{children:["This feature inserts HTML into the DOM. By default, it is sanitized using our built-in ",(0,i.jsx)(t.a,{href:"../options#sanitizer",children:"sanitizer"}),"."]})}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h2,{id:"subtext",children:"Subtext"}),"\n",(0,s.jsxs)(t.p,{children:["Add subtext to an option or optgroup with the ",(0,s.jsx)(t.code,{children:"data-subtext"})," attribute:"]}),"\n",(0,s.jsx)(l.A,{html:String.raw`
+`}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(t.h3,{id:"subtext",children:"Subtext"}),"\n",(0,i.jsxs)(t.p,{children:["Add subtext to an option or optgroup with the ",(0,i.jsx)(t.code,{children:"data-subtext"})," attribute:"]}),"\n",(0,i.jsx)(l.A,{html:String.raw`
With showSubtext set to true. -
`}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h1,{id:"customize-menu",children:"Customize menu"}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h2,{id:"menu-size",children:"Menu size"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"size"})," option is set to ",(0,s.jsx)(t.code,{children:"'auto'"})," by default. When ",(0,s.jsx)(t.code,{children:"size"})," is set to ",(0,s.jsx)(t.code,{children:"'auto'"}),", the menu always opens up to show as many items as the window will allow without being cut off. Set ",(0,s.jsx)(t.code,{children:"size"})," to ",(0,s.jsx)(t.code,{children:"false"})," to always show all items. The size of the menu can also be specifed using the ",(0,s.jsx)(t.code,{children:"data-size"})," attribute."]}),"\n",(0,s.jsx)(l.A,{html:String.raw` \n \n\n'})}),"\n",(0,i.jsx)(t.h2,{id:"menu-behavior",children:"Menu behavior"}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"menu-size",children:"Menu size"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"size"})," option is set to ",(0,i.jsx)(t.code,{children:"'auto'"})," by default. When ",(0,i.jsx)(t.code,{children:"size"})," is set to ",(0,i.jsx)(t.code,{children:"'auto'"}),", the menu always opens up to show as many items as the window will allow without being cut off. Set ",(0,i.jsx)(t.code,{children:"size"})," to ",(0,i.jsx)(t.code,{children:"false"})," to always show all items. The size of the menu can also be specifed using the ",(0,i.jsx)(t.code,{children:"data-size"})," attribute."]}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)("p",{id:"data-size"}),"\n",(0,s.jsxs)(t.p,{children:["Specify a number for ",(0,s.jsx)(t.code,{children:"data-size"})," to choose the maximum number of items to show in the menu."]}),"\n",(0,s.jsx)(l.A,{html:String.raw` `}),"\n",(0,i.jsx)("p",{id:"data-size"}),"\n",(0,i.jsxs)(t.p,{children:["Specify a number for ",(0,i.jsx)(t.code,{children:"data-size"})," to choose the maximum number of items to show in the menu."]}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h2,{id:"selectdeselect-all-options",children:"Select/deselect all options"}),"\n",(0,s.jsxs)(t.p,{children:["Adds two buttons to the top of the menu - ",(0,s.jsx)(t.strong,{children:"Select All"})," & ",(0,s.jsx)(t.strong,{children:"Deselect All"})," with ",(0,s.jsx)(t.code,{children:'data-actions-box="true"'}),"."]}),"\n",(0,s.jsx)(l.A,{html:String.raw` `}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(t.h3,{id:"selectdeselect-all-options",children:"Select/deselect all options"}),"\n",(0,i.jsxs)(t.p,{children:["Adds two buttons to the top of the menu - ",(0,i.jsx)(t.strong,{children:"Select All"})," & ",(0,i.jsx)(t.strong,{children:"Deselect All"})," with ",(0,i.jsx)(t.code,{children:'data-actions-box="true"'}),"."]}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h2,{id:"divider",children:"Divider"}),"\n",(0,s.jsxs)(t.p,{children:["Add ",(0,s.jsx)(t.code,{children:'data-divider="true"'})," to an option to turn it into a divider."]}),"\n",(0,s.jsx)(l.A,{html:String.raw` `}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(t.h3,{id:"divider",children:"Divider"}),"\n",(0,i.jsxs)(t.p,{children:["Add ",(0,i.jsx)(t.code,{children:'data-divider="true"'})," to an option to turn it into a divider."]}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h2,{id:"menu-header",children:"Menu header"}),"\n",(0,s.jsxs)(t.p,{children:["Add a header to the dropdown menu, e.g. ",(0,s.jsx)(t.code,{children:"header: 'Select a condiment'"})," or ",(0,s.jsx)(t.code,{children:'data-header="Select a condiment"'})]}),"\n",(0,s.jsx)(l.A,{html:String.raw`
+`}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(t.h3,{id:"menu-header",children:"Menu header"}),"\n",(0,i.jsxs)(t.p,{children:["Add a header to the dropdown menu, e.g. ",(0,i.jsx)(t.code,{children:"header: 'Select a condiment'"})," or ",(0,i.jsx)(t.code,{children:'data-header="Select a condiment"'})]}),"\n",(0,i.jsx)(l.A,{html:String.raw`
-
`}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h2,{id:"dropup-menu",children:"Dropup menu"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"dropupAuto"})," is set to true by default, which automatically determines whether or not the menu should display above or below the select box. If ",(0,s.jsx)(t.code,{children:"dropupAuto"})," is set to false, manually make the select a dropup menu by adding the ",(0,s.jsx)(t.code,{children:".dropup"})," class to the select."]}),"\n",(0,s.jsx)(l.A,{html:String.raw` \n ...\n\n'})}),"\n",(0,i.jsx)(t.h3,{id:"dropup-menu",children:"Dropup menu"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"dropupAuto"})," is set to true by default, which automatically determines whether or not the menu should display above or below the select box. If ",(0,i.jsx)(t.code,{children:"dropupAuto"})," is set to false, manually make the select a dropup menu by adding the ",(0,i.jsx)(t.code,{children:".dropup"})," class to the select."]}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h1,{id:"disabled",children:"Disabled"}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h2,{id:"disabled-select-box",children:"Disabled select box"}),"\n",(0,s.jsx)(l.A,{html:String.raw` `}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(t.h2,{id:"disabled-states",children:"Disabled states"}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h3,{id:"disabled-select-box",children:"Disabled select box"}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h2,{id:"disabled-options",children:"Disabled options"}),"\n",(0,s.jsx)(l.A,{html:String.raw` `}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(t.h3,{id:"disabled-options",children:"Disabled options"}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,s.jsx)(t.h2,{id:"disabled-option-groups",children:"Disabled option groups"}),"\n",(0,s.jsx)(l.A,{html:String.raw` `}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})}),"\n",(0,i.jsx)(t.h3,{id:"disabled-option-groups",children:"Disabled option groups"}),"\n",(0,i.jsx)(l.A,{html:String.raw` `}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-html",children:'\n'})})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(r,{...e})}):r(e)}},5194(e,t,o){o.d(t,{A:()=>a});var n=o(6540),s=o(8478),i=o(4848);function l(e){let t=e.html,o=e.className,s=void 0===o?"":o,l=e.style;const a=(0,n.useRef)(null);return(0,n.useEffect)(function(){let e,t=!1,o=[];const n=[],s=[];function i(t){window.clearTimeout(e),e=window.setTimeout(c,t)}function l(e,t){window.addEventListener(e,t),s.push(function(){window.removeEventListener(e,t)})}function c(){!t&&a.current&&("undefined"!=typeof window&&window.bootstrap&&window.bootstrap.Dropdown&&window.Selectpicker?(o=Array.from(a.current.querySelectorAll("select.selectpicker")).map(function(e){return window.Selectpicker.getOrCreateInstance(e)}),window.requestAnimationFrame(function(){t||o.forEach(function(e){e&&"function"==typeof e.refresh&&e.refresh()})})):i(100))}return l("load",c),l("hashchange",function(){i(0),i(100)}),l("resize",function(){i(0)}),Array.from(document.querySelectorAll("script[src]")).forEach(function(e){/bootstrap(?:\.bundle)?(?:\.min)?\.js|bootstrap-select(?:\.min)?\.js/i.test(e.src)&&function(e){const t=function(){i(0)};e.addEventListener("load",t),n.push(function(){e.removeEventListener("load",t)})}(e)}),c(),function(){t=!0,window.clearTimeout(e),s.forEach(function(e){e()}),n.forEach(function(e){e()}),o.forEach(function(e){e&&"function"==typeof e.destroy&&e.destroy()}),o=[]}},[t]),(0,i.jsx)("div",{className:"bs-docs-example "+s,dangerouslySetInnerHTML:{__html:t},ref:a,style:l})}function a(e){return(0,i.jsx)(s.A,{fallback:(0,i.jsx)("div",{className:"bs-docs-example "+(e.className||""),style:e.style}),children:function(){return(0,i.jsx)(l,{...e})}})}},8478(e,t,o){o.d(t,{A:()=>i});o(6540);var n=o(2303),s=o(4848);function i(e){let t=e.children,o=e.fallback;return(0,n.A)()?(0,s.jsx)(s.Fragment,{children:null==t?void 0:t()}):null!=o?o:null}},8453(e,t,o){o.d(t,{R:()=>l,x:()=>a});var n=o(6540);const s={},i=n.createContext(s);function l(e){const t=n.useContext(i);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file +`}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-html",children:'\n'})})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},5194(e,t,o){o.d(t,{A:()=>a});var n=o(6540),i=o(8478),s=o(4848);function l(e){let t=e.html,o=e.className,i=void 0===o?"":o,l=e.style;const a=(0,n.useRef)(null);return(0,n.useEffect)(function(){let e,t=!1,o=[];const n=[],i=[];let s;function l(e){return!(!e||1!==e.nodeType||!("MARK"===e.tagName||"function"==typeof e.querySelector&&e.querySelector("mark")))}function c(t){window.clearTimeout(e),e=window.setTimeout(r,t)}function p(e,t){window.addEventListener(e,t),i.push(function(){window.removeEventListener(e,t)})}function r(){!t&&a.current&&("undefined"!=typeof window&&window.bootstrap&&window.bootstrap.Dropdown&&window.Selectpicker?(o=Array.from(a.current.querySelectorAll("select.selectpicker")).map(function(e){return window.Selectpicker.getOrCreateInstance(e)}),window.requestAnimationFrame(function(){t||o.forEach(function(e){e&&"function"==typeof e.refresh&&e.refresh()})})):c(100))}if(p("load",r),p("hashchange",function(){c(0),c(100)}),p("resize",function(){c(0)}),Array.from(document.querySelectorAll("script[src]")).forEach(function(e){/bootstrap(?:\.bundle)?(?:\.min)?\.js|bootstrap-select(?:\.min)?\.js/i.test(e.src)&&function(e){const t=function(){c(0)};e.addEventListener("load",t),n.push(function(){e.removeEventListener("load",t)})}(e)}),"undefined"!=typeof MutationObserver){const e=a.current&&a.current.closest("article");e&&(s=new MutationObserver(function(e){e.some(function(e){return Array.from(e.addedNodes||[]).some(l)||Array.from(e.removedNodes||[]).some(l)})&&c(150)}),s.observe(e,{childList:!0,subtree:!0}))}return r(),function(){t=!0,window.clearTimeout(e),s&&s.disconnect(),i.forEach(function(e){e()}),n.forEach(function(e){e()}),o.forEach(function(e){e&&"function"==typeof e.destroy&&e.destroy()}),o=[]}},[t]),(0,s.jsx)("div",{className:"bs-docs-example "+i,dangerouslySetInnerHTML:{__html:t},ref:a,style:l})}function a(e){return(0,s.jsx)(i.A,{fallback:(0,s.jsx)("div",{className:"bs-docs-example "+(e.className||""),style:e.style}),children:function(){return(0,s.jsx)(l,{...e})}})}},8478(e,t,o){o.d(t,{A:()=>s});o(6540);var n=o(2303),i=o(4848);function s(e){let t=e.children,o=e.fallback;return(0,n.A)()?(0,i.jsx)(i.Fragment,{children:null==t?void 0:t()}):null!=o?o:null}},8453(e,t,o){o.d(t,{R:()=>l,x:()=>a});var n=o(6540);const i={},s=n.createContext(i);function l(e){const t=n.useContext(s);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/32db8e2e.d0aca040.js b/docs/assets/js/32db8e2e.5d3fb493.js similarity index 64% rename from docs/assets/js/32db8e2e.d0aca040.js rename to docs/assets/js/32db8e2e.5d3fb493.js index e9c5f80..ba95c8b 100644 --- a/docs/assets/js/32db8e2e.d0aca040.js +++ b/docs/assets/js/32db8e2e.5d3fb493.js @@ -1,4 +1,4 @@ -"use strict";(self.webpackChunk_crestapps_bootstrap_select=self.webpackChunk_crestapps_bootstrap_select||[]).push([[12],{7458(e,t,d){d.r(t),d.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"options","title":"Options","description":"bootstrap-select options, events, and sanitizer settings.","source":"@site/versioned_docs/version-1.1/options.mdx","sourceDirName":".","slug":"/options","permalink":"/docs/1.1/options","draft":false,"unlisted":false,"editUrl":"https://github.com/CrestApps/crestapps-bootstrap-select/tree/main/docs/versioned_docs/version-1.1/options.mdx","tags":[],"version":"1.1","sidebarPosition":3,"frontMatter":{"sidebar_position":3,"title":"Options","description":"bootstrap-select options, events, and sanitizer settings."},"sidebar":"docs","previous":{"title":"Examples","permalink":"/docs/1.1/examples"},"next":{"title":"Methods","permalink":"/docs/1.1/methods"}}');var n=d(4848),s=d(8453),a=d(9069);const i={sidebar_position:3,title:"Options",description:"bootstrap-select options, events, and sanitizer settings."},c="Core options",r={},l=[{value:"Tags-style live search and open options",id:"tags-style-live-search-and-open-options",level:2},{value:"Sanitizer",id:"sanitizer",level:2}];function h(e){const t={admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.admonition,{title:"CrestApps fork",type:"info",children:(0,n.jsxs)(t.p,{children:["The options and data attributes documented on this page are part of the current forward-only API. Initialize with ",(0,n.jsx)(t.code,{children:"new Selectpicker('#sel', options)"})," or add the ",(0,n.jsx)(t.code,{children:"selectpicker"})," class for automatic initialization. Global defaults are set with ",(0,n.jsx)(t.code,{children:"Selectpicker.setDefaults({ ... })"}),"."]})}),"\n",(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"core-options",children:"Core options"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsxs)(t.p,{children:["Options can be passed via data attributes or JavaScript. For data attributes, append the option name to ",(0,n.jsx)(t.code,{children:"data-"}),", as in\n",(0,n.jsx)(t.code,{children:'data-style=""'})," or ",(0,n.jsx)(t.code,{children:'data-selected-text-format="count"'}),"."]}),"\n",(0,n.jsx)(t.admonition,{title:"Data attributes",type:"warning",children:(0,n.jsxs)(t.p,{children:["For security reasons, the ",(0,n.jsx)(t.code,{children:"sanitize"}),", ",(0,n.jsx)(t.code,{children:"sanitizeFn"}),", and ",(0,n.jsx)(t.code,{children:"whiteList"})," options cannot be supplied using data attributes."]})}),"\n",(0,n.jsx)(a.A,{html:String.raw` +"use strict";(self.webpackChunk_crestapps_bootstrap_select=self.webpackChunk_crestapps_bootstrap_select||[]).push([[12],{7458(e,t,o){o.r(t),o.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>d,toc:()=>l});const d=JSON.parse('{"id":"options","title":"Options","description":"bootstrap-select options, events, and sanitizer settings.","source":"@site/versioned_docs/version-1.1/options.mdx","sourceDirName":".","slug":"/options","permalink":"/docs/1.1/options","draft":false,"unlisted":false,"editUrl":"https://github.com/CrestApps/bootstrap-select/tree/main/docs/versioned_docs/version-1.1/options.mdx","tags":[],"version":"1.1","sidebarPosition":3,"frontMatter":{"sidebar_position":3,"title":"Options","description":"bootstrap-select options, events, and sanitizer settings."},"sidebar":"docs","previous":{"title":"Examples","permalink":"/docs/1.1/examples"},"next":{"title":"Methods","permalink":"/docs/1.1/methods"}}');var n=o(4848),s=o(8453),a=o(9069);const i={sidebar_position:3,title:"Options",description:"bootstrap-select options, events, and sanitizer settings."},c="Core options",r={},l=[{value:"Tags-style live search and open options",id:"tags-style-live-search-and-open-options",level:2},{value:"Sanitizer",id:"sanitizer",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.admonition,{title:"CrestApps fork",type:"info",children:(0,n.jsxs)(t.p,{children:["The options and data attributes documented on this page are part of the current forward-only API. Initialize with ",(0,n.jsx)(t.code,{children:"new Selectpicker('#sel', options)"})," or add the ",(0,n.jsx)(t.code,{children:"selectpicker"})," class for automatic initialization. Global defaults are set with ",(0,n.jsx)(t.code,{children:"Selectpicker.setDefaults({ ... })"}),"."]})}),"\n",(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"core-options",children:"Core options"})}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsxs)(t.p,{children:["Options can be passed via data attributes or JavaScript. For data attributes, append the option name to ",(0,n.jsx)(t.code,{children:"data-"}),", as in\n",(0,n.jsx)(t.code,{children:'data-style=""'})," or ",(0,n.jsx)(t.code,{children:'data-selected-text-format="count"'}),"."]}),"\n",(0,n.jsx)(t.admonition,{title:"Data attributes",type:"warning",children:(0,n.jsxs)(t.p,{children:["For security reasons, the ",(0,n.jsx)(t.code,{children:"sanitize"}),", ",(0,n.jsx)(t.code,{children:"sanitizeFn"}),", and ",(0,n.jsx)(t.code,{children:"whiteList"})," options cannot be supplied using data attributes."]})}),"\n",(0,n.jsx)(a.A,{html:String.raw`
@@ -246,7 +246,7 @@ @@ -270,7 +270,7 @@ @@ -345,60 +345,4 @@ -
Nameboolean false -

Show checkmark on selected option (for items without multiple attribute).

+

Shows the default checkmark indicator on single-select menus. Multiselect menus already render a selection indicator by default.

'checkmark' | 'checkbox' 'checkmark' -

Controls how selected items are indicated in the dropdown. Use 'checkbox' to render a Bootstrap-style checkbox column instead of the default floating checkmark.

+

Controls how selected items are indicated in the dropdown. Use 'checkbox' to render a Bootstrap-style checkbox column on multiselects, or radio-style indicators automatically on single selects, instead of the default floating checkmark.

`}),"\n",(0,n.jsx)(t.admonition,{title:"Bootstrap 5 runtime defaults",type:"info",children:(0,n.jsxs)(t.p,{children:["This Bootstrap 5 build no longer supports the legacy ",(0,n.jsx)(t.code,{children:"container"}),", ",(0,n.jsx)(t.code,{children:"mobile"}),", ",(0,n.jsx)(t.code,{children:"styleBase"}),", or ",(0,n.jsx)(t.code,{children:"windowPadding"})," options. When ",(0,n.jsx)(t.code,{children:"width"})," is not set, the picker follows normal Bootstrap sizing and fills its container by default."]})}),"\n",(0,n.jsx)(t.h2,{id:"tags-style-live-search-and-open-options",children:"Tags-style live search and open options"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"showSelectedTags"})," and ",(0,n.jsx)(t.code,{children:"openOptions"})," settings are intended for taxonomy-style editors where authors need to keep selected values visible while continuing to search."]}),"\n",(0,n.jsx)(t.p,{children:"When both are enabled on a multiple select:"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsx)(t.li,{children:"Selected values stay visible as removable tags on the control while the search UI stays available."}),"\n",(0,n.jsx)(t.li,{children:"Typing a value that does not exactly match an existing option shows a create action."}),"\n",(0,n.jsx)(t.li,{children:"Choosing that action creates and selects the option immediately."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"Use data attributes when local in-browser creation is enough:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-html",children:'\n \n \n \n\n'})}),"\n",(0,n.jsx)(t.p,{children:"Use JavaScript when the picker is backed by a remote source and new terms must be saved first:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"new Selectpicker('#tag-editor', {\n liveSearch: true,\n showSelectedTags: true,\n openOptions: true,\n openOptionsText: 'Create tag \"{0}\"',\n selectedTagRemoveLabel: 'Remove tag',\n selectionIndicator: 'checkbox',\n source: {\n data: function (callback) {\n callback(existingTags);\n },\n search: function (callback, page, searchValue) {\n callback(findMatchingTags(searchValue));\n },\n create: function (callback, searchValue) {\n createTag(searchValue).then(function (tag) {\n callback({\n text: tag.displayText,\n value: tag.id\n });\n });\n }\n }\n});\n"})}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"source.create"})," can return the created option synchronously, invoke the provided callback later, or resolve a Promise. In each case, the picker adds the returned option and selects it automatically."]}),"\n",(0,n.jsx)(t.h1,{id:"default-settings",children:"Default settings"}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsxs)(t.p,{children:["You can change the default settings for bootstrap-select by modifying its ",(0,n.jsx)(t.code,{children:"DEFAULTS"})," object (or by calling ",(0,n.jsx)(t.code,{children:"Selectpicker.setDefaults({ \u2026 })"}),"):"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"Selectpicker.DEFAULTS.multipleSeparator = ' | ';\n"})}),"\n",(0,n.jsx)(t.h1,{id:"events",children:"Events"}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsxs)(t.p,{children:["bootstrap-select emits native ",(0,n.jsx)(t.code,{children:"CustomEvent"}),"s on the original ",(0,n.jsx)(t.code,{children:"\n'})}),"\n",(0,n.jsx)(t.p,{children:"Use JavaScript when the picker is backed by a remote source and new terms must be saved first:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"new Selectpicker('#tag-editor', {\n liveSearch: true,\n showSelectedTags: true,\n openOptions: true,\n openOptionsText: 'Create tag \"{0}\"',\n selectedTagRemoveLabel: 'Remove tag',\n selectionIndicator: 'checkbox',\n source: {\n data: function (callback) {\n callback(existingTags);\n },\n search: function (callback, page, searchValue) {\n callback(findMatchingTags(searchValue));\n },\n create: function (callback, searchValue) {\n createTag(searchValue).then(function (tag) {\n callback({\n text: tag.displayText,\n value: tag.id\n });\n });\n }\n }\n});\n"})}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"source.create"})," can return the created option synchronously, invoke the provided callback later, or resolve a Promise. In each case, the picker adds the returned option and selects it automatically."]}),"\n",(0,n.jsx)(t.h1,{id:"default-settings",children:"Default settings"}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsxs)(t.p,{children:["You can change the default settings for bootstrap-select by modifying its ",(0,n.jsx)(t.code,{children:"DEFAULTS"})," object (or by calling ",(0,n.jsx)(t.code,{children:"Selectpicker.setDefaults({ \u2026 })"}),"):"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"Selectpicker.DEFAULTS.multipleSeparator = ' | ';\n"})}),"\n",(0,n.jsx)(t.h1,{id:"events",children:"Events"}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsxs)(t.p,{children:["bootstrap-select emits native ",(0,n.jsx)(t.code,{children:"CustomEvent"}),"s on the original ",(0,n.jsx)(t.code,{children:"` element. - -For `show.bs.select`, `shown.bs.select`, `hide.bs.select`, and `hidden.bs.select`, the original Bootstrap dropdown event is exposed as `event.detail.bsEvent`. Its `relatedTarget` property is the toggling button element. - - - - - Event Type - Description - - - - - show.bs.select - This event fires immediately when the menu starts opening. - - - shown.bs.select - This event is fired when the menu has been made visible to the user (after CSS transitions complete). - - - hide.bs.select - This event is fired immediately when the menu starts closing. - - - hidden.bs.select - This event is fired when the menu has finished being hidden from the user (after CSS transitions complete). - - - loaded.bs.select - This event fires after the select has been initialized. - - - rendered.bs.select - This event fires after the render instance has been called. - - - refreshed.bs.select - This event fires after the refresh instance has been called. - - - changed.bs.select - -

This event fires after the select's value has been changed. The detail object passes clickedIndex, isSelected, and previousValue via event.detail.

-

previousValue is the value of the select prior to being changed. If the select's value has been changed either via the val(), selectAll(), or deselectAll() methods, clickedIndex and isSelected will be null.

- - - - maxReached.bs.select - This event fires when a multi-select tries to exceed the configured maxOptions limit on the select. - - - maxReachedGrp.bs.select - This event fires when a multi-select tries to exceed the configured data-max-options limit on an <optgroup>. - - - fetched.bs.select - This event fires after async or callback-backed source data has been fetched and applied to the picker. - - -`} -/> - -```js -document.querySelector('#mySelect').addEventListener('changed.bs.select', function (e) { - const { clickedIndex, isSelected, previousValue } = e.detail; - // do something... -}); - -document.querySelector('#mySelect').addEventListener('show.bs.select', function (e) { - const bootstrapEvent = e.detail.bsEvent; - const button = bootstrapEvent.relatedTarget; -}); -``` +See the dedicated [Events](/docs/events) page for the full event reference, event +payload details, and examples for `changed.bs.select`, `show.bs.select`, and +the rest of the public event surface. ## Sanitizer --- -HTML added via the `data-content` attribute on individual options is sanitized using our built-in sanitizer. +HTML added via the `data-content` attribute on individual options is sanitized using the built-in zero-dependency sanitizer. The default `whiteList` value is the following: @@ -585,14 +515,18 @@ var myCustomRegex = /^data-my-app-[\w-]+/; myDefaultWhiteList['*'].push(myCustomRegex); ``` -If you want to bypass our sanitizer because you prefer to use a dedicated library, you should do the following: +If you prefer to use a dedicated sanitizer library such as DOMPurify, load or install it in your application and wire it through `sanitizeFn`: ```js +import DOMPurify from 'dompurify'; + new Selectpicker('#yourSelect', { sanitizeFn: function (domNodes) { - return DOMPurify.sanitize(domNodes) + domNodes.forEach(function (node) { + node.innerHTML = DOMPurify.sanitize(node.innerHTML); + }); } }); ``` -For performance reasons, our built-in sanitizer accepts an array of DOM nodes as its first argument, rather than an HTML string. Keep that in mind if deciding to use your own `sanitizeFn`. +For performance reasons, bootstrap-select passes an array of DOM nodes to `sanitizeFn`, not an HTML string. If you use a third-party sanitizer, sanitize each node in place as shown above. diff --git a/docs/dist/css/bootstrap-select.css b/docs/dist/css/bootstrap-select.css index f537a91..3100309 100644 --- a/docs/dist/css/bootstrap-select.css +++ b/docs/dist/css/bootstrap-select.css @@ -1,12 +1,12 @@ -/*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) +/* ! + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) - */ - + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) + */ +@charset "UTF-8"; @keyframes bs-notify-fadeOut { 0% { opacity: 0.9; @@ -20,6 +20,7 @@ select.bs-select-hidden, select.selectpicker { display: none !important; } + .bootstrap-select { width: 100%; vertical-align: middle; @@ -36,36 +37,10 @@ select.selectpicker { .bootstrap-select > .dropdown-toggle:after { margin-top: -1px; } -.bootstrap-select > .dropdown-toggle.bs-placeholder, -.bootstrap-select > .dropdown-toggle.bs-placeholder:hover, -.bootstrap-select > .dropdown-toggle.bs-placeholder:focus, -.bootstrap-select > .dropdown-toggle.bs-placeholder:active { +.bootstrap-select > .dropdown-toggle.bs-placeholder, .bootstrap-select > .dropdown-toggle.bs-placeholder:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder:active { color: #999; } -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:hover, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:hover, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:hover, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:hover, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:hover, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:hover, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:focus, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:focus, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:focus, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:focus, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:focus, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:focus, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:active, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:active, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:active, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:active, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:active, -.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:active { +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:active, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:active, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:active, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:active, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:active, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:active { color: rgba(255, 255, 255, 0.5); } .bootstrap-select > select { @@ -87,17 +62,13 @@ select.selectpicker { width: 100% !important; z-index: 2 !important; } -.has-error .bootstrap-select .dropdown-toggle, -.error .bootstrap-select .dropdown-toggle, -.bootstrap-select.is-invalid .dropdown-toggle, -.was-validated .bootstrap-select select:invalid + .dropdown-toggle { - border-color: #b94a48; +.has-error .bootstrap-select .dropdown-toggle, .error .bootstrap-select .dropdown-toggle, .bootstrap-select.is-invalid .dropdown-toggle, .was-validated .bootstrap-select select:invalid + .dropdown-toggle { + border-color: rgb(185, 74, 72); } -.bootstrap-select.is-valid .dropdown-toggle, -.was-validated .bootstrap-select select:valid + .dropdown-toggle { +.bootstrap-select.is-valid .dropdown-toggle, .was-validated .bootstrap-select select:valid + .dropdown-toggle { border-color: #28a745; } -.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) { +.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) { width: 100%; } .bootstrap-select > select.mobile-device:focus + .dropdown-toggle, @@ -106,52 +77,44 @@ select.selectpicker { outline: 5px auto -webkit-focus-ring-color !important; outline-offset: -2px; } + .bootstrap-select.form-control { margin-bottom: 0; padding: 0; border: none; height: auto; } -:not(.input-group) > .bootstrap-select.form-control:not([class*="col-"]) { +:not(.input-group) > .bootstrap-select.form-control:not([class*=col-]) { width: 100%; } .bootstrap-select.form-control.input-group-btn { float: none; z-index: auto; } -.form-inline .bootstrap-select, -.form-inline .bootstrap-select.form-control:not([class*="col-"]) { +.form-inline .bootstrap-select, .form-inline .bootstrap-select.form-control:not([class*=col-]) { width: auto; } -.bootstrap-select:not(.input-group-btn), -.bootstrap-select[class*="col-"] { +.bootstrap-select:not(.input-group-btn), .bootstrap-select[class*=col-] { float: none; display: inline-block; margin-left: 0; } -.bootstrap-select.dropdown-menu-end, -.bootstrap-select[class*="col-"].dropdown-menu-end, -.row .bootstrap-select[class*="col-"].dropdown-menu-end { +.bootstrap-select.dropdown-menu-end, .bootstrap-select[class*=col-].dropdown-menu-end, .row .bootstrap-select[class*=col-].dropdown-menu-end { float: right; } -.form-inline .bootstrap-select, -.form-horizontal .bootstrap-select, -.form-group .bootstrap-select { +.form-inline .bootstrap-select, .form-horizontal .bootstrap-select, .form-group .bootstrap-select { margin-bottom: 0; } -.form-group-lg .bootstrap-select.form-control, -.form-group-sm .bootstrap-select.form-control { +.form-group-lg .bootstrap-select.form-control, .form-group-sm .bootstrap-select.form-control { padding: 0; } -.form-group-lg .bootstrap-select.form-control .dropdown-toggle, -.form-group-sm .bootstrap-select.form-control .dropdown-toggle { +.form-group-lg .bootstrap-select.form-control .dropdown-toggle, .form-group-sm .bootstrap-select.form-control .dropdown-toggle { height: 100%; font-size: inherit; line-height: inherit; border-radius: inherit; } -.bootstrap-select.form-control-sm .dropdown-toggle, -.bootstrap-select.form-control-lg .dropdown-toggle { +.bootstrap-select.form-control-sm .dropdown-toggle, .bootstrap-select.form-control-lg .dropdown-toggle { font-size: inherit; line-height: inherit; border-radius: inherit; @@ -218,7 +181,7 @@ select.selectpicker { } .bootstrap-select .dropdown-toggle .bs-select-clear-selected span { position: relative; - top: calc(((-1em / 1.5) + 1ex) / 2); + top: calc((-0.6666666667em + 1ex) / 2); pointer-events: none; } .bootstrap-select .dropdown-toggle.bs-placeholder .bs-select-clear-selected { @@ -227,7 +190,7 @@ select.selectpicker { .input-group .bootstrap-select.form-control .dropdown-toggle { border-radius: inherit; } -.bootstrap-select[class*="col-"] .dropdown-toggle { +.bootstrap-select[class*=col-] .dropdown-toggle { width: 100%; } .bootstrap-select .dropdown-menu { @@ -281,8 +244,8 @@ select.selectpicker { margin: 0 2%; min-height: 26px; padding: 3px 5px; - background: #f5f5f5; - border: 1px solid #e3e3e3; + background: rgb(245, 245, 245); + border: 1px solid rgb(227, 227, 227); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); pointer-events: none; opacity: 0.9; @@ -307,7 +270,7 @@ select.selectpicker { display: inline; } .bootstrap-select.fit-width .dropdown-toggle .bs-caret:before { - content: '\00a0'; + content: " "; } .bootstrap-select.fit-width .dropdown-toggle .caret { position: static; @@ -324,13 +287,13 @@ select.selectpicker { .bootstrap-select.show-tick .dropdown-menu li a span.text { margin-right: 34px; } -.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a { +.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a, .bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu li a { padding-left: 2.5rem; } -.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a span.text { +.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a span.text, .bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu li a span.text { margin-right: 0; } -.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a span.check-mark { +.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a span.check-mark, .bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu li a span.check-mark { position: absolute; display: inline-flex; align-items: center; @@ -347,13 +310,16 @@ select.selectpicker { color: transparent; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } +.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a span.check-mark { + border-radius: 0.25rem; +} .bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu .selected span.check-mark { background: var(--bs-primary, #0d6efd); border-color: var(--bs-primary, #0d6efd); color: var(--bs-white, #fff); } .bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu .selected span.check-mark::after { - content: ''; + content: ""; width: 0.3rem; height: 0.55rem; border: solid currentColor; @@ -361,8 +327,22 @@ select.selectpicker { transform: rotate(45deg); margin-top: -0.05rem; } +.bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu li a span.check-mark { + border-radius: 50%; +} +.bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu .selected span.check-mark { + border-color: var(--bs-primary, #0d6efd); + color: var(--bs-primary, #0d6efd); +} +.bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu .selected span.check-mark::after { + content: ""; + width: 0.5rem; + height: 0.5rem; + border-radius: 50%; + background: currentColor; +} .bootstrap-select .bs-ok-default:after { - content: ''; + content: ""; display: block; width: 0.5em; height: 1em; @@ -371,12 +351,12 @@ select.selectpicker { transform-style: preserve-3d; transform: rotate(45deg); } -.bootstrap-select.show-menu-arrow.open > .dropdown-toggle, -.bootstrap-select.show-menu-arrow.show > .dropdown-toggle { + +.bootstrap-select.show-menu-arrow.open > .dropdown-toggle, .bootstrap-select.show-menu-arrow.show > .dropdown-toggle { z-index: 1061; } .bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:before { - content: ''; + content: ""; border-left: 7px solid transparent; border-right: 7px solid transparent; border-bottom: 7px solid rgba(204, 204, 204, 0.2); @@ -386,7 +366,7 @@ select.selectpicker { display: none; } .bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:after { - content: ''; + content: ""; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 6px solid white; @@ -415,31 +395,43 @@ select.selectpicker { right: 13px; left: auto; } -.bootstrap-select.show-menu-arrow.open > .dropdown-toggle .filter-option:before, -.bootstrap-select.show-menu-arrow.show > .dropdown-toggle .filter-option:before, -.bootstrap-select.show-menu-arrow.open > .dropdown-toggle .filter-option:after, -.bootstrap-select.show-menu-arrow.show > .dropdown-toggle .filter-option:after { +.bootstrap-select.show-menu-arrow.open > .dropdown-toggle .filter-option:before, .bootstrap-select.show-menu-arrow.open > .dropdown-toggle .filter-option:after, .bootstrap-select.show-menu-arrow.show > .dropdown-toggle .filter-option:before, .bootstrap-select.show-menu-arrow.show > .dropdown-toggle .filter-option:after { display: block; } + .bs-searchbox, .bs-actionsbox, .bs-donebutton { padding: 4px 8px; } + .popover-header { display: flex; align-items: center; - justify-content: space-between; gap: 0.75rem; + padding: 0.625rem 0.875rem; +} +.popover-header .popover-header-text { + flex: 1 1 auto; + min-width: 0; } .popover-header .btn-close, .popover-header .close { flex: 0 0 auto; margin: 0; + margin-left: auto; } .popover-header .btn-close { - padding: 0.375rem; + width: 0.875rem; + height: 0.875rem; + padding: 0.25rem; + background-size: 0.75rem; } +.popover-header .close { + font-size: 0.875rem; + line-height: 1; +} + .bs-actionsbox { width: 100%; box-sizing: border-box; @@ -450,6 +442,7 @@ select.selectpicker { .bs-actionsbox .btn-group button { width: 50%; } + .bs-donebutton { float: left; width: 100%; @@ -461,6 +454,7 @@ select.selectpicker { .bs-donebutton .btn-group button { width: 100%; } + .bs-searchbox { display: flex; flex-direction: column; @@ -487,20 +481,22 @@ select.selectpicker { white-space: normal; text-align: left; } -.bs-searchbox .bs-create-option:hover, -.bs-searchbox .bs-create-option:focus { +.bs-searchbox .bs-create-option:hover, .bs-searchbox .bs-create-option:focus { background: rgba(13, 110, 253, 0.12); color: var(--bs-primary-text-emphasis, var(--bs-primary, #0d6efd)); } + .bs-selected-items { display: flex; flex-wrap: wrap; gap: 0.375rem 0.5rem; margin-top: 0.5rem; } + .bs-selected-items-external { padding: 0 0.125rem; } + .bs-selected-item { display: inline-flex; align-items: center; @@ -522,15 +518,18 @@ select.selectpicker { appearance: none; -webkit-appearance: none; } + .bs-selected-item-content { display: inline-flex; align-items: center; gap: 0.5rem; min-width: 0; } + .bs-selected-item-icon { flex: 0 0 auto; } + .bs-selected-item:hover, .bs-selected-item:focus { border-color: rgba(13, 110, 253, 0.35); @@ -538,11 +537,13 @@ select.selectpicker { box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.12); outline: 0; } + .bs-selected-item-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } + .bs-selected-item-remove { display: inline-flex; align-items: center; @@ -558,13 +559,16 @@ select.selectpicker { flex: 0 0 auto; padding-bottom: 0; } + .bootstrap-select.selected-items-style-list .bs-selected-items { display: block; margin-top: 0.5rem; } + .bootstrap-select.selected-items-style-list .bs-selected-items-external { padding: 0; } + .bootstrap-select.selected-items-style-list .bs-selected-item { width: 100%; min-height: 0; @@ -577,17 +581,21 @@ select.selectpicker { line-height: 1.5; box-shadow: none; } + .bootstrap-select.selected-items-style-list .bs-selected-item:first-child { border-top-left-radius: var(--bs-list-group-border-radius, 0.375rem); border-top-right-radius: var(--bs-list-group-border-radius, 0.375rem); } + .bootstrap-select.selected-items-style-list .bs-selected-item:last-child { border-bottom-left-radius: var(--bs-list-group-border-radius, 0.375rem); border-bottom-right-radius: var(--bs-list-group-border-radius, 0.375rem); } + .bootstrap-select.selected-items-style-list .bs-selected-item + .bs-selected-item { margin-top: -1px; } + .bootstrap-select.selected-items-style-list .bs-selected-item:hover, .bootstrap-select.selected-items-style-list .bs-selected-item:focus { border-color: var(--bs-list-group-border-color, rgba(0, 0, 0, 0.125)); @@ -595,12 +603,15 @@ select.selectpicker { color: var(--bs-list-group-action-hover-color, inherit); box-shadow: none; } + .bootstrap-select.selected-items-style-list .bs-selected-item-content { flex: 1 1 auto; } + .bootstrap-select.selected-items-style-list .bs-selected-item-label { white-space: normal; } + .bootstrap-select.selected-items-style-list .bs-selected-item-remove { width: auto; height: auto; @@ -610,6 +621,7 @@ select.selectpicker { font-size: 1rem; color: var(--bs-secondary-color, #6c757d); } + .form-floating > .bootstrap-select.show-selected-tags { position: relative; min-height: calc(3.5rem + 2px); @@ -618,8 +630,7 @@ select.selectpicker { background-color: var(--bs-body-bg, #fff); transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } -.form-floating > .bootstrap-select.show-selected-tags:focus-within, -.form-floating > .bootstrap-select.show-selected-tags.show { +.form-floating > .bootstrap-select.show-selected-tags:focus-within, .form-floating > .bootstrap-select.show-selected-tags.show { border-color: #86b7fe; box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); } @@ -649,7 +660,8 @@ select.selectpicker { margin-bottom: 0; padding-bottom: 1.375rem; } + .form-floating > .bootstrap-select.show-selected-tags ~ label { padding-top: 0.75rem; } -/*# sourceMappingURL=bootstrap-select.css.map */ \ No newline at end of file +/*# sourceMappingURL=bootstrap-select.css.map */ diff --git a/docs/dist/css/bootstrap-select.css.map b/docs/dist/css/bootstrap-select.css.map index 47cd772..8e3f857 100644 --- a/docs/dist/css/bootstrap-select.css.map +++ b/docs/dist/css/bootstrap-select.css.map @@ -1 +1 @@ -{"version":3,"sources":["bootstrap-select.less","bootstrap-select.css"],"names":[],"mappings":"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","file":"bootstrap-select.css","sourcesContent":["@import \"variables\";\n\n@keyframes bs-notify-fadeOut {\n 0% {opacity: 0.9;}\n 100% {opacity: 0;}\n}\n\n// Mixins\n.cursor-disabled() {\n cursor: not-allowed;\n}\n\n// Rules\nselect.bs-select-hidden,\n.bootstrap-select > select.bs-select-hidden,\nselect.selectpicker {\n display: none !important;\n}\n\n.bootstrap-select {\n width: 100%;\n vertical-align: middle;\n\n // The selectpicker button\n > .dropdown-toggle {\n position: relative;\n width: 100%;\n // necessary for proper positioning of caret in Bootstrap 5 (pushes caret to the right)\n text-align: right;\n white-space: nowrap;\n // force caret to be vertically centered for Bootstrap 5 multi-line buttons\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n\n &:after {\n margin-top: -1px;\n }\n\n &.bs-placeholder {\n &,\n &:hover,\n &:focus,\n &:active {\n color: @input-color-placeholder;\n }\n\n &.btn-primary,\n &.btn-secondary,\n &.btn-success,\n &.btn-danger,\n &.btn-info,\n &.btn-dark {\n &,\n &:hover,\n &:focus,\n &:active {\n color: @input-alt-color-placeholder;\n }\n }\n }\n }\n\n > select {\n position: absolute !important;\n bottom: 0;\n left: 50%;\n display: block !important;\n width: 0.5px !important;\n height: 100% !important;\n padding: 0 !important;\n opacity: 0 !important;\n border: none;\n z-index: 0 !important;\n\n &.mobile-device {\n top: 0;\n left: 0;\n display: block !important;\n width: 100% !important;\n z-index: 2 !important;\n }\n }\n\n // Error display\n .has-error & .dropdown-toggle,\n .error & .dropdown-toggle,\n &.is-invalid .dropdown-toggle,\n .was-validated & select:invalid + .dropdown-toggle {\n border-color: @color-red-error;\n }\n\n &.is-valid .dropdown-toggle,\n .was-validated & select:valid + .dropdown-toggle {\n border-color: @color-green-success;\n }\n\n &:not([class*=\"col-\"]):not([class*=\"form-control\"]):not(.input-group-btn) {\n width: @width-default;\n }\n\n > select.mobile-device:focus + .dropdown-toggle,\n .dropdown-toggle:focus {\n outline: thin dotted #333333 !important;\n outline: 5px auto -webkit-focus-ring-color !important;\n outline-offset: -2px;\n }\n}\n\n// The selectpicker components\n.bootstrap-select {\n &.form-control {\n margin-bottom: 0;\n padding: 0;\n border: none;\n height: auto;\n\n :not(.input-group) > &:not([class*=\"col-\"]) {\n width: 100%;\n }\n\n &.input-group-btn {\n float: none;\n z-index: auto;\n }\n }\n\n .form-inline &,\n .form-inline &.form-control:not([class*=\"col-\"]) {\n width: auto;\n }\n\n &:not(.input-group-btn),\n &[class*=\"col-\"] {\n float: none;\n display: inline-block;\n margin-left: 0;\n }\n\n // Forces the pull to the right, if necessary\n &,\n &[class*=\"col-\"],\n .row &[class*=\"col-\"] {\n &.dropdown-menu-end {\n float: right;\n }\n }\n\n .form-inline &,\n .form-horizontal &,\n .form-group & {\n margin-bottom: 0;\n }\n\n .form-group-lg &.form-control,\n .form-group-sm &.form-control {\n padding: 0;\n\n .dropdown-toggle {\n height: 100%;\n font-size: inherit;\n line-height: inherit;\n border-radius: inherit;\n }\n }\n\n &.form-control-sm .dropdown-toggle,\n &.form-control-lg .dropdown-toggle {\n font-size: inherit;\n line-height: inherit;\n border-radius: inherit;\n }\n\n &.form-control-sm .dropdown-toggle {\n padding: @input-padding-y-sm @input-padding-x-sm;\n }\n\n &.form-control-lg .dropdown-toggle {\n padding: @input-padding-y-lg @input-padding-x-lg;\n }\n\n // Set the width of the live search (and any other form control within an inline form)\n // see https://github.com/silviomoreto/bootstrap-select/issues/685\n .form-inline & .form-control {\n width: 100%;\n }\n\n &.disabled,\n > .disabled {\n .cursor-disabled();\n\n &:focus {\n outline: none !important;\n }\n }\n\n &.bs-container {\n position: absolute;\n top: 0;\n left: 0;\n height: 0 !important;\n padding: 0 !important;\n \n .dropdown-menu {\n z-index: @zindex-select-dropdown;\n }\n }\n\n // The selectpicker button\n .dropdown-toggle {\n .filter-option {\n position: static;\n top: 0;\n left: 0;\n float: left;\n height: 100%;\n width: 100%;\n text-align: left;\n overflow: hidden;\n flex: 0 1 auto; // for IE10\n }\n\n .filter-option-inner-inner {\n overflow: hidden;\n }\n\n // used to expand the height of the button when inside an input group\n .filter-expand {\n width: 0 !important;\n float: left;\n opacity: 0 !important;\n overflow: hidden;\n }\n\n .caret {\n position: absolute;\n top: 50%;\n right: 12px;\n margin-top: -2px;\n vertical-align: middle;\n }\n\n .bs-select-clear-selected {\n position: relative;\n display: block;\n margin-right: 5px;\n text-align: center;\n\n span {\n position: relative;\n top: calc(((-1em / 1.5) + 1ex) / 2);\n pointer-events: none;\n }\n }\n\n &.bs-placeholder .bs-select-clear-selected {\n display: none;\n }\n }\n\n .input-group &.form-control .dropdown-toggle {\n border-radius: inherit;\n }\n\n &[class*=\"col-\"] .dropdown-toggle {\n width: 100%;\n }\n\n // The selectpicker dropdown\n .dropdown-menu {\n min-width: 100%;\n box-sizing: border-box;\n\n > .inner:focus {\n outline: none !important;\n }\n\n &.inner {\n position: static;\n float: none;\n border: 0;\n padding: 0;\n margin: 0;\n border-radius: 0;\n box-shadow: none;\n }\n\n li {\n position: relative;\n\n &.active small {\n color: @input-alt-color-placeholder !important;\n }\n\n &.disabled a {\n .cursor-disabled();\n }\n\n a {\n cursor: pointer;\n user-select: none;\n\n &.opt {\n position: relative;\n padding-left: 2.25em;\n }\n\n span.check-mark {\n display: none;\n }\n\n span.text {\n display: inline-block;\n }\n }\n\n small {\n padding-left: 0.5em;\n }\n }\n\n .notify {\n position: absolute;\n bottom: 5px;\n width: 96%;\n margin: 0 2%;\n min-height: 26px;\n padding: 3px 5px;\n background: rgb(245, 245, 245);\n border: 1px solid rgb(227, 227, 227);\n box-shadow: inset 0 1px 1px fade(rgb(0, 0, 0), 5%);\n pointer-events: none;\n opacity: 0.9;\n box-sizing: border-box;\n\n &.fadeOut {\n animation: 300ms linear 750ms forwards bs-notify-fadeOut;\n }\n }\n }\n\n .no-results {\n padding: 3px;\n background: #f5f5f5;\n margin: 0 5px;\n white-space: nowrap;\n }\n\n &.fit-width .dropdown-toggle {\n .filter-option {\n position: static;\n display: inline;\n padding: 0;\n }\n\n .filter-option-inner,\n .filter-option-inner-inner {\n display: inline;\n }\n\n .bs-caret:before {\n content: '\\00a0';\n }\n\n .caret {\n position: static;\n top: auto;\n margin-top: -1px;\n }\n }\n\n &.show-tick .dropdown-menu {\n .selected span.check-mark {\n position: absolute;\n display: inline-block;\n right: 15px;\n top: 50%;\n margin-top: -0.55rem;\n }\n\n li a span.text {\n margin-right: 34px;\n }\n }\n\n &.selection-indicator-checkbox.show-tick .dropdown-menu {\n li a {\n padding-left: 2.5rem;\n }\n\n li a span.text {\n margin-right: 0;\n }\n\n li a span.check-mark {\n position: absolute;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n left: 0.75rem;\n right: auto;\n top: 50%;\n width: 1rem;\n height: 1rem;\n margin-top: -0.5rem;\n border: 1px solid var(--bs-border-color, #ced4da);\n border-radius: 0.25rem;\n background: var(--bs-body-bg, #fff);\n color: transparent;\n transition: background-color .15s ease-in-out, border-color .15s ease-in-out, color .15s ease-in-out, box-shadow .15s ease-in-out;\n }\n\n .selected span.check-mark {\n background: var(--bs-primary, #0d6efd);\n border-color: var(--bs-primary, #0d6efd);\n color: var(--bs-white, #fff);\n }\n\n .selected span.check-mark::after {\n content: '';\n width: 0.3rem;\n height: 0.55rem;\n border: solid currentColor;\n border-width: 0 0.14rem 0.14rem 0;\n transform: rotate(45deg);\n margin-top: -0.05rem;\n }\n }\n\n // default check mark for use without an icon font\n .bs-ok-default:after {\n content: '';\n display: block;\n width: 0.5em;\n height: 1em;\n border-style: solid;\n border-width: 0 0.26em 0.26em 0;\n transform-style: preserve-3d;\n transform: rotate(45deg);\n }\n}\n\n.bootstrap-select.show-menu-arrow {\n &.open > .dropdown-toggle,\n &.show > .dropdown-toggle {\n z-index: (@zindex-select-dropdown + 1);\n }\n\n .dropdown-toggle .filter-option {\n &:before {\n content: '';\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom: 7px solid @color-grey-arrow;\n position: absolute;\n bottom: -4px;\n left: 9px;\n display: none;\n }\n\n &:after {\n content: '';\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid white;\n position: absolute;\n bottom: -4px;\n left: 10px;\n display: none;\n }\n }\n\n &.dropup .dropdown-toggle .filter-option {\n &:before {\n bottom: auto;\n top: -4px;\n border-top: 7px solid @color-grey-arrow;\n border-bottom: 0;\n }\n\n &:after {\n bottom: auto;\n top: -4px;\n border-top: 6px solid white;\n border-bottom: 0;\n }\n }\n\n &.pull-right .dropdown-toggle .filter-option {\n &:before {\n right: 12px;\n left: auto;\n }\n\n &:after {\n right: 13px;\n left: auto;\n }\n }\n\n &.open > .dropdown-toggle .filter-option,\n &.show > .dropdown-toggle .filter-option {\n &:before,\n &:after {\n display: block;\n }\n }\n}\n\n.bs-searchbox,\n.bs-actionsbox,\n.bs-donebutton {\n padding: 4px 8px;\n}\n\n.popover-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.75rem;\n\n .btn-close,\n .close {\n flex: 0 0 auto;\n margin: 0;\n }\n\n .btn-close {\n padding: 0.375rem;\n }\n}\n\n.bs-actionsbox {\n width: 100%;\n box-sizing: border-box;\n\n & .btn-group {\n display: block;\n\n & button {\n width: 50%;\n }\n }\n}\n\n.bs-donebutton {\n float: left;\n width: 100%;\n box-sizing: border-box;\n\n & .btn-group {\n display: block;\n\n & button {\n width: 100%;\n }\n }\n}\n\n.bs-searchbox {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n padding: 0.75rem;\n border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.1));\n\n & + .bs-actionsbox {\n padding: 0 8px 4px;\n }\n\n & .form-control {\n margin-bottom: 0;\n width: 100%;\n float: none;\n min-height: calc(1.5em + 0.75rem + 2px);\n }\n\n & .bs-create-option {\n display: block;\n padding: 0.5rem 0.75rem;\n border: 1px dashed rgba(13, 110, 253, 0.45);\n border-radius: 0.375rem;\n background: rgba(13, 110, 253, 0.06);\n color: var(--bs-primary, #0d6efd);\n white-space: normal;\n text-align: left;\n }\n\n & .bs-create-option:hover,\n & .bs-create-option:focus {\n background: rgba(13, 110, 253, 0.12);\n color: var(--bs-primary-text-emphasis, var(--bs-primary, #0d6efd));\n }\n}\n\n.bs-selected-items {\n display: flex;\n flex-wrap: wrap;\n gap: 0.375rem 0.5rem;\n margin-top: 0.5rem;\n}\n\n.bs-selected-items-external {\n padding: 0 0.125rem;\n}\n\n.bs-selected-item {\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.375rem;\n max-width: 100%;\n min-height: calc(1.5em + 0.25rem + 2px);\n padding: 0.1875rem 0.25rem 0.1875rem 0.625rem;\n border: 1px solid var(--bs-border-color, #ced4da);\n border-radius: 0.875rem;\n background-color: var(--bs-tertiary-bg, #f8f9fa);\n color: var(--bs-body-color, inherit);\n font-size: 0.8125rem;\n line-height: 1.125rem;\n text-align: left;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);\n transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;\n appearance: none;\n -webkit-appearance: none;\n}\n\n.bs-selected-item-content {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n min-width: 0;\n}\n\n.bs-selected-item-icon {\n flex: 0 0 auto;\n}\n\n.bs-selected-item:hover,\n.bs-selected-item:focus {\n border-color: rgba(13, 110, 253, 0.35);\n background-color: var(--bs-secondary-bg, #e9ecef);\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.12);\n outline: 0;\n}\n\n.bs-selected-item-label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.bs-selected-item-remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.125rem;\n height: 1.125rem;\n border-radius: 999px;\n background: rgba(108, 117, 125, 0.14);\n color: var(--bs-secondary-color, #6c757d);\n font-size: 0.875rem;\n font-weight: 900;\n line-height: 1;\n flex: 0 0 auto;\n padding-bottom: 0;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-items {\n display: block;\n margin-top: 0.5rem;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-items-external {\n padding: 0;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item {\n width: 100%;\n min-height: 0;\n padding: 0.75rem 1rem;\n border: 1px solid var(--bs-list-group-border-color, rgba(0, 0, 0, 0.125));\n border-radius: 0;\n background-color: var(--bs-list-group-bg, #fff);\n color: var(--bs-list-group-color, inherit);\n font-size: 1rem;\n line-height: 1.5;\n box-shadow: none;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item:first-child {\n border-top-left-radius: var(--bs-list-group-border-radius, 0.375rem);\n border-top-right-radius: var(--bs-list-group-border-radius, 0.375rem);\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item:last-child {\n border-bottom-left-radius: var(--bs-list-group-border-radius, 0.375rem);\n border-bottom-right-radius: var(--bs-list-group-border-radius, 0.375rem);\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item + .bs-selected-item {\n margin-top: -1px;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item:hover,\n.bootstrap-select.selected-items-style-list .bs-selected-item:focus {\n border-color: var(--bs-list-group-border-color, rgba(0, 0, 0, 0.125));\n background-color: var(--bs-list-group-action-hover-bg, #f8f9fa);\n color: var(--bs-list-group-action-hover-color, inherit);\n box-shadow: none;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item-content {\n flex: 1 1 auto;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item-label {\n white-space: normal;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item-remove {\n width: auto;\n height: auto;\n margin-left: auto;\n border-radius: 0;\n background: transparent;\n font-size: 1rem;\n color: var(--bs-secondary-color, #6c757d);\n}\n\n.form-floating > .bootstrap-select.show-selected-tags {\n position: relative;\n min-height: calc(3.5rem + 2px);\n border: var(--bs-border-width, 1px) solid var(--bs-border-color, #ced4da);\n border-radius: var(--bs-border-radius, 0.375rem);\n background-color: var(--bs-body-bg, #fff);\n transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;\n\n &:focus-within,\n &.show {\n border-color: #86b7fe;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n }\n\n > .dropdown-toggle {\n min-height: 0;\n height: auto;\n padding-top: 1.375rem;\n padding-bottom: 0.25rem;\n border: 0;\n background-color: transparent;\n box-shadow: none;\n }\n\n > .dropdown-toggle:hover,\n > .dropdown-toggle:focus,\n > .dropdown-toggle:active {\n background-color: transparent;\n box-shadow: none;\n }\n\n > .dropdown-toggle .filter-option-inner-inner {\n opacity: 0;\n }\n\n > .bs-selected-items-external {\n position: relative;\n z-index: 3;\n margin: 0 2.25rem 0 0.75rem;\n margin-top: 0;\n margin-bottom: 0;\n padding-bottom: 1.375rem;\n }\n}\n\n.form-floating > .bootstrap-select.show-selected-tags ~ label {\n padding-top: 0.75rem;\n}\n","@keyframes bs-notify-fadeOut {\n 0% {\n opacity: 0.9;\n }\n 100% {\n opacity: 0;\n }\n}\nselect.bs-select-hidden,\n.bootstrap-select > select.bs-select-hidden,\nselect.selectpicker {\n display: none !important;\n}\n.bootstrap-select {\n width: 100%;\n vertical-align: middle;\n}\n.bootstrap-select > .dropdown-toggle {\n position: relative;\n width: 100%;\n text-align: right;\n white-space: nowrap;\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n}\n.bootstrap-select > .dropdown-toggle:after {\n margin-top: -1px;\n}\n.bootstrap-select > .dropdown-toggle.bs-placeholder,\n.bootstrap-select > .dropdown-toggle.bs-placeholder:hover,\n.bootstrap-select > .dropdown-toggle.bs-placeholder:focus,\n.bootstrap-select > .dropdown-toggle.bs-placeholder:active {\n color: #999;\n}\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:hover,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:hover,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:hover,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:hover,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:hover,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:hover,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:focus,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:focus,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:focus,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:focus,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:focus,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:focus,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:active,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:active,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:active,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:active,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:active,\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:active {\n color: rgba(255, 255, 255, 0.5);\n}\n.bootstrap-select > select {\n position: absolute !important;\n bottom: 0;\n left: 50%;\n display: block !important;\n width: 0.5px !important;\n height: 100% !important;\n padding: 0 !important;\n opacity: 0 !important;\n border: none;\n z-index: 0 !important;\n}\n.bootstrap-select > select.mobile-device {\n top: 0;\n left: 0;\n display: block !important;\n width: 100% !important;\n z-index: 2 !important;\n}\n.has-error .bootstrap-select .dropdown-toggle,\n.error .bootstrap-select .dropdown-toggle,\n.bootstrap-select.is-invalid .dropdown-toggle,\n.was-validated .bootstrap-select select:invalid + .dropdown-toggle {\n border-color: #b94a48;\n}\n.bootstrap-select.is-valid .dropdown-toggle,\n.was-validated .bootstrap-select select:valid + .dropdown-toggle {\n border-color: #28a745;\n}\n.bootstrap-select:not([class*=\"col-\"]):not([class*=\"form-control\"]):not(.input-group-btn) {\n width: 100%;\n}\n.bootstrap-select > select.mobile-device:focus + .dropdown-toggle,\n.bootstrap-select .dropdown-toggle:focus {\n outline: thin dotted #333333 !important;\n outline: 5px auto -webkit-focus-ring-color !important;\n outline-offset: -2px;\n}\n.bootstrap-select.form-control {\n margin-bottom: 0;\n padding: 0;\n border: none;\n height: auto;\n}\n:not(.input-group) > .bootstrap-select.form-control:not([class*=\"col-\"]) {\n width: 100%;\n}\n.bootstrap-select.form-control.input-group-btn {\n float: none;\n z-index: auto;\n}\n.form-inline .bootstrap-select,\n.form-inline .bootstrap-select.form-control:not([class*=\"col-\"]) {\n width: auto;\n}\n.bootstrap-select:not(.input-group-btn),\n.bootstrap-select[class*=\"col-\"] {\n float: none;\n display: inline-block;\n margin-left: 0;\n}\n.bootstrap-select.dropdown-menu-end,\n.bootstrap-select[class*=\"col-\"].dropdown-menu-end,\n.row .bootstrap-select[class*=\"col-\"].dropdown-menu-end {\n float: right;\n}\n.form-inline .bootstrap-select,\n.form-horizontal .bootstrap-select,\n.form-group .bootstrap-select {\n margin-bottom: 0;\n}\n.form-group-lg .bootstrap-select.form-control,\n.form-group-sm .bootstrap-select.form-control {\n padding: 0;\n}\n.form-group-lg .bootstrap-select.form-control .dropdown-toggle,\n.form-group-sm .bootstrap-select.form-control .dropdown-toggle {\n height: 100%;\n font-size: inherit;\n line-height: inherit;\n border-radius: inherit;\n}\n.bootstrap-select.form-control-sm .dropdown-toggle,\n.bootstrap-select.form-control-lg .dropdown-toggle {\n font-size: inherit;\n line-height: inherit;\n border-radius: inherit;\n}\n.bootstrap-select.form-control-sm .dropdown-toggle {\n padding: 0.25rem 0.5rem;\n}\n.bootstrap-select.form-control-lg .dropdown-toggle {\n padding: 0.5rem 1rem;\n}\n.form-inline .bootstrap-select .form-control {\n width: 100%;\n}\n.bootstrap-select.disabled,\n.bootstrap-select > .disabled {\n cursor: not-allowed;\n}\n.bootstrap-select.disabled:focus,\n.bootstrap-select > .disabled:focus {\n outline: none !important;\n}\n.bootstrap-select.bs-container {\n position: absolute;\n top: 0;\n left: 0;\n height: 0 !important;\n padding: 0 !important;\n}\n.bootstrap-select.bs-container .dropdown-menu {\n z-index: 1060;\n}\n.bootstrap-select .dropdown-toggle .filter-option {\n position: static;\n top: 0;\n left: 0;\n float: left;\n height: 100%;\n width: 100%;\n text-align: left;\n overflow: hidden;\n flex: 0 1 auto;\n}\n.bootstrap-select .dropdown-toggle .filter-option-inner-inner {\n overflow: hidden;\n}\n.bootstrap-select .dropdown-toggle .filter-expand {\n width: 0 !important;\n float: left;\n opacity: 0 !important;\n overflow: hidden;\n}\n.bootstrap-select .dropdown-toggle .caret {\n position: absolute;\n top: 50%;\n right: 12px;\n margin-top: -2px;\n vertical-align: middle;\n}\n.bootstrap-select .dropdown-toggle .bs-select-clear-selected {\n position: relative;\n display: block;\n margin-right: 5px;\n text-align: center;\n}\n.bootstrap-select .dropdown-toggle .bs-select-clear-selected span {\n position: relative;\n top: calc(((-1em / 1.5) + 1ex) / 2);\n pointer-events: none;\n}\n.bootstrap-select .dropdown-toggle.bs-placeholder .bs-select-clear-selected {\n display: none;\n}\n.input-group .bootstrap-select.form-control .dropdown-toggle {\n border-radius: inherit;\n}\n.bootstrap-select[class*=\"col-\"] .dropdown-toggle {\n width: 100%;\n}\n.bootstrap-select .dropdown-menu {\n min-width: 100%;\n box-sizing: border-box;\n}\n.bootstrap-select .dropdown-menu > .inner:focus {\n outline: none !important;\n}\n.bootstrap-select .dropdown-menu.inner {\n position: static;\n float: none;\n border: 0;\n padding: 0;\n margin: 0;\n border-radius: 0;\n box-shadow: none;\n}\n.bootstrap-select .dropdown-menu li {\n position: relative;\n}\n.bootstrap-select .dropdown-menu li.active small {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.bootstrap-select .dropdown-menu li.disabled a {\n cursor: not-allowed;\n}\n.bootstrap-select .dropdown-menu li a {\n cursor: pointer;\n user-select: none;\n}\n.bootstrap-select .dropdown-menu li a.opt {\n position: relative;\n padding-left: 2.25em;\n}\n.bootstrap-select .dropdown-menu li a span.check-mark {\n display: none;\n}\n.bootstrap-select .dropdown-menu li a span.text {\n display: inline-block;\n}\n.bootstrap-select .dropdown-menu li small {\n padding-left: 0.5em;\n}\n.bootstrap-select .dropdown-menu .notify {\n position: absolute;\n bottom: 5px;\n width: 96%;\n margin: 0 2%;\n min-height: 26px;\n padding: 3px 5px;\n background: #f5f5f5;\n border: 1px solid #e3e3e3;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n pointer-events: none;\n opacity: 0.9;\n box-sizing: border-box;\n}\n.bootstrap-select .dropdown-menu .notify.fadeOut {\n animation: 300ms linear 750ms forwards bs-notify-fadeOut;\n}\n.bootstrap-select .no-results {\n padding: 3px;\n background: #f5f5f5;\n margin: 0 5px;\n white-space: nowrap;\n}\n.bootstrap-select.fit-width .dropdown-toggle .filter-option {\n position: static;\n display: inline;\n padding: 0;\n}\n.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner,\n.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner-inner {\n display: inline;\n}\n.bootstrap-select.fit-width .dropdown-toggle .bs-caret:before {\n content: '\\00a0';\n}\n.bootstrap-select.fit-width .dropdown-toggle .caret {\n position: static;\n top: auto;\n margin-top: -1px;\n}\n.bootstrap-select.show-tick .dropdown-menu .selected span.check-mark {\n position: absolute;\n display: inline-block;\n right: 15px;\n top: 50%;\n margin-top: -0.55rem;\n}\n.bootstrap-select.show-tick .dropdown-menu li a span.text {\n margin-right: 34px;\n}\n.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a {\n padding-left: 2.5rem;\n}\n.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a span.text {\n margin-right: 0;\n}\n.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a span.check-mark {\n position: absolute;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n left: 0.75rem;\n right: auto;\n top: 50%;\n width: 1rem;\n height: 1rem;\n margin-top: -0.5rem;\n border: 1px solid var(--bs-border-color, #ced4da);\n border-radius: 0.25rem;\n background: var(--bs-body-bg, #fff);\n color: transparent;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu .selected span.check-mark {\n background: var(--bs-primary, #0d6efd);\n border-color: var(--bs-primary, #0d6efd);\n color: var(--bs-white, #fff);\n}\n.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu .selected span.check-mark::after {\n content: '';\n width: 0.3rem;\n height: 0.55rem;\n border: solid currentColor;\n border-width: 0 0.14rem 0.14rem 0;\n transform: rotate(45deg);\n margin-top: -0.05rem;\n}\n.bootstrap-select .bs-ok-default:after {\n content: '';\n display: block;\n width: 0.5em;\n height: 1em;\n border-style: solid;\n border-width: 0 0.26em 0.26em 0;\n transform-style: preserve-3d;\n transform: rotate(45deg);\n}\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle,\n.bootstrap-select.show-menu-arrow.show > .dropdown-toggle {\n z-index: 1061;\n}\n.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:before {\n content: '';\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom: 7px solid rgba(204, 204, 204, 0.2);\n position: absolute;\n bottom: -4px;\n left: 9px;\n display: none;\n}\n.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:after {\n content: '';\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid white;\n position: absolute;\n bottom: -4px;\n left: 10px;\n display: none;\n}\n.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:before {\n bottom: auto;\n top: -4px;\n border-top: 7px solid rgba(204, 204, 204, 0.2);\n border-bottom: 0;\n}\n.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:after {\n bottom: auto;\n top: -4px;\n border-top: 6px solid white;\n border-bottom: 0;\n}\n.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:before {\n right: 12px;\n left: auto;\n}\n.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:after {\n right: 13px;\n left: auto;\n}\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle .filter-option:before,\n.bootstrap-select.show-menu-arrow.show > .dropdown-toggle .filter-option:before,\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle .filter-option:after,\n.bootstrap-select.show-menu-arrow.show > .dropdown-toggle .filter-option:after {\n display: block;\n}\n.bs-searchbox,\n.bs-actionsbox,\n.bs-donebutton {\n padding: 4px 8px;\n}\n.popover-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.75rem;\n}\n.popover-header .btn-close,\n.popover-header .close {\n flex: 0 0 auto;\n margin: 0;\n}\n.popover-header .btn-close {\n padding: 0.375rem;\n}\n.bs-actionsbox {\n width: 100%;\n box-sizing: border-box;\n}\n.bs-actionsbox .btn-group {\n display: block;\n}\n.bs-actionsbox .btn-group button {\n width: 50%;\n}\n.bs-donebutton {\n float: left;\n width: 100%;\n box-sizing: border-box;\n}\n.bs-donebutton .btn-group {\n display: block;\n}\n.bs-donebutton .btn-group button {\n width: 100%;\n}\n.bs-searchbox {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n padding: 0.75rem;\n border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.1));\n}\n.bs-searchbox + .bs-actionsbox {\n padding: 0 8px 4px;\n}\n.bs-searchbox .form-control {\n margin-bottom: 0;\n width: 100%;\n float: none;\n min-height: calc(1.5em + 0.75rem + 2px);\n}\n.bs-searchbox .bs-create-option {\n display: block;\n padding: 0.5rem 0.75rem;\n border: 1px dashed rgba(13, 110, 253, 0.45);\n border-radius: 0.375rem;\n background: rgba(13, 110, 253, 0.06);\n color: var(--bs-primary, #0d6efd);\n white-space: normal;\n text-align: left;\n}\n.bs-searchbox .bs-create-option:hover,\n.bs-searchbox .bs-create-option:focus {\n background: rgba(13, 110, 253, 0.12);\n color: var(--bs-primary-text-emphasis, var(--bs-primary, #0d6efd));\n}\n.bs-selected-items {\n display: flex;\n flex-wrap: wrap;\n gap: 0.375rem 0.5rem;\n margin-top: 0.5rem;\n}\n.bs-selected-items-external {\n padding: 0 0.125rem;\n}\n.bs-selected-item {\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.375rem;\n max-width: 100%;\n min-height: calc(1.5em + 0.25rem + 2px);\n padding: 0.1875rem 0.25rem 0.1875rem 0.625rem;\n border: 1px solid var(--bs-border-color, #ced4da);\n border-radius: 0.875rem;\n background-color: var(--bs-tertiary-bg, #f8f9fa);\n color: var(--bs-body-color, inherit);\n font-size: 0.8125rem;\n line-height: 1.125rem;\n text-align: left;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n -webkit-appearance: none;\n}\n.bs-selected-item-content {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n min-width: 0;\n}\n.bs-selected-item-icon {\n flex: 0 0 auto;\n}\n.bs-selected-item:hover,\n.bs-selected-item:focus {\n border-color: rgba(13, 110, 253, 0.35);\n background-color: var(--bs-secondary-bg, #e9ecef);\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.12);\n outline: 0;\n}\n.bs-selected-item-label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.bs-selected-item-remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.125rem;\n height: 1.125rem;\n border-radius: 999px;\n background: rgba(108, 117, 125, 0.14);\n color: var(--bs-secondary-color, #6c757d);\n font-size: 0.875rem;\n font-weight: 900;\n line-height: 1;\n flex: 0 0 auto;\n padding-bottom: 0;\n}\n.bootstrap-select.selected-items-style-list .bs-selected-items {\n display: block;\n margin-top: 0.5rem;\n}\n.bootstrap-select.selected-items-style-list .bs-selected-items-external {\n padding: 0;\n}\n.bootstrap-select.selected-items-style-list .bs-selected-item {\n width: 100%;\n min-height: 0;\n padding: 0.75rem 1rem;\n border: 1px solid var(--bs-list-group-border-color, rgba(0, 0, 0, 0.125));\n border-radius: 0;\n background-color: var(--bs-list-group-bg, #fff);\n color: var(--bs-list-group-color, inherit);\n font-size: 1rem;\n line-height: 1.5;\n box-shadow: none;\n}\n.bootstrap-select.selected-items-style-list .bs-selected-item:first-child {\n border-top-left-radius: var(--bs-list-group-border-radius, 0.375rem);\n border-top-right-radius: var(--bs-list-group-border-radius, 0.375rem);\n}\n.bootstrap-select.selected-items-style-list .bs-selected-item:last-child {\n border-bottom-left-radius: var(--bs-list-group-border-radius, 0.375rem);\n border-bottom-right-radius: var(--bs-list-group-border-radius, 0.375rem);\n}\n.bootstrap-select.selected-items-style-list .bs-selected-item + .bs-selected-item {\n margin-top: -1px;\n}\n.bootstrap-select.selected-items-style-list .bs-selected-item:hover,\n.bootstrap-select.selected-items-style-list .bs-selected-item:focus {\n border-color: var(--bs-list-group-border-color, rgba(0, 0, 0, 0.125));\n background-color: var(--bs-list-group-action-hover-bg, #f8f9fa);\n color: var(--bs-list-group-action-hover-color, inherit);\n box-shadow: none;\n}\n.bootstrap-select.selected-items-style-list .bs-selected-item-content {\n flex: 1 1 auto;\n}\n.bootstrap-select.selected-items-style-list .bs-selected-item-label {\n white-space: normal;\n}\n.bootstrap-select.selected-items-style-list .bs-selected-item-remove {\n width: auto;\n height: auto;\n margin-left: auto;\n border-radius: 0;\n background: transparent;\n font-size: 1rem;\n color: var(--bs-secondary-color, #6c757d);\n}\n.form-floating > .bootstrap-select.show-selected-tags {\n position: relative;\n min-height: calc(3.5rem + 2px);\n border: var(--bs-border-width, 1px) solid var(--bs-border-color, #ced4da);\n border-radius: var(--bs-border-radius, 0.375rem);\n background-color: var(--bs-body-bg, #fff);\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n.form-floating > .bootstrap-select.show-selected-tags:focus-within,\n.form-floating > .bootstrap-select.show-selected-tags.show {\n border-color: #86b7fe;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-floating > .bootstrap-select.show-selected-tags > .dropdown-toggle {\n min-height: 0;\n height: auto;\n padding-top: 1.375rem;\n padding-bottom: 0.25rem;\n border: 0;\n background-color: transparent;\n box-shadow: none;\n}\n.form-floating > .bootstrap-select.show-selected-tags > .dropdown-toggle:hover,\n.form-floating > .bootstrap-select.show-selected-tags > .dropdown-toggle:focus,\n.form-floating > .bootstrap-select.show-selected-tags > .dropdown-toggle:active {\n background-color: transparent;\n box-shadow: none;\n}\n.form-floating > .bootstrap-select.show-selected-tags > .dropdown-toggle .filter-option-inner-inner {\n opacity: 0;\n}\n.form-floating > .bootstrap-select.show-selected-tags > .bs-selected-items-external {\n position: relative;\n z-index: 3;\n margin: 0 2.25rem 0 0.75rem;\n margin-top: 0;\n margin-bottom: 0;\n padding-bottom: 1.375rem;\n}\n.form-floating > .bootstrap-select.show-selected-tags ~ label {\n padding-top: 0.75rem;\n}\n/*# sourceMappingURL=bootstrap-select.css.map */"]} \ No newline at end of file +{"version":3,"sources":["","../../sass/bootstrap-select.scss","file:///C:/Code/CrestApps/bootstrap-select/sass/bootstrap-select.scss","file:///C:/Code/CrestApps/bootstrap-select/sass/variables.scss"],"names":[],"mappings":"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","file":"bootstrap-select.css","sourcesContent":[null,"@charset \"UTF-8\";\n@keyframes bs-notify-fadeOut {\n 0% {\n opacity: 0.9;\n }\n 100% {\n opacity: 0;\n }\n}\nselect.bs-select-hidden,\n.bootstrap-select > select.bs-select-hidden,\nselect.selectpicker {\n display: none !important;\n}\n\n.bootstrap-select {\n width: 100%;\n vertical-align: middle;\n}\n.bootstrap-select > .dropdown-toggle {\n position: relative;\n width: 100%;\n text-align: right;\n white-space: nowrap;\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n}\n.bootstrap-select > .dropdown-toggle:after {\n margin-top: -1px;\n}\n.bootstrap-select > .dropdown-toggle.bs-placeholder, .bootstrap-select > .dropdown-toggle.bs-placeholder:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder:active {\n color: #999;\n}\n.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:active, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:active, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:active, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:active, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:active, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:active {\n color: rgba(255, 255, 255, 0.5);\n}\n.bootstrap-select > select {\n position: absolute !important;\n bottom: 0;\n left: 50%;\n display: block !important;\n width: 0.5px !important;\n height: 100% !important;\n padding: 0 !important;\n opacity: 0 !important;\n border: none;\n z-index: 0 !important;\n}\n.bootstrap-select > select.mobile-device {\n top: 0;\n left: 0;\n display: block !important;\n width: 100% !important;\n z-index: 2 !important;\n}\n.has-error .bootstrap-select .dropdown-toggle, .error .bootstrap-select .dropdown-toggle, .bootstrap-select.is-invalid .dropdown-toggle, .was-validated .bootstrap-select select:invalid + .dropdown-toggle {\n border-color: rgb(185, 74, 72);\n}\n.bootstrap-select.is-valid .dropdown-toggle, .was-validated .bootstrap-select select:valid + .dropdown-toggle {\n border-color: #28a745;\n}\n.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {\n width: 100%;\n}\n.bootstrap-select > select.mobile-device:focus + .dropdown-toggle,\n.bootstrap-select .dropdown-toggle:focus {\n outline: thin dotted #333333 !important;\n outline: 5px auto -webkit-focus-ring-color !important;\n outline-offset: -2px;\n}\n\n.bootstrap-select.form-control {\n margin-bottom: 0;\n padding: 0;\n border: none;\n height: auto;\n}\n:not(.input-group) > .bootstrap-select.form-control:not([class*=col-]) {\n width: 100%;\n}\n.bootstrap-select.form-control.input-group-btn {\n float: none;\n z-index: auto;\n}\n.form-inline .bootstrap-select, .form-inline .bootstrap-select.form-control:not([class*=col-]) {\n width: auto;\n}\n.bootstrap-select:not(.input-group-btn), .bootstrap-select[class*=col-] {\n float: none;\n display: inline-block;\n margin-left: 0;\n}\n.bootstrap-select.dropdown-menu-end, .bootstrap-select[class*=col-].dropdown-menu-end, .row .bootstrap-select[class*=col-].dropdown-menu-end {\n float: right;\n}\n.form-inline .bootstrap-select, .form-horizontal .bootstrap-select, .form-group .bootstrap-select {\n margin-bottom: 0;\n}\n.form-group-lg .bootstrap-select.form-control, .form-group-sm .bootstrap-select.form-control {\n padding: 0;\n}\n.form-group-lg .bootstrap-select.form-control .dropdown-toggle, .form-group-sm .bootstrap-select.form-control .dropdown-toggle {\n height: 100%;\n font-size: inherit;\n line-height: inherit;\n border-radius: inherit;\n}\n.bootstrap-select.form-control-sm .dropdown-toggle, .bootstrap-select.form-control-lg .dropdown-toggle {\n font-size: inherit;\n line-height: inherit;\n border-radius: inherit;\n}\n.bootstrap-select.form-control-sm .dropdown-toggle {\n padding: 0.25rem 0.5rem;\n}\n.bootstrap-select.form-control-lg .dropdown-toggle {\n padding: 0.5rem 1rem;\n}\n.form-inline .bootstrap-select .form-control {\n width: 100%;\n}\n.bootstrap-select.disabled,\n.bootstrap-select > .disabled {\n cursor: not-allowed;\n}\n.bootstrap-select.disabled:focus,\n.bootstrap-select > .disabled:focus {\n outline: none !important;\n}\n.bootstrap-select.bs-container {\n position: absolute;\n top: 0;\n left: 0;\n height: 0 !important;\n padding: 0 !important;\n}\n.bootstrap-select.bs-container .dropdown-menu {\n z-index: 1060;\n}\n.bootstrap-select .dropdown-toggle .filter-option {\n position: static;\n top: 0;\n left: 0;\n float: left;\n height: 100%;\n width: 100%;\n text-align: left;\n overflow: hidden;\n flex: 0 1 auto;\n}\n.bootstrap-select .dropdown-toggle .filter-option-inner-inner {\n overflow: hidden;\n}\n.bootstrap-select .dropdown-toggle .filter-expand {\n width: 0 !important;\n float: left;\n opacity: 0 !important;\n overflow: hidden;\n}\n.bootstrap-select .dropdown-toggle .caret {\n position: absolute;\n top: 50%;\n right: 12px;\n margin-top: -2px;\n vertical-align: middle;\n}\n.bootstrap-select .dropdown-toggle .bs-select-clear-selected {\n position: relative;\n display: block;\n margin-right: 5px;\n text-align: center;\n}\n.bootstrap-select .dropdown-toggle .bs-select-clear-selected span {\n position: relative;\n top: calc((-0.6666666667em + 1ex) / 2);\n pointer-events: none;\n}\n.bootstrap-select .dropdown-toggle.bs-placeholder .bs-select-clear-selected {\n display: none;\n}\n.input-group .bootstrap-select.form-control .dropdown-toggle {\n border-radius: inherit;\n}\n.bootstrap-select[class*=col-] .dropdown-toggle {\n width: 100%;\n}\n.bootstrap-select .dropdown-menu {\n min-width: 100%;\n box-sizing: border-box;\n}\n.bootstrap-select .dropdown-menu > .inner:focus {\n outline: none !important;\n}\n.bootstrap-select .dropdown-menu.inner {\n position: static;\n float: none;\n border: 0;\n padding: 0;\n margin: 0;\n border-radius: 0;\n box-shadow: none;\n}\n.bootstrap-select .dropdown-menu li {\n position: relative;\n}\n.bootstrap-select .dropdown-menu li.active small {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.bootstrap-select .dropdown-menu li.disabled a {\n cursor: not-allowed;\n}\n.bootstrap-select .dropdown-menu li a {\n cursor: pointer;\n user-select: none;\n}\n.bootstrap-select .dropdown-menu li a.opt {\n position: relative;\n padding-left: 2.25em;\n}\n.bootstrap-select .dropdown-menu li a span.check-mark {\n display: none;\n}\n.bootstrap-select .dropdown-menu li a span.text {\n display: inline-block;\n}\n.bootstrap-select .dropdown-menu li small {\n padding-left: 0.5em;\n}\n.bootstrap-select .dropdown-menu .notify {\n position: absolute;\n bottom: 5px;\n width: 96%;\n margin: 0 2%;\n min-height: 26px;\n padding: 3px 5px;\n background: rgb(245, 245, 245);\n border: 1px solid rgb(227, 227, 227);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n pointer-events: none;\n opacity: 0.9;\n box-sizing: border-box;\n}\n.bootstrap-select .dropdown-menu .notify.fadeOut {\n animation: 300ms linear 750ms forwards bs-notify-fadeOut;\n}\n.bootstrap-select .no-results {\n padding: 3px;\n background: #f5f5f5;\n margin: 0 5px;\n white-space: nowrap;\n}\n.bootstrap-select.fit-width .dropdown-toggle .filter-option {\n position: static;\n display: inline;\n padding: 0;\n}\n.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner,\n.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner-inner {\n display: inline;\n}\n.bootstrap-select.fit-width .dropdown-toggle .bs-caret:before {\n content: \" \";\n}\n.bootstrap-select.fit-width .dropdown-toggle .caret {\n position: static;\n top: auto;\n margin-top: -1px;\n}\n.bootstrap-select.show-tick .dropdown-menu .selected span.check-mark {\n position: absolute;\n display: inline-block;\n right: 15px;\n top: 50%;\n margin-top: -0.55rem;\n}\n.bootstrap-select.show-tick .dropdown-menu li a span.text {\n margin-right: 34px;\n}\n.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a, .bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu li a {\n padding-left: 2.5rem;\n}\n.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a span.text, .bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu li a span.text {\n margin-right: 0;\n}\n.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a span.check-mark, .bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu li a span.check-mark {\n position: absolute;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n left: 0.75rem;\n right: auto;\n top: 50%;\n width: 1rem;\n height: 1rem;\n margin-top: -0.5rem;\n border: 1px solid var(--bs-border-color, #ced4da);\n border-radius: 0.25rem;\n background: var(--bs-body-bg, #fff);\n color: transparent;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a span.check-mark {\n border-radius: 0.25rem;\n}\n.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu .selected span.check-mark {\n background: var(--bs-primary, #0d6efd);\n border-color: var(--bs-primary, #0d6efd);\n color: var(--bs-white, #fff);\n}\n.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu .selected span.check-mark::after {\n content: \"\";\n width: 0.3rem;\n height: 0.55rem;\n border: solid currentColor;\n border-width: 0 0.14rem 0.14rem 0;\n transform: rotate(45deg);\n margin-top: -0.05rem;\n}\n.bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu li a span.check-mark {\n border-radius: 50%;\n}\n.bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu .selected span.check-mark {\n border-color: var(--bs-primary, #0d6efd);\n color: var(--bs-primary, #0d6efd);\n}\n.bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu .selected span.check-mark::after {\n content: \"\";\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 50%;\n background: currentColor;\n}\n.bootstrap-select .bs-ok-default:after {\n content: \"\";\n display: block;\n width: 0.5em;\n height: 1em;\n border-style: solid;\n border-width: 0 0.26em 0.26em 0;\n transform-style: preserve-3d;\n transform: rotate(45deg);\n}\n\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle, .bootstrap-select.show-menu-arrow.show > .dropdown-toggle {\n z-index: 1061;\n}\n.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:before {\n content: \"\";\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom: 7px solid rgba(204, 204, 204, 0.2);\n position: absolute;\n bottom: -4px;\n left: 9px;\n display: none;\n}\n.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:after {\n content: \"\";\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid white;\n position: absolute;\n bottom: -4px;\n left: 10px;\n display: none;\n}\n.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:before {\n bottom: auto;\n top: -4px;\n border-top: 7px solid rgba(204, 204, 204, 0.2);\n border-bottom: 0;\n}\n.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:after {\n bottom: auto;\n top: -4px;\n border-top: 6px solid white;\n border-bottom: 0;\n}\n.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:before {\n right: 12px;\n left: auto;\n}\n.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:after {\n right: 13px;\n left: auto;\n}\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle .filter-option:before, .bootstrap-select.show-menu-arrow.open > .dropdown-toggle .filter-option:after, .bootstrap-select.show-menu-arrow.show > .dropdown-toggle .filter-option:before, .bootstrap-select.show-menu-arrow.show > .dropdown-toggle .filter-option:after {\n display: block;\n}\n\n.bs-searchbox,\n.bs-actionsbox,\n.bs-donebutton {\n padding: 4px 8px;\n}\n\n.popover-header {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n padding: 0.625rem 0.875rem;\n}\n.popover-header .popover-header-text {\n flex: 1 1 auto;\n min-width: 0;\n}\n.popover-header .btn-close,\n.popover-header .close {\n flex: 0 0 auto;\n margin: 0;\n margin-left: auto;\n}\n.popover-header .btn-close {\n width: 0.875rem;\n height: 0.875rem;\n padding: 0.25rem;\n background-size: 0.75rem;\n}\n.popover-header .close {\n font-size: 0.875rem;\n line-height: 1;\n}\n\n.bs-actionsbox {\n width: 100%;\n box-sizing: border-box;\n}\n.bs-actionsbox .btn-group {\n display: block;\n}\n.bs-actionsbox .btn-group button {\n width: 50%;\n}\n\n.bs-donebutton {\n float: left;\n width: 100%;\n box-sizing: border-box;\n}\n.bs-donebutton .btn-group {\n display: block;\n}\n.bs-donebutton .btn-group button {\n width: 100%;\n}\n\n.bs-searchbox {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n padding: 0.75rem;\n border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.1));\n}\n.bs-searchbox + .bs-actionsbox {\n padding: 0 8px 4px;\n}\n.bs-searchbox .form-control {\n margin-bottom: 0;\n width: 100%;\n float: none;\n min-height: calc(1.5em + 0.75rem + 2px);\n}\n.bs-searchbox .bs-create-option {\n display: block;\n padding: 0.5rem 0.75rem;\n border: 1px dashed rgba(13, 110, 253, 0.45);\n border-radius: 0.375rem;\n background: rgba(13, 110, 253, 0.06);\n color: var(--bs-primary, #0d6efd);\n white-space: normal;\n text-align: left;\n}\n.bs-searchbox .bs-create-option:hover, .bs-searchbox .bs-create-option:focus {\n background: rgba(13, 110, 253, 0.12);\n color: var(--bs-primary-text-emphasis, var(--bs-primary, #0d6efd));\n}\n\n.bs-selected-items {\n display: flex;\n flex-wrap: wrap;\n gap: 0.375rem 0.5rem;\n margin-top: 0.5rem;\n}\n\n.bs-selected-items-external {\n padding: 0 0.125rem;\n}\n\n.bs-selected-item {\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.375rem;\n max-width: 100%;\n min-height: calc(1.5em + 0.25rem + 2px);\n padding: 0.1875rem 0.25rem 0.1875rem 0.625rem;\n border: 1px solid var(--bs-border-color, #ced4da);\n border-radius: 0.875rem;\n background-color: var(--bs-tertiary-bg, #f8f9fa);\n color: var(--bs-body-color, inherit);\n font-size: 0.8125rem;\n line-height: 1.125rem;\n text-align: left;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n -webkit-appearance: none;\n}\n\n.bs-selected-item-content {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n min-width: 0;\n}\n\n.bs-selected-item-icon {\n flex: 0 0 auto;\n}\n\n.bs-selected-item:hover,\n.bs-selected-item:focus {\n border-color: rgba(13, 110, 253, 0.35);\n background-color: var(--bs-secondary-bg, #e9ecef);\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.12);\n outline: 0;\n}\n\n.bs-selected-item-label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.bs-selected-item-remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.125rem;\n height: 1.125rem;\n border-radius: 999px;\n background: rgba(108, 117, 125, 0.14);\n color: var(--bs-secondary-color, #6c757d);\n font-size: 0.875rem;\n font-weight: 900;\n line-height: 1;\n flex: 0 0 auto;\n padding-bottom: 0;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-items {\n display: block;\n margin-top: 0.5rem;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-items-external {\n padding: 0;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item {\n width: 100%;\n min-height: 0;\n padding: 0.75rem 1rem;\n border: 1px solid var(--bs-list-group-border-color, rgba(0, 0, 0, 0.125));\n border-radius: 0;\n background-color: var(--bs-list-group-bg, #fff);\n color: var(--bs-list-group-color, inherit);\n font-size: 1rem;\n line-height: 1.5;\n box-shadow: none;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item:first-child {\n border-top-left-radius: var(--bs-list-group-border-radius, 0.375rem);\n border-top-right-radius: var(--bs-list-group-border-radius, 0.375rem);\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item:last-child {\n border-bottom-left-radius: var(--bs-list-group-border-radius, 0.375rem);\n border-bottom-right-radius: var(--bs-list-group-border-radius, 0.375rem);\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item + .bs-selected-item {\n margin-top: -1px;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item:hover,\n.bootstrap-select.selected-items-style-list .bs-selected-item:focus {\n border-color: var(--bs-list-group-border-color, rgba(0, 0, 0, 0.125));\n background-color: var(--bs-list-group-action-hover-bg, #f8f9fa);\n color: var(--bs-list-group-action-hover-color, inherit);\n box-shadow: none;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item-content {\n flex: 1 1 auto;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item-label {\n white-space: normal;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item-remove {\n width: auto;\n height: auto;\n margin-left: auto;\n border-radius: 0;\n background: transparent;\n font-size: 1rem;\n color: var(--bs-secondary-color, #6c757d);\n}\n\n.form-floating > .bootstrap-select.show-selected-tags {\n position: relative;\n min-height: calc(3.5rem + 2px);\n border: var(--bs-border-width, 1px) solid var(--bs-border-color, #ced4da);\n border-radius: var(--bs-border-radius, 0.375rem);\n background-color: var(--bs-body-bg, #fff);\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n.form-floating > .bootstrap-select.show-selected-tags:focus-within, .form-floating > .bootstrap-select.show-selected-tags.show {\n border-color: #86b7fe;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-floating > .bootstrap-select.show-selected-tags > .dropdown-toggle {\n min-height: 0;\n height: auto;\n padding-top: 1.375rem;\n padding-bottom: 0.25rem;\n border: 0;\n background-color: transparent;\n box-shadow: none;\n}\n.form-floating > .bootstrap-select.show-selected-tags > .dropdown-toggle:hover,\n.form-floating > .bootstrap-select.show-selected-tags > .dropdown-toggle:focus,\n.form-floating > .bootstrap-select.show-selected-tags > .dropdown-toggle:active {\n background-color: transparent;\n box-shadow: none;\n}\n.form-floating > .bootstrap-select.show-selected-tags > .dropdown-toggle .filter-option-inner-inner {\n opacity: 0;\n}\n.form-floating > .bootstrap-select.show-selected-tags > .bs-selected-items-external {\n position: relative;\n z-index: 3;\n margin: 0 2.25rem 0 0.75rem;\n margin-top: 0;\n margin-bottom: 0;\n padding-bottom: 1.375rem;\n}\n\n.form-floating > .bootstrap-select.show-selected-tags ~ label {\n padding-top: 0.75rem;\n}","@use \"sass:math\";\n@use \"variables\" as *;\n\n@function fade($color, $amount) {\n @if math.is-unitless($amount) and $amount > 1 {\n $amount: math.div($amount, 100);\n } @else if math.unit($amount) == \"%\" {\n $amount: math.div($amount, 100%);\n }\n\n @return rgba($color, $amount);\n}\n\n@keyframes bs-notify-fadeOut {\n 0% {opacity: 0.9;}\n 100% {opacity: 0;}\n}\n\n// Mixins\n@mixin cursor-disabled() {\n cursor: not-allowed;\n}\n\n// Rules\nselect.bs-select-hidden,\n.bootstrap-select > select.bs-select-hidden,\nselect.selectpicker {\n display: none !important;\n}\n\n.bootstrap-select {\n width: 100%;\n vertical-align: middle;\n\n // The selectpicker button\n > .dropdown-toggle {\n position: relative;\n width: 100%;\n // necessary for proper positioning of caret in Bootstrap 5 (pushes caret to the right)\n text-align: right;\n white-space: nowrap;\n // force caret to be vertically centered for Bootstrap 5 multi-line buttons\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n\n &:after {\n margin-top: -1px;\n }\n\n &.bs-placeholder {\n &,\n &:hover,\n &:focus,\n &:active {\n color: $input-color-placeholder;\n }\n\n &.btn-primary,\n &.btn-secondary,\n &.btn-success,\n &.btn-danger,\n &.btn-info,\n &.btn-dark {\n &,\n &:hover,\n &:focus,\n &:active {\n color: $input-alt-color-placeholder;\n }\n }\n }\n }\n\n > select {\n position: absolute !important;\n bottom: 0;\n left: 50%;\n display: block !important;\n width: 0.5px !important;\n height: 100% !important;\n padding: 0 !important;\n opacity: 0 !important;\n border: none;\n z-index: 0 !important;\n\n &.mobile-device {\n top: 0;\n left: 0;\n display: block !important;\n width: 100% !important;\n z-index: 2 !important;\n }\n }\n\n // Error display\n .has-error & .dropdown-toggle,\n .error & .dropdown-toggle,\n &.is-invalid .dropdown-toggle,\n .was-validated & select:invalid + .dropdown-toggle {\n border-color: $color-red-error;\n }\n\n &.is-valid .dropdown-toggle,\n .was-validated & select:valid + .dropdown-toggle {\n border-color: $color-green-success;\n }\n\n &:not([class*=\"col-\"]):not([class*=\"form-control\"]):not(.input-group-btn) {\n width: $width-default;\n }\n\n > select.mobile-device:focus + .dropdown-toggle,\n .dropdown-toggle:focus {\n outline: thin dotted #333333 !important;\n outline: 5px auto -webkit-focus-ring-color !important;\n outline-offset: -2px;\n }\n}\n\n// The selectpicker components\n.bootstrap-select {\n &.form-control {\n margin-bottom: 0;\n padding: 0;\n border: none;\n height: auto;\n\n :not(.input-group) > &:not([class*=\"col-\"]) {\n width: 100%;\n }\n\n &.input-group-btn {\n float: none;\n z-index: auto;\n }\n }\n\n .form-inline &,\n .form-inline &.form-control:not([class*=\"col-\"]) {\n width: auto;\n }\n\n &:not(.input-group-btn),\n &[class*=\"col-\"] {\n float: none;\n display: inline-block;\n margin-left: 0;\n }\n\n // Forces the pull to the right, if necessary\n &,\n &[class*=\"col-\"],\n .row &[class*=\"col-\"] {\n &.dropdown-menu-end {\n float: right;\n }\n }\n\n .form-inline &,\n .form-horizontal &,\n .form-group & {\n margin-bottom: 0;\n }\n\n .form-group-lg &.form-control,\n .form-group-sm &.form-control {\n padding: 0;\n\n .dropdown-toggle {\n height: 100%;\n font-size: inherit;\n line-height: inherit;\n border-radius: inherit;\n }\n }\n\n &.form-control-sm .dropdown-toggle,\n &.form-control-lg .dropdown-toggle {\n font-size: inherit;\n line-height: inherit;\n border-radius: inherit;\n }\n\n &.form-control-sm .dropdown-toggle {\n padding: $input-padding-y-sm $input-padding-x-sm;\n }\n\n &.form-control-lg .dropdown-toggle {\n padding: $input-padding-y-lg $input-padding-x-lg;\n }\n\n // Set the width of the live search (and any other form control within an inline form)\n // see https://github.com/silviomoreto/bootstrap-select/issues/685\n .form-inline & .form-control {\n width: 100%;\n }\n\n &.disabled,\n > .disabled {\n @include cursor-disabled();\n\n &:focus {\n outline: none !important;\n }\n }\n\n &.bs-container {\n position: absolute;\n top: 0;\n left: 0;\n height: 0 !important;\n padding: 0 !important;\n \n .dropdown-menu {\n z-index: $zindex-select-dropdown;\n }\n }\n\n // The selectpicker button\n .dropdown-toggle {\n .filter-option {\n position: static;\n top: 0;\n left: 0;\n float: left;\n height: 100%;\n width: 100%;\n text-align: left;\n overflow: hidden;\n flex: 0 1 auto; // for IE10\n }\n\n .filter-option-inner-inner {\n overflow: hidden;\n }\n\n // used to expand the height of the button when inside an input group\n .filter-expand {\n width: 0 !important;\n float: left;\n opacity: 0 !important;\n overflow: hidden;\n }\n\n .caret {\n position: absolute;\n top: 50%;\n right: 12px;\n margin-top: -2px;\n vertical-align: middle;\n }\n\n .bs-select-clear-selected {\n position: relative;\n display: block;\n margin-right: 5px;\n text-align: center;\n\n span {\n position: relative;\n top: calc(((-1em / 1.5) + 1ex) / 2);\n pointer-events: none;\n }\n }\n\n &.bs-placeholder .bs-select-clear-selected {\n display: none;\n }\n }\n\n .input-group &.form-control .dropdown-toggle {\n border-radius: inherit;\n }\n\n &[class*=\"col-\"] .dropdown-toggle {\n width: 100%;\n }\n\n // The selectpicker dropdown\n .dropdown-menu {\n min-width: 100%;\n box-sizing: border-box;\n\n > .inner:focus {\n outline: none !important;\n }\n\n &.inner {\n position: static;\n float: none;\n border: 0;\n padding: 0;\n margin: 0;\n border-radius: 0;\n box-shadow: none;\n }\n\n li {\n position: relative;\n\n &.active small {\n color: $input-alt-color-placeholder !important;\n }\n\n &.disabled a {\n @include cursor-disabled();\n }\n\n a {\n cursor: pointer;\n user-select: none;\n\n &.opt {\n position: relative;\n padding-left: 2.25em;\n }\n\n span.check-mark {\n display: none;\n }\n\n span.text {\n display: inline-block;\n }\n }\n\n small {\n padding-left: 0.5em;\n }\n }\n\n .notify {\n position: absolute;\n bottom: 5px;\n width: 96%;\n margin: 0 2%;\n min-height: 26px;\n padding: 3px 5px;\n background: rgb(245, 245, 245);\n border: 1px solid rgb(227, 227, 227);\n box-shadow: inset 0 1px 1px fade(rgb(0, 0, 0), 5%);\n pointer-events: none;\n opacity: 0.9;\n box-sizing: border-box;\n\n &.fadeOut {\n animation: 300ms linear 750ms forwards bs-notify-fadeOut;\n }\n }\n }\n\n .no-results {\n padding: 3px;\n background: #f5f5f5;\n margin: 0 5px;\n white-space: nowrap;\n }\n\n &.fit-width .dropdown-toggle {\n .filter-option {\n position: static;\n display: inline;\n padding: 0;\n }\n\n .filter-option-inner,\n .filter-option-inner-inner {\n display: inline;\n }\n\n .bs-caret:before {\n content: '\\00a0';\n }\n\n .caret {\n position: static;\n top: auto;\n margin-top: -1px;\n }\n }\n\n &.show-tick .dropdown-menu {\n .selected span.check-mark {\n position: absolute;\n display: inline-block;\n right: 15px;\n top: 50%;\n margin-top: -0.55rem;\n }\n\n li a span.text {\n margin-right: 34px;\n }\n }\n\n &.selection-indicator-checkbox.show-tick .dropdown-menu,\n &.selection-indicator-radio.show-tick .dropdown-menu {\n li a {\n padding-left: 2.5rem;\n }\n\n li a span.text {\n margin-right: 0;\n }\n\n li a span.check-mark {\n position: absolute;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n left: 0.75rem;\n right: auto;\n top: 50%;\n width: 1rem;\n height: 1rem;\n margin-top: -0.5rem;\n border: 1px solid var(--bs-border-color, #ced4da);\n border-radius: 0.25rem;\n background: var(--bs-body-bg, #fff);\n color: transparent;\n transition: background-color .15s ease-in-out, border-color .15s ease-in-out, color .15s ease-in-out, box-shadow .15s ease-in-out;\n }\n }\n\n &.selection-indicator-checkbox.show-tick .dropdown-menu {\n li a span.check-mark {\n border-radius: 0.25rem;\n }\n\n .selected span.check-mark {\n background: var(--bs-primary, #0d6efd);\n border-color: var(--bs-primary, #0d6efd);\n color: var(--bs-white, #fff);\n }\n\n .selected span.check-mark::after {\n content: '';\n width: 0.3rem;\n height: 0.55rem;\n border: solid currentColor;\n border-width: 0 0.14rem 0.14rem 0;\n transform: rotate(45deg);\n margin-top: -0.05rem;\n }\n }\n\n &.selection-indicator-radio.show-tick .dropdown-menu {\n li a span.check-mark {\n border-radius: 50%;\n }\n\n .selected span.check-mark {\n border-color: var(--bs-primary, #0d6efd);\n color: var(--bs-primary, #0d6efd);\n }\n\n .selected span.check-mark::after {\n content: '';\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 50%;\n background: currentColor;\n }\n }\n\n // default check mark for use without an icon font\n .bs-ok-default:after {\n content: '';\n display: block;\n width: 0.5em;\n height: 1em;\n border-style: solid;\n border-width: 0 0.26em 0.26em 0;\n transform-style: preserve-3d;\n transform: rotate(45deg);\n }\n}\n\n.bootstrap-select.show-menu-arrow {\n &.open > .dropdown-toggle,\n &.show > .dropdown-toggle {\n z-index: ($zindex-select-dropdown + 1);\n }\n\n .dropdown-toggle .filter-option {\n &:before {\n content: '';\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom: 7px solid $color-grey-arrow;\n position: absolute;\n bottom: -4px;\n left: 9px;\n display: none;\n }\n\n &:after {\n content: '';\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid white;\n position: absolute;\n bottom: -4px;\n left: 10px;\n display: none;\n }\n }\n\n &.dropup .dropdown-toggle .filter-option {\n &:before {\n bottom: auto;\n top: -4px;\n border-top: 7px solid $color-grey-arrow;\n border-bottom: 0;\n }\n\n &:after {\n bottom: auto;\n top: -4px;\n border-top: 6px solid white;\n border-bottom: 0;\n }\n }\n\n &.pull-right .dropdown-toggle .filter-option {\n &:before {\n right: 12px;\n left: auto;\n }\n\n &:after {\n right: 13px;\n left: auto;\n }\n }\n\n &.open > .dropdown-toggle .filter-option,\n &.show > .dropdown-toggle .filter-option {\n &:before,\n &:after {\n display: block;\n }\n }\n}\n\n.bs-searchbox,\n.bs-actionsbox,\n.bs-donebutton {\n padding: 4px 8px;\n}\n\n.popover-header {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n padding: 0.625rem 0.875rem;\n\n .popover-header-text {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n .btn-close,\n .close {\n flex: 0 0 auto;\n margin: 0;\n margin-left: auto;\n }\n\n .btn-close {\n width: 0.875rem;\n height: 0.875rem;\n padding: 0.25rem;\n background-size: 0.75rem;\n }\n\n .close {\n font-size: 0.875rem;\n line-height: 1;\n }\n}\n\n.bs-actionsbox {\n width: 100%;\n box-sizing: border-box;\n\n & .btn-group {\n display: block;\n\n & button {\n width: 50%;\n }\n }\n}\n\n.bs-donebutton {\n float: left;\n width: 100%;\n box-sizing: border-box;\n\n & .btn-group {\n display: block;\n\n & button {\n width: 100%;\n }\n }\n}\n\n.bs-searchbox {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n padding: 0.75rem;\n border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.1));\n\n & + .bs-actionsbox {\n padding: 0 8px 4px;\n }\n\n & .form-control {\n margin-bottom: 0;\n width: 100%;\n float: none;\n min-height: calc(1.5em + 0.75rem + 2px);\n }\n\n & .bs-create-option {\n display: block;\n padding: 0.5rem 0.75rem;\n border: 1px dashed rgba(13, 110, 253, 0.45);\n border-radius: 0.375rem;\n background: rgba(13, 110, 253, 0.06);\n color: var(--bs-primary, #0d6efd);\n white-space: normal;\n text-align: left;\n }\n\n & .bs-create-option:hover,\n & .bs-create-option:focus {\n background: rgba(13, 110, 253, 0.12);\n color: var(--bs-primary-text-emphasis, var(--bs-primary, #0d6efd));\n }\n}\n\n.bs-selected-items {\n display: flex;\n flex-wrap: wrap;\n gap: 0.375rem 0.5rem;\n margin-top: 0.5rem;\n}\n\n.bs-selected-items-external {\n padding: 0 0.125rem;\n}\n\n.bs-selected-item {\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.375rem;\n max-width: 100%;\n min-height: calc(1.5em + 0.25rem + 2px);\n padding: 0.1875rem 0.25rem 0.1875rem 0.625rem;\n border: 1px solid var(--bs-border-color, #ced4da);\n border-radius: 0.875rem;\n background-color: var(--bs-tertiary-bg, #f8f9fa);\n color: var(--bs-body-color, inherit);\n font-size: 0.8125rem;\n line-height: 1.125rem;\n text-align: left;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);\n transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;\n appearance: none;\n -webkit-appearance: none;\n}\n\n.bs-selected-item-content {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n min-width: 0;\n}\n\n.bs-selected-item-icon {\n flex: 0 0 auto;\n}\n\n.bs-selected-item:hover,\n.bs-selected-item:focus {\n border-color: rgba(13, 110, 253, 0.35);\n background-color: var(--bs-secondary-bg, #e9ecef);\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.12);\n outline: 0;\n}\n\n.bs-selected-item-label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.bs-selected-item-remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.125rem;\n height: 1.125rem;\n border-radius: 999px;\n background: rgba(108, 117, 125, 0.14);\n color: var(--bs-secondary-color, #6c757d);\n font-size: 0.875rem;\n font-weight: 900;\n line-height: 1;\n flex: 0 0 auto;\n padding-bottom: 0;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-items {\n display: block;\n margin-top: 0.5rem;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-items-external {\n padding: 0;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item {\n width: 100%;\n min-height: 0;\n padding: 0.75rem 1rem;\n border: 1px solid var(--bs-list-group-border-color, rgba(0, 0, 0, 0.125));\n border-radius: 0;\n background-color: var(--bs-list-group-bg, #fff);\n color: var(--bs-list-group-color, inherit);\n font-size: 1rem;\n line-height: 1.5;\n box-shadow: none;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item:first-child {\n border-top-left-radius: var(--bs-list-group-border-radius, 0.375rem);\n border-top-right-radius: var(--bs-list-group-border-radius, 0.375rem);\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item:last-child {\n border-bottom-left-radius: var(--bs-list-group-border-radius, 0.375rem);\n border-bottom-right-radius: var(--bs-list-group-border-radius, 0.375rem);\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item + .bs-selected-item {\n margin-top: -1px;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item:hover,\n.bootstrap-select.selected-items-style-list .bs-selected-item:focus {\n border-color: var(--bs-list-group-border-color, rgba(0, 0, 0, 0.125));\n background-color: var(--bs-list-group-action-hover-bg, #f8f9fa);\n color: var(--bs-list-group-action-hover-color, inherit);\n box-shadow: none;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item-content {\n flex: 1 1 auto;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item-label {\n white-space: normal;\n}\n\n.bootstrap-select.selected-items-style-list .bs-selected-item-remove {\n width: auto;\n height: auto;\n margin-left: auto;\n border-radius: 0;\n background: transparent;\n font-size: 1rem;\n color: var(--bs-secondary-color, #6c757d);\n}\n\n.form-floating > .bootstrap-select.show-selected-tags {\n position: relative;\n min-height: calc(3.5rem + 2px);\n border: var(--bs-border-width, 1px) solid var(--bs-border-color, #ced4da);\n border-radius: var(--bs-border-radius, 0.375rem);\n background-color: var(--bs-body-bg, #fff);\n transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;\n\n &:focus-within,\n &.show {\n border-color: #86b7fe;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n }\n\n > .dropdown-toggle {\n min-height: 0;\n height: auto;\n padding-top: 1.375rem;\n padding-bottom: 0.25rem;\n border: 0;\n background-color: transparent;\n box-shadow: none;\n }\n\n > .dropdown-toggle:hover,\n > .dropdown-toggle:focus,\n > .dropdown-toggle:active {\n background-color: transparent;\n box-shadow: none;\n }\n\n > .dropdown-toggle .filter-option-inner-inner {\n opacity: 0;\n }\n\n > .bs-selected-items-external {\n position: relative;\n z-index: 3;\n margin: 0 2.25rem 0 0.75rem;\n margin-top: 0;\n margin-bottom: 0;\n padding-bottom: 1.375rem;\n }\n}\n\n.form-floating > .bootstrap-select.show-selected-tags ~ label {\n padding-top: 0.75rem;\n}\n","$color-red-error: rgb(185, 74, 72) !default;\r\n$color-green-success: #28a745 !default;\r\n$color-grey-arrow: rgba(204, 204, 204, 0.2) !default;\r\n\r\n$width-default: 100% !default;\r\n\r\n$zindex-select-dropdown: 1060 !default; // must be higher than a modal background (1050)\r\n\r\n//** Placeholder text color\r\n$input-color-placeholder: #999 !default;\r\n$input-alt-color-placeholder: rgba(255, 255, 255, 0.5) !default;\r\n\r\n$input-padding-y-sm: .25rem !default;\r\n$input-padding-x-sm: .5rem !default;\r\n\r\n$input-padding-y-lg: 0.5rem !default;\r\n$input-padding-x-lg: 1rem !default;\r\n"]} \ No newline at end of file diff --git a/docs/dist/css/bootstrap-select.min.css b/docs/dist/css/bootstrap-select.min.css index e578b3c..c05fd75 100644 --- a/docs/dist/css/bootstrap-select.min.css +++ b/docs/dist/css/bootstrap-select.min.css @@ -1,8 +1,9 @@ -/*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) +@charset "UTF-8"; +/* ! + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) - */@keyframes bs-notify-fadeOut{0%{opacity:.9}100%{opacity:0}}.bootstrap-select>select.bs-select-hidden,select.bs-select-hidden,select.selectpicker{display:none!important}.bootstrap-select{width:100%;vertical-align:middle}.bootstrap-select>.dropdown-toggle{position:relative;width:100%;text-align:right;white-space:nowrap;display:inline-flex;align-items:center;justify-content:space-between}.bootstrap-select>.dropdown-toggle:after{margin-top:-1px}.bootstrap-select>.dropdown-toggle.bs-placeholder,.bootstrap-select>.dropdown-toggle.bs-placeholder:active,.bootstrap-select>.dropdown-toggle.bs-placeholder:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder:hover{color:#999}.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:hover{color:rgba(255,255,255,.5)}.bootstrap-select>select{position:absolute!important;bottom:0;left:50%;display:block!important;width:.5px!important;height:100%!important;padding:0!important;opacity:0!important;border:none;z-index:0!important}.bootstrap-select>select.mobile-device{top:0;left:0;display:block!important;width:100%!important;z-index:2!important}.bootstrap-select.is-invalid .dropdown-toggle,.error .bootstrap-select .dropdown-toggle,.has-error .bootstrap-select .dropdown-toggle,.was-validated .bootstrap-select select:invalid+.dropdown-toggle{border-color:#b94a48}.bootstrap-select.is-valid .dropdown-toggle,.was-validated .bootstrap-select select:valid+.dropdown-toggle{border-color:#28a745}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:100%}.bootstrap-select .dropdown-toggle:focus,.bootstrap-select>select.mobile-device:focus+.dropdown-toggle{outline:thin dotted #333333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none;height:auto}:not(.input-group)>.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.form-control.input-group-btn{float:none;z-index:auto}.form-inline .bootstrap-select,.form-inline .bootstrap-select.form-control:not([class*=col-]){width:auto}.bootstrap-select:not(.input-group-btn),.bootstrap-select[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.dropdown-menu-end,.bootstrap-select[class*=col-].dropdown-menu-end,.row .bootstrap-select[class*=col-].dropdown-menu-end{float:right}.form-group .bootstrap-select,.form-horizontal .bootstrap-select,.form-inline .bootstrap-select{margin-bottom:0}.form-group-lg .bootstrap-select.form-control,.form-group-sm .bootstrap-select.form-control{padding:0}.form-group-lg .bootstrap-select.form-control .dropdown-toggle,.form-group-sm .bootstrap-select.form-control .dropdown-toggle{height:100%;font-size:inherit;line-height:inherit;border-radius:inherit}.bootstrap-select.form-control-lg .dropdown-toggle,.bootstrap-select.form-control-sm .dropdown-toggle{font-size:inherit;line-height:inherit;border-radius:inherit}.bootstrap-select.form-control-sm .dropdown-toggle{padding:.25rem .5rem}.bootstrap-select.form-control-lg .dropdown-toggle{padding:.5rem 1rem}.form-inline .bootstrap-select .form-control{width:100%}.bootstrap-select.disabled,.bootstrap-select>.disabled{cursor:not-allowed}.bootstrap-select.disabled:focus,.bootstrap-select>.disabled:focus{outline:0!important}.bootstrap-select.bs-container{position:absolute;top:0;left:0;height:0!important;padding:0!important}.bootstrap-select.bs-container .dropdown-menu{z-index:1060}.bootstrap-select .dropdown-toggle .filter-option{position:static;top:0;left:0;float:left;height:100%;width:100%;text-align:left;overflow:hidden;flex:0 1 auto}.bootstrap-select .dropdown-toggle .filter-option-inner-inner{overflow:hidden}.bootstrap-select .dropdown-toggle .filter-expand{width:0!important;float:left;opacity:0!important;overflow:hidden}.bootstrap-select .dropdown-toggle .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select .dropdown-toggle .bs-select-clear-selected{position:relative;display:block;margin-right:5px;text-align:center}.bootstrap-select .dropdown-toggle .bs-select-clear-selected span{position:relative;top:calc(((-1em / 1.5) + 1ex)/ 2);pointer-events:none}.bootstrap-select .dropdown-toggle.bs-placeholder .bs-select-clear-selected{display:none}.input-group .bootstrap-select.form-control .dropdown-toggle{border-radius:inherit}.bootstrap-select[class*=col-] .dropdown-toggle{width:100%}.bootstrap-select .dropdown-menu{min-width:100%;box-sizing:border-box}.bootstrap-select .dropdown-menu>.inner:focus{outline:0!important}.bootstrap-select .dropdown-menu.inner{position:static;float:none;border:0;padding:0;margin:0;border-radius:0;box-shadow:none}.bootstrap-select .dropdown-menu li{position:relative}.bootstrap-select .dropdown-menu li.active small{color:rgba(255,255,255,.5)!important}.bootstrap-select .dropdown-menu li.disabled a{cursor:not-allowed}.bootstrap-select .dropdown-menu li a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.bootstrap-select .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select .dropdown-menu li a span.check-mark{display:none}.bootstrap-select .dropdown-menu li a span.text{display:inline-block}.bootstrap-select .dropdown-menu li small{padding-left:.5em}.bootstrap-select .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;box-sizing:border-box}.bootstrap-select .dropdown-menu .notify.fadeOut{animation:.3s linear 750ms forwards bs-notify-fadeOut}.bootstrap-select .no-results{padding:3px;background:#f5f5f5;margin:0 5px;white-space:nowrap}.bootstrap-select.fit-width .dropdown-toggle .filter-option{position:static;display:inline;padding:0}.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner,.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner-inner{display:inline}.bootstrap-select.fit-width .dropdown-toggle .bs-caret:before{content:'\00a0'}.bootstrap-select.fit-width .dropdown-toggle .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.show-tick .dropdown-menu .selected span.check-mark{position:absolute;display:inline-block;right:15px;top:50%;margin-top:-.55rem}.bootstrap-select.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a{padding-left:2.5rem}.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a span.text{margin-right:0}.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a span.check-mark{position:absolute;display:inline-flex;align-items:center;justify-content:center;left:.75rem;right:auto;top:50%;width:1rem;height:1rem;margin-top:-.5rem;border:1px solid var(--bs-border-color,#ced4da);border-radius:.25rem;background:var(--bs-body-bg,#fff);color:transparent;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,color .15s ease-in-out,box-shadow .15s ease-in-out}.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu .selected span.check-mark{background:var(--bs-primary,#0d6efd);border-color:var(--bs-primary,#0d6efd);color:var(--bs-white,#fff)}.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu .selected span.check-mark::after{content:'';width:.3rem;height:.55rem;border:solid currentColor;border-width:0 .14rem .14rem 0;transform:rotate(45deg);margin-top:-.05rem}.bootstrap-select .bs-ok-default:after{content:'';display:block;width:.5em;height:1em;border-style:solid;border-width:0 .26em .26em 0;transform-style:preserve-3d;transform:rotate(45deg)}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle,.bootstrap-select.show-menu-arrow.show>.dropdown-toggle{z-index:1061}.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:before{bottom:auto;top:-4px;border-top:7px solid rgba(204,204,204,.2);border-bottom:0}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:after{bottom:auto;top:-4px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle .filter-option:after,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle .filter-option:before,.bootstrap-select.show-menu-arrow.show>.dropdown-toggle .filter-option:after,.bootstrap-select.show-menu-arrow.show>.dropdown-toggle .filter-option:before{display:block}.bs-actionsbox,.bs-donebutton,.bs-searchbox{padding:4px 8px}.popover-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.popover-header .btn-close,.popover-header .close{flex:0 0 auto;margin:0}.popover-header .btn-close{padding:.375rem}.bs-actionsbox{width:100%;box-sizing:border-box}.bs-actionsbox .btn-group{display:block}.bs-actionsbox .btn-group button{width:50%}.bs-donebutton{float:left;width:100%;box-sizing:border-box}.bs-donebutton .btn-group{display:block}.bs-donebutton .btn-group button{width:100%}.bs-searchbox{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;border-bottom:1px solid var(--bs-border-color-translucent,rgba(0,0,0,.1))}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox .form-control{margin-bottom:0;width:100%;float:none;min-height:calc(1.5em + .75rem + 2px)}.bs-searchbox .bs-create-option{display:block;padding:.5rem .75rem;border:1px dashed rgba(13,110,253,.45);border-radius:.375rem;background:rgba(13,110,253,.06);color:var(--bs-primary,#0d6efd);white-space:normal;text-align:left}.bs-searchbox .bs-create-option:focus,.bs-searchbox .bs-create-option:hover{background:rgba(13,110,253,.12);color:var(--bs-primary-text-emphasis,var(--bs-primary,#0d6efd))}.bs-selected-items{display:flex;flex-wrap:wrap;gap:.375rem .5rem;margin-top:.5rem}.bs-selected-items-external{padding:0 .125rem}.bs-selected-item{display:inline-flex;align-items:center;justify-content:space-between;gap:.375rem;max-width:100%;min-height:calc(1.5em + .25rem + 2px);padding:.1875rem .25rem .1875rem .625rem;border:1px solid var(--bs-border-color,#ced4da);border-radius:.875rem;background-color:var(--bs-tertiary-bg,#f8f9fa);color:var(--bs-body-color,inherit);font-size:.8125rem;line-height:1.125rem;text-align:left;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none;-webkit-appearance:none}.bs-selected-item-content{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.bs-selected-item-icon{flex:0 0 auto}.bs-selected-item:focus,.bs-selected-item:hover{border-color:rgba(13,110,253,.35);background-color:var(--bs-secondary-bg,#e9ecef);box-shadow:0 0 0 .2rem rgba(13,110,253,.12);outline:0}.bs-selected-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bs-selected-item-remove{display:inline-flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;border-radius:999px;background:rgba(108,117,125,.14);color:var(--bs-secondary-color,#6c757d);font-size:.875rem;font-weight:900;line-height:1;flex:0 0 auto;padding-bottom:0}.bootstrap-select.selected-items-style-list .bs-selected-items{display:block;margin-top:.5rem}.bootstrap-select.selected-items-style-list .bs-selected-items-external{padding:0}.bootstrap-select.selected-items-style-list .bs-selected-item{width:100%;min-height:0;padding:.75rem 1rem;border:1px solid var(--bs-list-group-border-color,rgba(0,0,0,.125));border-radius:0;background-color:var(--bs-list-group-bg,#fff);color:var(--bs-list-group-color,inherit);font-size:1rem;line-height:1.5;box-shadow:none}.bootstrap-select.selected-items-style-list .bs-selected-item:first-child{border-top-left-radius:var(--bs-list-group-border-radius,.375rem);border-top-right-radius:var(--bs-list-group-border-radius,.375rem)}.bootstrap-select.selected-items-style-list .bs-selected-item:last-child{border-bottom-left-radius:var(--bs-list-group-border-radius,.375rem);border-bottom-right-radius:var(--bs-list-group-border-radius,.375rem)}.bootstrap-select.selected-items-style-list .bs-selected-item+.bs-selected-item{margin-top:-1px}.bootstrap-select.selected-items-style-list .bs-selected-item:focus,.bootstrap-select.selected-items-style-list .bs-selected-item:hover{border-color:var(--bs-list-group-border-color,rgba(0,0,0,.125));background-color:var(--bs-list-group-action-hover-bg,#f8f9fa);color:var(--bs-list-group-action-hover-color,inherit);box-shadow:none}.bootstrap-select.selected-items-style-list .bs-selected-item-content{flex:1 1 auto}.bootstrap-select.selected-items-style-list .bs-selected-item-label{white-space:normal}.bootstrap-select.selected-items-style-list .bs-selected-item-remove{width:auto;height:auto;margin-left:auto;border-radius:0;background:0 0;font-size:1rem;color:var(--bs-secondary-color,#6c757d)}.form-floating>.bootstrap-select.show-selected-tags{position:relative;min-height:calc(3.5rem + 2px);border:var(--bs-border-width,1px) solid var(--bs-border-color,#ced4da);border-radius:var(--bs-border-radius,.375rem);background-color:var(--bs-body-bg,#fff);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-floating>.bootstrap-select.show-selected-tags.show,.form-floating>.bootstrap-select.show-selected-tags:focus-within{border-color:#86b7fe;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-floating>.bootstrap-select.show-selected-tags>.dropdown-toggle{min-height:0;height:auto;padding-top:1.375rem;padding-bottom:.25rem;border:0;background-color:transparent;box-shadow:none}.form-floating>.bootstrap-select.show-selected-tags>.dropdown-toggle:active,.form-floating>.bootstrap-select.show-selected-tags>.dropdown-toggle:focus,.form-floating>.bootstrap-select.show-selected-tags>.dropdown-toggle:hover{background-color:transparent;box-shadow:none}.form-floating>.bootstrap-select.show-selected-tags>.dropdown-toggle .filter-option-inner-inner{opacity:0}.form-floating>.bootstrap-select.show-selected-tags>.bs-selected-items-external{position:relative;z-index:3;margin:0 2.25rem 0 .75rem;margin-top:0;margin-bottom:0;padding-bottom:1.375rem}.form-floating>.bootstrap-select.show-selected-tags~label{padding-top:.75rem} \ No newline at end of file + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) + */@keyframes bs-notify-fadeOut{0%{opacity:.9}to{opacity:0}}.bootstrap-select>select.bs-select-hidden,select.bs-select-hidden,select.selectpicker{display:none!important}.bootstrap-select{vertical-align:middle;width:100%}.bootstrap-select>.dropdown-toggle{align-items:center;display:inline-flex;justify-content:space-between;position:relative;text-align:right;white-space:nowrap;width:100%}.bootstrap-select>.dropdown-toggle:after{margin-top:-1px}.bootstrap-select>.dropdown-toggle.bs-placeholder,.bootstrap-select>.dropdown-toggle.bs-placeholder:active,.bootstrap-select>.dropdown-toggle.bs-placeholder:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder:hover{color:#999}.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:hover{color:hsla(0,0%,100%,.5)}.bootstrap-select>select{border:none;bottom:0;display:block!important;height:100%!important;left:50%;opacity:0!important;padding:0!important;position:absolute!important;width:.5px!important;z-index:0!important}.bootstrap-select>select.mobile-device{display:block!important;left:0;top:0;width:100%!important;z-index:2!important}.bootstrap-select.is-invalid .dropdown-toggle,.error .bootstrap-select .dropdown-toggle,.has-error .bootstrap-select .dropdown-toggle,.was-validated .bootstrap-select select:invalid+.dropdown-toggle{border-color:#b94a48}.bootstrap-select.is-valid .dropdown-toggle,.was-validated .bootstrap-select select:valid+.dropdown-toggle{border-color:#28a745}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:100%}.bootstrap-select .dropdown-toggle:focus,.bootstrap-select>select.mobile-device:focus+.dropdown-toggle{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{border:none;height:auto;margin-bottom:0;padding:0}:not(.input-group)>.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.form-control.input-group-btn{float:none;z-index:auto}.form-inline .bootstrap-select,.form-inline .bootstrap-select.form-control:not([class*=col-]){width:auto}.bootstrap-select:not(.input-group-btn),.bootstrap-select[class*=col-]{display:inline-block;float:none;margin-left:0}.bootstrap-select.dropdown-menu-end,.bootstrap-select[class*=col-].dropdown-menu-end,.row .bootstrap-select[class*=col-].dropdown-menu-end{float:right}.form-group .bootstrap-select,.form-horizontal .bootstrap-select,.form-inline .bootstrap-select{margin-bottom:0}.form-group-lg .bootstrap-select.form-control,.form-group-sm .bootstrap-select.form-control{padding:0}.form-group-lg .bootstrap-select.form-control .dropdown-toggle,.form-group-sm .bootstrap-select.form-control .dropdown-toggle{border-radius:inherit;font-size:inherit;height:100%;line-height:inherit}.bootstrap-select.form-control-lg .dropdown-toggle,.bootstrap-select.form-control-sm .dropdown-toggle{border-radius:inherit;font-size:inherit;line-height:inherit}.bootstrap-select.form-control-sm .dropdown-toggle{padding:.25rem .5rem}.bootstrap-select.form-control-lg .dropdown-toggle{padding:.5rem 1rem}.form-inline .bootstrap-select .form-control{width:100%}.bootstrap-select.disabled,.bootstrap-select>.disabled{cursor:not-allowed}.bootstrap-select.disabled:focus,.bootstrap-select>.disabled:focus{outline:none!important}.bootstrap-select.bs-container{height:0!important;left:0;padding:0!important;position:absolute;top:0}.bootstrap-select.bs-container .dropdown-menu{z-index:1060}.bootstrap-select .dropdown-toggle .filter-option{flex:0 1 auto;float:left;height:100%;left:0;overflow:hidden;position:static;text-align:left;top:0;width:100%}.bootstrap-select .dropdown-toggle .filter-option-inner-inner{overflow:hidden}.bootstrap-select .dropdown-toggle .filter-expand{float:left;opacity:0!important;overflow:hidden;width:0!important}.bootstrap-select .dropdown-toggle .caret{margin-top:-2px;position:absolute;right:12px;top:50%;vertical-align:middle}.bootstrap-select .dropdown-toggle .bs-select-clear-selected{display:block;margin-right:5px;position:relative;text-align:center}.bootstrap-select .dropdown-toggle .bs-select-clear-selected span{pointer-events:none;position:relative;top:calc(-.33333em + .5ex)}.bootstrap-select .dropdown-toggle.bs-placeholder .bs-select-clear-selected{display:none}.input-group .bootstrap-select.form-control .dropdown-toggle{border-radius:inherit}.bootstrap-select[class*=col-] .dropdown-toggle{width:100%}.bootstrap-select .dropdown-menu{box-sizing:border-box;min-width:100%}.bootstrap-select .dropdown-menu>.inner:focus{outline:none!important}.bootstrap-select .dropdown-menu.inner{border:0;border-radius:0;box-shadow:none;float:none;margin:0;padding:0;position:static}.bootstrap-select .dropdown-menu li{position:relative}.bootstrap-select .dropdown-menu li.active small{color:hsla(0,0%,100%,.5)!important}.bootstrap-select .dropdown-menu li.disabled a{cursor:not-allowed}.bootstrap-select .dropdown-menu li a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.bootstrap-select .dropdown-menu li a.opt{padding-left:2.25em;position:relative}.bootstrap-select .dropdown-menu li a span.check-mark{display:none}.bootstrap-select .dropdown-menu li a span.text{display:inline-block}.bootstrap-select .dropdown-menu li small{padding-left:.5em}.bootstrap-select .dropdown-menu .notify{background:#f5f5f5;border:1px solid #e3e3e3;bottom:5px;box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-sizing:border-box;margin:0 2%;min-height:26px;opacity:.9;padding:3px 5px;pointer-events:none;position:absolute;width:96%}.bootstrap-select .dropdown-menu .notify.fadeOut{animation:bs-notify-fadeOut .3s linear .75s forwards}.bootstrap-select .no-results{background:#f5f5f5;margin:0 5px;padding:3px;white-space:nowrap}.bootstrap-select.fit-width .dropdown-toggle .filter-option{display:inline;padding:0;position:static}.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner,.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner-inner{display:inline}.bootstrap-select.fit-width .dropdown-toggle .bs-caret:before{content:" "}.bootstrap-select.fit-width .dropdown-toggle .caret{margin-top:-1px;position:static;top:auto}.bootstrap-select.show-tick .dropdown-menu .selected span.check-mark{display:inline-block;margin-top:-.55rem;position:absolute;right:15px;top:50%}.bootstrap-select.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a,.bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu li a{padding-left:2.5rem}.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a span.text,.bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu li a span.text{margin-right:0}.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a span.check-mark,.bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu li a span.check-mark{align-items:center;background:var(--bs-body-bg,#fff);border:1px solid var(--bs-border-color,#ced4da);border-radius:.25rem;color:transparent;display:inline-flex;height:1rem;justify-content:center;left:.75rem;margin-top:-.5rem;position:absolute;right:auto;top:50%;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu li a span.check-mark{border-radius:.25rem}.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu .selected span.check-mark{background:var(--bs-primary,#0d6efd);border-color:var(--bs-primary,#0d6efd);color:var(--bs-white,#fff)}.bootstrap-select.selection-indicator-checkbox.show-tick .dropdown-menu .selected span.check-mark:after{border:solid;border-width:0 .14rem .14rem 0;content:"";height:.55rem;margin-top:-.05rem;transform:rotate(45deg);width:.3rem}.bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu li a span.check-mark{border-radius:50%}.bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu .selected span.check-mark{border-color:var(--bs-primary,#0d6efd);color:var(--bs-primary,#0d6efd)}.bootstrap-select.selection-indicator-radio.show-tick .dropdown-menu .selected span.check-mark:after{background:currentColor;border-radius:50%;content:"";height:.5rem;width:.5rem}.bootstrap-select .bs-ok-default:after{border-style:solid;border-width:0 .26em .26em 0;content:"";display:block;height:1em;transform:rotate(45deg);transform-style:preserve-3d;width:.5em}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle,.bootstrap-select.show-menu-arrow.show>.dropdown-toggle{z-index:1061}.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:before{border-bottom:7px solid hsla(0,0%,80%,.2);border-left:7px solid transparent;border-right:7px solid transparent;bottom:-4px;content:"";display:none;left:9px;position:absolute}.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:after{border-bottom:6px solid #fff;border-left:6px solid transparent;border-right:6px solid transparent;bottom:-4px;content:"";display:none;left:10px;position:absolute}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:before{border-bottom:0;border-top:7px solid hsla(0,0%,80%,.2);bottom:auto;top:-4px}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:after{border-bottom:0;border-top:6px solid #fff;bottom:auto;top:-4px}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:before{left:auto;right:12px}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:after{left:auto;right:13px}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle .filter-option:after,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle .filter-option:before,.bootstrap-select.show-menu-arrow.show>.dropdown-toggle .filter-option:after,.bootstrap-select.show-menu-arrow.show>.dropdown-toggle .filter-option:before{display:block}.bs-actionsbox,.bs-donebutton,.bs-searchbox{padding:4px 8px}.popover-header{align-items:center;display:flex;gap:.75rem;padding:.625rem .875rem}.popover-header .popover-header-text{flex:1 1 auto;min-width:0}.popover-header .btn-close,.popover-header .close{flex:0 0 auto;margin:0 0 0 auto}.popover-header .btn-close{background-size:.75rem;height:.875rem;padding:.25rem;width:.875rem}.popover-header .close{font-size:.875rem;line-height:1}.bs-actionsbox{box-sizing:border-box;width:100%}.bs-actionsbox .btn-group{display:block}.bs-actionsbox .btn-group button{width:50%}.bs-donebutton{box-sizing:border-box;float:left;width:100%}.bs-donebutton .btn-group{display:block}.bs-donebutton .btn-group button{width:100%}.bs-searchbox{border-bottom:1px solid var(--bs-border-color-translucent,rgba(0,0,0,.1));display:flex;flex-direction:column;gap:.75rem;padding:.75rem}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox .form-control{float:none;margin-bottom:0;min-height:calc(1.5em + .75rem + 2px);width:100%}.bs-searchbox .bs-create-option{background:rgba(13,110,253,.06);border:1px dashed rgba(13,110,253,.45);border-radius:.375rem;color:var(--bs-primary,#0d6efd);display:block;padding:.5rem .75rem;text-align:left;white-space:normal}.bs-searchbox .bs-create-option:focus,.bs-searchbox .bs-create-option:hover{background:rgba(13,110,253,.12);color:var(--bs-primary-text-emphasis,var(--bs-primary,#0d6efd))}.bs-selected-items{display:flex;flex-wrap:wrap;gap:.375rem .5rem;margin-top:.5rem}.bs-selected-items-external{padding:0 .125rem}.bs-selected-item{align-items:center;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--bs-tertiary-bg,#f8f9fa);border:1px solid var(--bs-border-color,#ced4da);border-radius:.875rem;box-shadow:0 1px 2px rgba(0,0,0,.04);color:var(--bs-body-color,inherit);display:inline-flex;font-size:.8125rem;gap:.375rem;justify-content:space-between;line-height:1.125rem;max-width:100%;min-height:calc(1.5em + .25rem + 2px);padding:.1875rem .25rem .1875rem .625rem;text-align:left;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.bs-selected-item-content{align-items:center;display:inline-flex;gap:.5rem;min-width:0}.bs-selected-item-icon{flex:0 0 auto}.bs-selected-item:focus,.bs-selected-item:hover{background-color:var(--bs-secondary-bg,#e9ecef);border-color:rgba(13,110,253,.35);box-shadow:0 0 0 .2rem rgba(13,110,253,.12);outline:0}.bs-selected-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bs-selected-item-remove{align-items:center;background:rgba(108,117,125,.14);border-radius:999px;color:var(--bs-secondary-color,#6c757d);display:inline-flex;flex:0 0 auto;font-size:.875rem;font-weight:900;height:1.125rem;justify-content:center;line-height:1;padding-bottom:0;width:1.125rem}.bootstrap-select.selected-items-style-list .bs-selected-items{display:block;margin-top:.5rem}.bootstrap-select.selected-items-style-list .bs-selected-items-external{padding:0}.bootstrap-select.selected-items-style-list .bs-selected-item{background-color:var(--bs-list-group-bg,#fff);border:1px solid var(--bs-list-group-border-color,rgba(0,0,0,.125));border-radius:0;box-shadow:none;color:var(--bs-list-group-color,inherit);font-size:1rem;line-height:1.5;min-height:0;padding:.75rem 1rem;width:100%}.bootstrap-select.selected-items-style-list .bs-selected-item:first-child{border-top-left-radius:var(--bs-list-group-border-radius,.375rem);border-top-right-radius:var(--bs-list-group-border-radius,.375rem)}.bootstrap-select.selected-items-style-list .bs-selected-item:last-child{border-bottom-left-radius:var(--bs-list-group-border-radius,.375rem);border-bottom-right-radius:var(--bs-list-group-border-radius,.375rem)}.bootstrap-select.selected-items-style-list .bs-selected-item+.bs-selected-item{margin-top:-1px}.bootstrap-select.selected-items-style-list .bs-selected-item:focus,.bootstrap-select.selected-items-style-list .bs-selected-item:hover{background-color:var(--bs-list-group-action-hover-bg,#f8f9fa);border-color:var(--bs-list-group-border-color,rgba(0,0,0,.125));box-shadow:none;color:var(--bs-list-group-action-hover-color,inherit)}.bootstrap-select.selected-items-style-list .bs-selected-item-content{flex:1 1 auto}.bootstrap-select.selected-items-style-list .bs-selected-item-label{white-space:normal}.bootstrap-select.selected-items-style-list .bs-selected-item-remove{background:transparent;border-radius:0;color:var(--bs-secondary-color,#6c757d);font-size:1rem;height:auto;margin-left:auto;width:auto}.form-floating>.bootstrap-select.show-selected-tags{background-color:var(--bs-body-bg,#fff);border:var(--bs-border-width,1px) solid var(--bs-border-color,#ced4da);border-radius:var(--bs-border-radius,.375rem);min-height:calc(3.5rem + 2px);position:relative;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-floating>.bootstrap-select.show-selected-tags.show,.form-floating>.bootstrap-select.show-selected-tags:focus-within{border-color:#86b7fe;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-floating>.bootstrap-select.show-selected-tags>.dropdown-toggle{background-color:initial;border:0;box-shadow:none;height:auto;min-height:0;padding-bottom:.25rem;padding-top:1.375rem}.form-floating>.bootstrap-select.show-selected-tags>.dropdown-toggle:active,.form-floating>.bootstrap-select.show-selected-tags>.dropdown-toggle:focus,.form-floating>.bootstrap-select.show-selected-tags>.dropdown-toggle:hover{background-color:initial;box-shadow:none}.form-floating>.bootstrap-select.show-selected-tags>.dropdown-toggle .filter-option-inner-inner{opacity:0}.form-floating>.bootstrap-select.show-selected-tags>.bs-selected-items-external{margin:0 2.25rem 0 .75rem;padding-bottom:1.375rem;position:relative;z-index:3}.form-floating>.bootstrap-select.show-selected-tags~label{padding-top:.75rem} diff --git a/js/bootstrap-select.js b/docs/dist/js/bootstrap-select.cjs similarity index 96% rename from js/bootstrap-select.js rename to docs/dist/js/bootstrap-select.cjs index 55dafd9..99a9ab8 100644 --- a/js/bootstrap-select.js +++ b/docs/dist/js/bootstrap-select.cjs @@ -1,3 +1,28 @@ +/*! + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) + * + * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select + * Copyright 2012-2018 SnapAppointments, LLC (original work) + * Fork modifications Copyright 2024-2026 CrestApps + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) + */ +'use strict'; + +var bootstrap; + +try { + bootstrap = require('bootstrap'); +} catch (error) { + bootstrap = undefined; +} + +var __SELECTPICKER_EXPOSE_GLOBAL__ = false; + +var Selectpicker = (function (bootstrap) { + +/* eslint-disable no-unused-vars */ +// Shared ordered source fragment consumed by the Grunt JS build. + 'use strict'; // Resolve Bootstrap's Dropdown component (Bootstrap 5+). It may be provided @@ -242,6 +267,10 @@ function getAttributesObject (element) { return attributesObject; } + +/* eslint-disable no-unused-vars */ +// Shared ordered source fragment consumed by the Grunt JS build. + // function stringSearch (li, searchString, method, normalize) { var stringTypes = [ @@ -406,6 +435,10 @@ var createEscaper = function (map) { var htmlEscape = createEscaper(escapeMap); // + +/* eslint-disable no-undef, no-unused-vars */ +// Shared ordered source fragment consumed by the Grunt JS build. + // var keyCodeMap = { 32: ' ', 48: '0', 49: '1', 50: '2', 51: '3', 52: '4', 53: '5', 54: '6', @@ -713,6 +746,10 @@ function stripRemovedOptions (source) { return result; } + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. + class Selectpicker { constructor (element, options) { if (typeof element === 'string') { @@ -952,11 +989,15 @@ class Selectpicker { } createDropdown () { - // If we are multiple or showTick option is set, then add the show-tick class - var showTick = (this.multiple || this.options.showTick) ? ' show-tick' : '', + // Multiple selects always show an indicator. Single selects also need the + // indicator column when selectionIndicator is enabled. + var usesSelectionIndicator = this.options.selectionIndicator === 'checkbox', + showTick = (this.multiple || this.options.showTick || usesSelectionIndicator) ? ' show-tick' : '', showSelectedTags = this.options.showSelectedTags ? ' show-selected-tags' : '', selectedItemsStyle = this.options.selectedItemsStyle === 'list' ? ' selected-items-style-list' : '', - selectionIndicator = this.options.selectionIndicator === 'checkbox' ? ' selection-indicator-checkbox' : '', + selectionIndicator = usesSelectionIndicator + ? (this.multiple ? ' selection-indicator-checkbox' : ' selection-indicator-radio') + : '', multiselectable = this.multiple ? ' aria-multiselectable="true"' : '', autofocus = this.autofocus ? ' autofocus' : '', liveSearchPlaceholder = this.options.liveSearchPlaceholder; @@ -976,8 +1017,8 @@ class Selectpicker { if (this.options.header) { header = '
' + + '' + this.options.header + '' + '' + - this.options.header + '
'; } @@ -1061,6 +1102,9 @@ class Selectpicker { return createFromHTML(drop); } + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. // runs when the dropdown is about to be shown onShow () { if (this.options.liveSearch && this.searchbox.value) { @@ -1423,6 +1467,10 @@ class Selectpicker { return updateIndex; } + + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. fetchData (callback, type, page, searchValue) { page = page || 1; type = type || 'data'; @@ -1632,7 +1680,7 @@ class Selectpicker { mainElements = [], widestOptionLength = 0; - if (that.options.showTick || that.multiple) { + if (that.options.showTick || that.multiple || that.options.selectionIndicator === 'checkbox') { elementTemplates.checkMark.className = this.options.selectionIndicator === 'checkbox' ? 'check-mark bs-selection-indicator' : this.options.iconBase + ' ' + that.options.tickIcon + ' check-mark'; @@ -1730,6 +1778,9 @@ class Selectpicker { } } + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. findLis () { return this.menuInner.querySelectorAll('.inner > li'); } @@ -2171,6 +2222,10 @@ class Selectpicker { } } + + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. liHeight (refresh) { if (!refresh && (this.options.size === false || Object.keys(this.sizeInfo).length)) return; @@ -2661,6 +2716,10 @@ class Selectpicker { } } + + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. clickListener () { var that = this; @@ -3091,6 +3150,10 @@ class Selectpicker { return element.value; } + + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. val (value) { var element = this.element; @@ -3548,7 +3611,7 @@ class Selectpicker { var instanceMap = new WeakMap(); Selectpicker.NAME = 'selectpicker'; -Selectpicker.VERSION = '1.1.2'; +Selectpicker.VERSION = '1.2.0'; // user-provided global defaults (set via Selectpicker.setDefaults, used by i18n files) Selectpicker.defaults = null; @@ -3666,63 +3729,86 @@ Selectpicker.getOrCreateInstance = function (element, options) { return new Selectpicker(element, typeof options === 'object' ? options : {}); }; -// -var KEYDOWN_SELECTOR = '.bootstrap-select [' + Selector.DATA_TOGGLE + '], .bootstrap-select [role="listbox"], .bootstrap-select .bs-searchbox input'; +// Runtime wiring lives in js/bootstrap-select.runtime.js so each distribution +// can choose whether it should expose a browser global or stay module-scoped. -// Handle keyboard navigation ourselves. This listener runs in the capture -// phase on `window` so it executes before Bootstrap's `document`-level -// (capture-phase, delegated) dropdown keydown handler and prevents it from -// processing bootstrap-select's custom menu (which would otherwise error on -// relocated/container menus and conflict with our own navigation). This -// replaces the upstream approach of unbinding Bootstrap's global handler. -window.addEventListener('keydown', function (e) { - var target = e.target; - if (!target || !target.closest) return; - // Any keydown originating inside a bootstrap-select widget (or its relocated - // menu container) must not reach Bootstrap's dropdown keydown handler. - var widget = target.closest('.bootstrap-select, .bs-container'); - if (!widget) return; +/* global Selector, __SELECTPICKER_EXPOSE_GLOBAL__ */ - e.stopImmediatePropagation(); +// +var KEYDOWN_SELECTOR = '.bootstrap-select [' + Selector.DATA_TOGGLE + '], .bootstrap-select [role="listbox"], .bootstrap-select .bs-searchbox input'; - var trigger = target.closest(KEYDOWN_SELECTOR); - if (!trigger) return; +function initSelectpickerRuntime (Selectpicker, exposeGlobal) { + if (typeof window === 'undefined' || typeof document === 'undefined') return; + + // Handle keyboard navigation ourselves. This listener runs in the capture + // phase on `window` so it executes before Bootstrap's `document`-level + // (capture-phase, delegated) dropdown keydown handler and prevents it from + // processing bootstrap-select's custom menu (which would otherwise error on + // relocated/container menus and conflict with our own navigation). This + // replaces the upstream approach of unbinding Bootstrap's global handler. + window.addEventListener('keydown', function (e) { + var target = e.target; + if (!target || !target.closest) return; + + // Any keydown originating inside a bootstrap-select widget (or its + // relocated menu container) must not reach Bootstrap's dropdown keydown + // handler. + var widget = target.closest('.bootstrap-select, .bs-container'); + if (!widget) return; + + e.stopImmediatePropagation(); + + var trigger = target.closest(KEYDOWN_SELECTOR); + if (!trigger) return; + + var instance; + for (var node = trigger; node; node = node.parentElement) { + if (node.bootstrapSelectInstance) { + instance = node.bootstrapSelectInstance; + break; + } + } - var instance; - for (var node = trigger; node; node = node.parentElement) { - if (node.bootstrapSelectInstance) { - instance = node.bootstrapSelectInstance; - break; + if (instance) instance._keydown(e, trigger); + }, true); + + document.addEventListener('focusin', function (e) { + var target = e.target; + if (target && target.closest && target.closest(KEYDOWN_SELECTOR)) { + e.stopPropagation(); } - } + }); - if (instance) instance._keydown(e, trigger); -}, true); + function initAll () { + var selects = document.querySelectorAll('.selectpicker'); + Array.prototype.forEach.call(selects, function (select) { + Selectpicker.getOrCreateInstance(select); + }); + } -document.addEventListener('focusin', function (e) { - var target = e.target; - if (target && target.closest && target.closest(KEYDOWN_SELECTOR)) { - e.stopPropagation(); + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', initAll); + } else { + initAll(); } -}); -function initAll () { - var selects = document.querySelectorAll('.selectpicker'); - Array.prototype.forEach.call(selects, function (select) { - Selectpicker.getOrCreateInstance(select); - }); + if (exposeGlobal) { + window.Selectpicker = Selectpicker; + } } -if (document.readyState === 'loading') { - document.addEventListener('DOMContentLoaded', initAll); -} else { - initAll(); -} +initSelectpickerRuntime( + Selectpicker, + typeof __SELECTPICKER_EXPOSE_GLOBAL__ === 'undefined' ? true : __SELECTPICKER_EXPOSE_GLOBAL__ +); // -if (typeof window !== 'undefined') { - window.Selectpicker = Selectpicker; -} - return Selectpicker; + +}(bootstrap)); + +module.exports = Selectpicker; +module.exports.Selectpicker = Selectpicker; +module.exports.default = Selectpicker; +//# sourceMappingURL=bootstrap-select.cjs.map diff --git a/docs/dist/js/bootstrap-select.cjs.map b/docs/dist/js/bootstrap-select.cjs.map new file mode 100644 index 0000000..8984a90 --- /dev/null +++ b/docs/dist/js/bootstrap-select.cjs.map @@ -0,0 +1 @@ +{"version":3,"file":"bootstrap-select.cjs","sources":["../../virtual:bootstrap-select-cjs"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n'use strict';\n\nvar bootstrap;\n\ntry {\n bootstrap = require('bootstrap');\n} catch (error) {\n bootstrap = undefined;\n}\n\nvar __SELECTPICKER_EXPOSE_GLOBAL__ = false;\n\nvar Selectpicker = (function (bootstrap) {\n\n/* eslint-disable no-unused-vars */\n// Shared ordered source fragment consumed by the Grunt JS build.\n\n'use strict';\n\n// Resolve Bootstrap's Dropdown component (Bootstrap 5+). It may be provided\n// by the UMD factory (`bootstrap`), or available as a global.\nfunction getDropdown () {\n var bs = bootstrap || (typeof window !== 'undefined' ? window.bootstrap : undefined);\n return (bs && bs.Dropdown) || (typeof window !== 'undefined' ? window.Dropdown : undefined);\n}\n\n// \nfunction createFromHTML (html) {\n var wrapper = document.createElement('div');\n wrapper.innerHTML = html.trim();\n return wrapper.firstChild;\n}\n\nfunction toInteger (value) {\n return parseInt(value, 10) || 0;\n}\n\nfunction offset (el) {\n var rect = el.getBoundingClientRect();\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset\n };\n}\n\n// Resolves a container option (selector string or element) to an element.\nfunction resolveContainer (container) {\n if (!container) return null;\n return typeof container === 'string' ? document.querySelector(container) : container;\n}\n\nfunction outerHeight (el, includeMargin) {\n var height = el.offsetHeight;\n if (includeMargin) {\n var style = window.getComputedStyle(el);\n height += toInteger(style.marginTop) + toInteger(style.marginBottom);\n }\n return height;\n}\n\nfunction setStyles (el, styles) {\n for (var prop in styles) {\n if (Object.prototype.hasOwnProperty.call(styles, prop)) {\n el.style[prop] = styles[prop];\n }\n }\n}\n\nfunction triggerNative (el, eventName) {\n el.dispatchEvent(new Event(eventName, { bubbles: true }));\n}\n\n// shallow array comparison\nfunction isEqual (array1, array2) {\n return array1.length === array2.length && array1.every(function (element, index) {\n return element === array2[index];\n });\n}\n\nfunction toKebabCase (str) {\n return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, function ($, ofs) {\n return (ofs ? '-' : '') + $.toLowerCase();\n });\n}\n\nfunction toCamelCase (str) {\n return str.replace(/-([a-z])/g, function (m, letter) {\n return letter.toUpperCase();\n });\n}\n\n// Read options from data-* attributes using native values where possible.\nfunction convertDataValue (value) {\n if (value === 'true') return true;\n if (value === 'false') return false;\n if (value === 'null') return null;\n if (value === +value + '') return +value;\n if (/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/.test(value)) {\n try {\n return JSON.parse(value);\n } catch (e) {\n return value;\n }\n }\n return value;\n}\n\nfunction getDataset (el) {\n var dataset = {},\n attributes = el.attributes;\n\n for (var i = 0; i < attributes.length; i++) {\n var name = attributes[i].name;\n if (name.indexOf('data-') === 0) {\n dataset[toCamelCase(name.slice(5))] = convertDataValue(attributes[i].value);\n }\n }\n\n return dataset;\n}\n// \n\n// \nvar DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\n\nvar uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n];\n\nvar ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n\nvar DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', 'tabindex', 'style', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n};\n\n// A pattern that recognizes a commonly useful subset of URLs that are safe.\nvar SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;\n\n// A pattern that matches safe data URLs. Only matches image, video and audio types.\nvar DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;\n\nvar ParseableAttributes = ['placeholder']; // attributes to use as settings, can add others in the future\n\nfunction applyLegacyOptions (element, config) {\n if (!config.placeholder) {\n var title = element.getAttribute('title');\n if (title) config.placeholder = title;\n }\n\n return config;\n}\n\nfunction allowedAttribute (attr, allowedAttributeList) {\n var attrName = attr.nodeName.toLowerCase();\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));\n }\n\n return true;\n }\n\n var regExp = allowedAttributeList.filter(function (value) {\n return value instanceof RegExp;\n });\n\n // Check if a regular expression validates the attribute.\n for (var i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction sanitizeHtml (unsafeElements, whiteList, sanitizeFn) {\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeElements);\n }\n\n var whitelistKeys = Object.keys(whiteList);\n\n for (var i = 0, len = unsafeElements.length; i < len; i++) {\n var elements = unsafeElements[i].querySelectorAll('*');\n\n for (var j = 0, len2 = elements.length; j < len2; j++) {\n var el = elements[j];\n var elName = el.nodeName.toLowerCase();\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el);\n\n continue;\n }\n\n var attributeList = [].slice.call(el.attributes);\n var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\n\n for (var k = 0, len3 = attributeList.length; k < len3; k++) {\n var attr = attributeList[k];\n\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName);\n }\n }\n }\n }\n}\n// \n\nfunction getAttributesObject (element) {\n var attributesObject = {},\n attrVal;\n\n ParseableAttributes.forEach(function (item) {\n attrVal = element.getAttribute(item);\n if (attrVal) attributesObject[item] = attrVal;\n });\n\n return attributesObject;\n}\n\n\n/* eslint-disable no-unused-vars */\n// Shared ordered source fragment consumed by the Grunt JS build.\n\n// \nfunction stringSearch (li, searchString, method, normalize) {\n var stringTypes = [\n 'display',\n 'subtext',\n 'tokens'\n ],\n searchSuccess = false;\n\n for (var i = 0; i < stringTypes.length; i++) {\n var stringType = stringTypes[i],\n string = li[stringType];\n\n if (string) {\n string = string.toString();\n\n // Strip HTML tags. This isn't perfect, but it's much faster than any other method\n if (stringType === 'display') {\n string = string.replace(/<[^>]+>/g, '');\n }\n\n if (normalize) string = normalizeToBase(string);\n string = string.toUpperCase();\n\n if (typeof method === 'function') {\n searchSuccess = method(string, searchString);\n } else if (method === 'contains') {\n searchSuccess = string.indexOf(searchString) >= 0;\n } else {\n searchSuccess = string.startsWith(searchString);\n }\n\n if (searchSuccess) break;\n }\n }\n\n return searchSuccess;\n}\n\nfunction normalizeSearchInput (value, normalize) {\n if (value === undefined || value === null) value = '';\n value = value.toString().trim();\n\n if (normalize && value) value = normalizeToBase(value);\n\n return value.toUpperCase();\n}\n\nfunction getOptionLabelText (option) {\n if (!option) return '';\n\n return option.title || option.text || option.value || '';\n}\n\n// Borrowed from Lodash (_.deburr)\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboMarksExtendedRange = '\\\\u1ab0-\\\\u1aff',\n rsComboMarksSupplementRange = '\\\\u1dc0-\\\\u1dff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange + rsComboMarksExtendedRange + rsComboMarksSupplementRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\nvar reComboMark = RegExp(rsCombo, 'g');\n\nfunction deburrLetter (key) {\n return deburredLetters[key];\n}\n\nfunction normalizeToBase (string) {\n string = string.toString();\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\n// List of HTML entities for escaping.\nvar escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n};\n\nvar createEscaper = function (map) {\n var escaper = function (match) {\n return map[match];\n };\n var source = '(?:' + Object.keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function (string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n};\n\nvar htmlEscape = createEscaper(escapeMap);\n// \n\n\n/* eslint-disable no-undef, no-unused-vars */\n// Shared ordered source fragment consumed by the Grunt JS build.\n\n// \nvar keyCodeMap = {\n 32: ' ', 48: '0', 49: '1', 50: '2', 51: '3', 52: '4', 53: '5', 54: '6',\n 55: '7', 56: '8', 57: '9', 59: ';',\n 65: 'A', 66: 'B', 67: 'C', 68: 'D', 69: 'E', 70: 'F', 71: 'G', 72: 'H',\n 73: 'I', 74: 'J', 75: 'K', 76: 'L', 77: 'M', 78: 'N', 79: 'O', 80: 'P',\n 81: 'Q', 82: 'R', 83: 'S', 84: 'T', 85: 'U', 86: 'V', 87: 'W', 88: 'X',\n 89: 'Y', 90: 'Z',\n 96: '0', 97: '1', 98: '2', 99: '3', 100: '4', 101: '5', 102: '6',\n 103: '7', 104: '8', 105: '9'\n};\n\nvar keyCodes = {\n ESCAPE: 27,\n ENTER: 13,\n SPACE: 32,\n TAB: 9,\n ARROW_UP: 38,\n ARROW_DOWN: 40\n};\n\nvar selectId = 0;\n\nvar EVENT_KEY = '.bs.select';\n\n// Bootstrap 5 class names.\nvar classNames = {\n DISABLED: 'disabled',\n DIVIDER: 'dropdown-divider',\n SHOW: 'show',\n DROPUP: 'dropup',\n MENU: 'dropdown-menu',\n MENUEND: 'dropdown-menu-end',\n BUTTONCLASS: 'btn-light',\n POPOVERHEADER: 'popover-header',\n ICONBASE: '',\n TICKICON: 'bs-ok-default'\n};\n\nvar Selector = {\n MENU: '.' + classNames.MENU,\n DATA_TOGGLE: 'data-bs-toggle=\"dropdown\"'\n};\n\nvar elementTemplates = {\n div: document.createElement('div'),\n span: document.createElement('span'),\n i: document.createElement('i'),\n subtext: document.createElement('small'),\n a: document.createElement('a'),\n li: document.createElement('li'),\n whitespace: document.createTextNode('\\u00A0'),\n fragment: document.createDocumentFragment(),\n option: document.createElement('option')\n};\n\nelementTemplates.selectedOption = elementTemplates.option.cloneNode(false);\nelementTemplates.selectedOption.setAttribute('selected', true);\n\nelementTemplates.noResults = elementTemplates.li.cloneNode(false);\nelementTemplates.noResults.className = 'no-results';\n\nelementTemplates.a.setAttribute('role', 'option');\nelementTemplates.a.className = 'dropdown-item';\n\nelementTemplates.subtext.className = 'text-muted';\n\nelementTemplates.text = elementTemplates.span.cloneNode(false);\nelementTemplates.text.className = 'text';\n\nelementTemplates.checkMark = elementTemplates.span.cloneNode(false);\n\nvar REGEXP_ARROW = new RegExp(keyCodes.ARROW_UP + '|' + keyCodes.ARROW_DOWN);\nvar REGEXP_TAB_OR_ESCAPE = new RegExp('^' + keyCodes.TAB + '$|' + keyCodes.ESCAPE);\n\nvar generateOption = {\n li: function (content, classes, optgroup) {\n var li = elementTemplates.li.cloneNode(false);\n\n if (content) {\n if (content.nodeType === 1 || content.nodeType === 11) {\n li.appendChild(content);\n } else {\n li.innerHTML = content;\n }\n }\n\n if (typeof classes !== 'undefined' && classes !== '') li.className = classes;\n if (typeof optgroup !== 'undefined' && optgroup !== null) li.classList.add('optgroup-' + optgroup);\n\n return li;\n },\n\n a: function (text, classes, inline) {\n var a = elementTemplates.a.cloneNode(true);\n\n if (text) {\n if (text.nodeType === 11) {\n a.appendChild(text);\n } else {\n a.insertAdjacentHTML('beforeend', text);\n }\n }\n\n if (typeof classes !== 'undefined' && classes !== '') a.classList.add.apply(a.classList, classes.split(/\\s+/));\n if (inline) a.setAttribute('style', inline);\n\n return a;\n },\n\n text: function (options, useFragment) {\n var textElement = elementTemplates.text.cloneNode(false),\n subtextElement,\n iconElement;\n\n if (options.content) {\n textElement.innerHTML = options.content;\n } else {\n textElement.textContent = options.text;\n\n if (options.icon) {\n var whitespace = elementTemplates.whitespace.cloneNode(false);\n\n // need to use for icons in the button to prevent a breaking change\n iconElement = (useFragment === true ? elementTemplates.i : elementTemplates.span).cloneNode(false);\n iconElement.className = this.options.iconBase + ' ' + options.icon;\n\n elementTemplates.fragment.appendChild(iconElement);\n elementTemplates.fragment.appendChild(whitespace);\n }\n\n if (options.subtext) {\n subtextElement = elementTemplates.subtext.cloneNode(false);\n subtextElement.textContent = options.subtext;\n textElement.appendChild(subtextElement);\n }\n }\n\n if (useFragment === true) {\n while (textElement.childNodes.length > 0) {\n elementTemplates.fragment.appendChild(textElement.childNodes[0]);\n }\n } else {\n elementTemplates.fragment.appendChild(textElement);\n }\n\n return elementTemplates.fragment;\n },\n\n label: function (options) {\n var textElement = elementTemplates.text.cloneNode(false),\n subtextElement,\n iconElement;\n\n textElement.innerHTML = options.display;\n\n if (options.icon) {\n var whitespace = elementTemplates.whitespace.cloneNode(false);\n\n iconElement = elementTemplates.span.cloneNode(false);\n iconElement.className = this.options.iconBase + ' ' + options.icon;\n\n elementTemplates.fragment.appendChild(iconElement);\n elementTemplates.fragment.appendChild(whitespace);\n }\n\n if (options.subtext) {\n subtextElement = elementTemplates.subtext.cloneNode(false);\n subtextElement.textContent = options.subtext;\n textElement.appendChild(subtextElement);\n }\n\n elementTemplates.fragment.appendChild(textElement);\n\n return elementTemplates.fragment;\n }\n};\n\nvar getOptionData = {\n fromOption: function (option, type) {\n var value;\n\n switch (type) {\n case 'divider':\n value = option.getAttribute('data-divider') === 'true';\n break;\n\n case 'text':\n value = option.textContent;\n break;\n\n case 'label':\n value = option.label;\n break;\n\n case 'style':\n value = option.style.cssText;\n break;\n\n case 'title':\n value = option.title;\n break;\n\n default:\n value = option.getAttribute('data-' + toKebabCase(type));\n break;\n }\n\n return value;\n },\n fromDataSource: function (option, type) {\n var value;\n\n switch (type) {\n case 'text':\n case 'label':\n value = option.text || option.value || '';\n break;\n\n default:\n value = option[type];\n break;\n }\n\n return value;\n }\n};\n\nfunction showNoResults (searchMatch, searchValue) {\n if (!searchMatch.length) {\n elementTemplates.noResults.innerHTML = this.options.noneResultsText.replace('{0}', '\"' + htmlEscape(searchValue) + '\"');\n this.menuInner.firstChild.appendChild(elementTemplates.noResults);\n }\n}\n\nfunction filterHidden (item) {\n return !(item.hidden || this.options.hideDisabled && item.disabled);\n}\n\nfunction getSelectedOptions () {\n var options = this.selectpicker.main.data;\n\n if (this.options.source.data || this.options.source.search) {\n options = Object.values(this.selectpicker.optionValuesDataMap);\n }\n\n var selectedOptions = options.filter(function (item) {\n if (item.selected) {\n if (this.options.hideDisabled && item.disabled) return false;\n return true;\n }\n\n return false;\n }, this);\n\n // ensure only 1 option is selected if multiple are set in the data source\n if (this.options.source.data && !this.multiple && selectedOptions.length > 1) {\n for (var i = 0; i < selectedOptions.length - 1; i++) {\n selectedOptions[i].selected = false;\n }\n\n selectedOptions = [ selectedOptions[selectedOptions.length - 1] ];\n }\n\n return selectedOptions;\n}\n\nfunction getSelectValues (selectedOptions) {\n var value = [],\n options = selectedOptions || getSelectedOptions.call(this),\n opt;\n\n for (var i = 0, len = options.length; i < len; i++) {\n opt = options[i];\n\n if (!opt.disabled) {\n value.push(opt.value === undefined ? opt.text : opt.value);\n }\n }\n\n if (!this.multiple) {\n return !value.length ? null : value[0];\n }\n\n return value;\n}\n// \n\nvar changedArguments = null;\n\n// shared flag for spacebar selection handling (mirrors original document data flag)\nvar spaceSelectFlag = false;\n\nvar REMOVED_OPTIONS = ['container', 'display', 'mobile', 'styleBase', 'windowPadding'];\n\nfunction stripRemovedOptions (source) {\n if (!source || typeof source !== 'object') return source;\n\n var result = Object.assign({}, source);\n\n for (var i = 0; i < REMOVED_OPTIONS.length; i++) {\n delete result[REMOVED_OPTIONS[i]];\n }\n\n return result;\n}\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n\nclass Selectpicker {\n constructor (element, options) {\n if (typeof element === 'string') {\n element = document.querySelector(element);\n }\n\n if (!element || element.tagName !== 'SELECT') {\n throw new TypeError('Selectpicker requires a select element or selector.');\n }\n\n this.element = element;\n this.newElement = null;\n this.button = null;\n this.menu = null;\n this.options = Selectpicker._buildConfig(element, options || {});\n\n // tracked event listeners for clean teardown\n this._listeners = [];\n this._named = {};\n\n this.selectpicker = {\n main: {\n data: [],\n optionQueue: elementTemplates.fragment.cloneNode(false),\n hasMore: false\n },\n search: {\n data: [],\n hasMore: false\n },\n current: {}, // current is either equal to main or search depending on if a search is in progress\n view: {},\n // map of option values and their respective data (only used in conjunction with options.source)\n optionValuesDataMap: {},\n createdOptions: [],\n openOption: {\n isCreating: false\n },\n isSearching: false,\n keydown: {\n keyHistory: '',\n resetKeyHistory: {\n start: () => {\n return setTimeout(() => {\n this.selectpicker.keydown.keyHistory = '';\n }, 800);\n }\n }\n }\n };\n\n this.sizeInfo = {};\n\n this.init();\n\n instanceMap.set(element, this);\n }\n\n // \n _on (el, type, handler, options) {\n el.addEventListener(type, handler, options);\n this._listeners.push({ el: el, type: type, handler: handler, options: options });\n return handler;\n }\n\n _delegate (el, type, selector, handler, options) {\n var listener = function (e) {\n var target = e.target.closest(selector);\n if (target && el.contains(target)) {\n handler.call(target, e);\n }\n };\n return this._on(el, type, listener, options);\n }\n\n _emit (name, detail) {\n var event = new CustomEvent(name + EVENT_KEY, {\n bubbles: true,\n cancelable: true,\n detail: detail || null\n });\n this.element.dispatchEvent(event);\n return event;\n }\n\n // adds an event listener that replaces any previously-registered listener under `key`\n _replace (key, el, type, handler, options) {\n this._removeNamed(key);\n el.addEventListener(type, handler, options);\n this._named[key] = { el: el, type: type, handler: handler, options: options };\n }\n\n _removeNamed (key) {\n var prev = this._named[key];\n if (prev) {\n prev.el.removeEventListener(prev.type, prev.handler, prev.options);\n delete this._named[key];\n }\n }\n // \n\n init () {\n var that = this,\n id = this.element.getAttribute('id'),\n element = this.element,\n form = element.form;\n\n selectId++;\n this.selectId = 'bs-select-' + selectId;\n\n element.classList.add('bs-select-hidden');\n\n this.multiple = this.element.multiple;\n this.autofocus = this.element.autofocus;\n\n if (element.classList.contains('show-tick')) {\n this.options.showTick = true;\n }\n\n this.newElement = this.createDropdown();\n\n // insert newElement after element, then move element to be the first child of newElement\n element.parentNode.insertBefore(this.newElement, element.nextSibling);\n this.newElement.insertBefore(element, this.newElement.firstChild);\n\n // ensure select is associated with form element if it got unlinked after moving it inside newElement\n if (form && element.form === null) {\n if (!form.id) form.id = 'form-' + this.selectId;\n element.setAttribute('form', form.id);\n }\n\n this.button = this.newElement.querySelector(':scope > button');\n if (this.options.allowClear) this.clearButton = this.button.querySelector('.bs-select-clear-selected');\n this.menu = this.newElement.querySelector(':scope > ' + Selector.MENU);\n this.menuInner = this.menu.querySelector('.inner');\n this.searchbox = this.menu.querySelector('input');\n this.selectedItems = this.newElement.querySelector(':scope > .bs-selected-items-external') || this.menu.querySelector('.bs-selected-items');\n this.createOptionButton = this.menu.querySelector('.bs-create-option');\n\n element.classList.remove('bs-select-hidden');\n\n this.fetchData(function () {\n that.render(true);\n that.buildList();\n\n requestAnimationFrame(function () {\n that._emit('loaded');\n });\n });\n\n if (this.options.dropdownAlignRight === true) this.menu.classList.add(classNames.MENUEND);\n\n if (typeof id !== 'undefined' && id !== null) {\n this.button.setAttribute('data-id', id);\n }\n\n this.checkDisabled();\n this.clickListener();\n\n var Dropdown = getDropdown();\n this.dropdown = new Dropdown(this.button);\n\n // store a reference to the instance for delegated handlers\n this.newElement.bootstrapSelectInstance = this;\n this.menu.bootstrapSelectInstance = this;\n\n if (this.options.liveSearch) {\n this.liveSearchListener();\n this.focusedParent = this.searchbox;\n } else {\n this.focusedParent = this.menuInner;\n }\n\n this.setStyle();\n this.setWidth();\n this._on(this.element, 'hide' + EVENT_KEY, function () {\n if (that.isVirtual()) {\n // empty menu on close\n var menuInner = that.menuInner,\n emptyMenu = menuInner.firstChild.cloneNode(false);\n\n // replace the existing UL with an empty one - this is faster than emptying it\n menuInner.replaceChild(emptyMenu, menuInner.firstChild);\n menuInner.scrollTop = 0;\n }\n });\n\n // re-emit Bootstrap dropdown events as bootstrap-select events\n this._on(this.newElement, 'hide.bs.dropdown', function (e) {\n that._emit('hide', { bsEvent: e });\n });\n this._on(this.newElement, 'hidden.bs.dropdown', function (e) {\n that._emit('hidden', { bsEvent: e });\n });\n this._on(this.newElement, 'show.bs.dropdown', function (e) {\n that.onShow(e);\n that._emit('show', { bsEvent: e });\n });\n this._on(this.newElement, 'shown.bs.dropdown', function (e) {\n that._emit('shown', { bsEvent: e });\n });\n\n if (element.hasAttribute('required')) {\n this._on(this.element, 'invalid', function () {\n that.button.classList.add('bs-invalid');\n\n var onShownInvalid = function () {\n // set the value to hide the validation message in Chrome when menu is opened\n triggerNative(that.element, 'change');\n that.element.removeEventListener('shown' + EVENT_KEY, onShownInvalid);\n };\n that._on(that.element, 'shown' + EVENT_KEY, onShownInvalid);\n\n var onRendered = function () {\n // if select is no longer invalid, remove the bs-invalid class\n if (that.element.validity.valid) that.button.classList.remove('bs-invalid');\n that.element.removeEventListener('rendered' + EVENT_KEY, onRendered);\n };\n that._on(that.element, 'rendered' + EVENT_KEY, onRendered);\n\n var onBlur = function () {\n that.element.focus();\n that.element.blur();\n that.button.removeEventListener('blur' + EVENT_KEY, onBlur);\n };\n that._on(that.button, 'blur' + EVENT_KEY, onBlur);\n });\n }\n\n if (form) {\n this._on(form, 'reset', function () {\n requestAnimationFrame(function () {\n that.render();\n });\n });\n }\n }\n\n createDropdown () {\n // Multiple selects always show an indicator. Single selects also need the\n // indicator column when selectionIndicator is enabled.\n var usesSelectionIndicator = this.options.selectionIndicator === 'checkbox',\n showTick = (this.multiple || this.options.showTick || usesSelectionIndicator) ? ' show-tick' : '',\n showSelectedTags = this.options.showSelectedTags ? ' show-selected-tags' : '',\n selectedItemsStyle = this.options.selectedItemsStyle === 'list' ? ' selected-items-style-list' : '',\n selectionIndicator = usesSelectionIndicator\n ? (this.multiple ? ' selection-indicator-checkbox' : ' selection-indicator-radio')\n : '',\n multiselectable = this.multiple ? ' aria-multiselectable=\"true\"' : '',\n autofocus = this.autofocus ? ' autofocus' : '',\n liveSearchPlaceholder = this.options.liveSearchPlaceholder;\n\n if (liveSearchPlaceholder === null && (this.options.showSelectedTags || this.options.openOptions)) {\n liveSearchPlaceholder = this.options.placeholder || 'Search';\n }\n\n // Elements\n var drop,\n header = '',\n searchbox = '',\n actionsbox = '',\n donebutton = '',\n clearButton = '';\n\n if (this.options.header) {\n header =\n '
' +\n '' + this.options.header + '' +\n '' +\n '
';\n }\n\n if (this.options.liveSearch) {\n searchbox =\n '
' +\n '' +\n (this.options.openOptions\n ? ''\n : '') +\n '
';\n }\n\n if (this.multiple && this.options.actionsBox) {\n actionsbox =\n '
' +\n '
' +\n '' +\n '' +\n '
' +\n '
';\n }\n\n if (this.multiple && this.options.doneButton) {\n donebutton =\n '
' +\n '
' +\n '' +\n '
' +\n '
';\n }\n\n if (this.options.allowClear) {\n clearButton = '×';\n }\n\n drop =\n '
' +\n '' +\n '
' +\n header +\n searchbox +\n actionsbox +\n '
' +\n '
    ' +\n '
' +\n '
' +\n donebutton +\n '
' +\n (this.multiple && this.options.showSelectedTags\n ? ''\n : '') +\n '
';\n\n return createFromHTML(drop);\n }\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n // runs when the dropdown is about to be shown\n onShow () {\n if (this.options.liveSearch && this.searchbox.value) {\n this.searchbox.value = '';\n this.selectpicker.search.previousValue = undefined;\n }\n\n if (!this.newElement.classList.contains(classNames.SHOW)) {\n this.setSize();\n }\n }\n\n setPositionData () {\n this.selectpicker.view.canHighlight = [];\n this.selectpicker.view.size = 0;\n this.selectpicker.view.firstHighlightIndex = false;\n\n for (var i = 0; i < this.selectpicker.current.data.length; i++) {\n var li = this.selectpicker.current.data[i],\n canHighlight = true;\n\n if (li.type === 'divider') {\n canHighlight = false;\n li.height = this.sizeInfo.dividerHeight;\n } else if (li.type === 'optgroup-label') {\n canHighlight = false;\n li.height = this.sizeInfo.dropdownHeaderHeight;\n } else {\n li.height = this.sizeInfo.liHeight;\n }\n\n if (li.disabled) canHighlight = false;\n\n this.selectpicker.view.canHighlight.push(canHighlight);\n\n if (canHighlight) {\n this.selectpicker.view.size++;\n li.posinset = this.selectpicker.view.size;\n if (this.selectpicker.view.firstHighlightIndex === false) this.selectpicker.view.firstHighlightIndex = i;\n }\n\n li.position = (i === 0 ? 0 : this.selectpicker.current.data[i - 1].position) + li.height;\n }\n }\n\n isVirtual () {\n return (this.options.virtualScroll !== false) && (this.selectpicker.main.data.length >= this.options.virtualScroll) || this.options.virtualScroll === true;\n }\n\n createView (isSearching, setSize, refresh) {\n var that = this,\n scrollTop = 0;\n\n this.selectpicker.isSearching = isSearching;\n this.selectpicker.current = isSearching ? this.selectpicker.search : this.selectpicker.main;\n\n this.setPositionData();\n\n if (setSize) {\n if (refresh) {\n scrollTop = this.menuInner.scrollTop;\n } else if (!that.multiple) {\n var element = that.element,\n selectedIndex = (element.options[element.selectedIndex] || {}).liIndex;\n\n if (typeof selectedIndex === 'number' && that.options.size !== false) {\n var selectedData = that.selectpicker.main.data[selectedIndex],\n position = selectedData && selectedData.position;\n\n if (position) {\n scrollTop = position - ((that.sizeInfo.menuInnerHeight + that.sizeInfo.liHeight) / 2);\n }\n }\n }\n }\n\n scroll(scrollTop, true);\n\n this._replace('createViewScroll', this.menuInner, 'scroll', function () {\n if (!that.noScroll) scroll(that.menuInner.scrollTop);\n that.noScroll = false;\n });\n\n function scroll (scrollTop, init) {\n var size = that.selectpicker.current.data.length,\n chunks = [],\n chunkSize,\n chunkCount,\n firstChunk,\n lastChunk,\n currentChunk,\n prevPositions,\n positionIsDifferent,\n previousElements,\n menuIsDifferent = true,\n isVirtual = that.isVirtual();\n\n that.selectpicker.view.scrollTop = scrollTop;\n\n chunkSize = that.options.chunkSize; // number of options in a chunk\n chunkCount = Math.ceil(size / chunkSize) || 1; // number of chunks\n\n for (var i = 0; i < chunkCount; i++) {\n var endOfChunk = (i + 1) * chunkSize;\n\n if (i === chunkCount - 1) {\n endOfChunk = size;\n }\n\n chunks[i] = [\n (i) * chunkSize + (!i ? 0 : 1),\n endOfChunk\n ];\n\n if (!size) break;\n\n if (currentChunk === undefined && scrollTop - 1 <= that.selectpicker.current.data[endOfChunk - 1].position - that.sizeInfo.menuInnerHeight) {\n currentChunk = i;\n }\n }\n\n if (currentChunk === undefined) currentChunk = 0;\n\n prevPositions = [that.selectpicker.view.position0, that.selectpicker.view.position1];\n\n // always display previous, current, and next chunks\n firstChunk = Math.max(0, currentChunk - 1);\n lastChunk = Math.min(chunkCount - 1, currentChunk + 1);\n\n that.selectpicker.view.position0 = isVirtual === false ? 0 : (Math.max(0, chunks[firstChunk][0]) || 0);\n that.selectpicker.view.position1 = isVirtual === false ? size : (Math.min(size, chunks[lastChunk][1]) || 0);\n\n positionIsDifferent = prevPositions[0] !== that.selectpicker.view.position0 || prevPositions[1] !== that.selectpicker.view.position1;\n\n if (that.activeElement !== undefined) {\n if (init) {\n if (that.activeElement !== that.selectedElement) {\n that.defocusItem(that.activeElement);\n }\n that.activeElement = undefined;\n }\n\n if (that.activeElement !== that.selectedElement) {\n that.defocusItem(that.selectedElement);\n }\n }\n\n if (that.prevActiveElement !== undefined && that.prevActiveElement !== that.activeElement && that.prevActiveElement !== that.selectedElement) {\n that.defocusItem(that.prevActiveElement);\n }\n\n if (init || positionIsDifferent || that.selectpicker.current.hasMore) {\n previousElements = that.selectpicker.view.visibleElements ? that.selectpicker.view.visibleElements.slice() : [];\n\n if (isVirtual === false) {\n that.selectpicker.view.visibleElements = that.selectpicker.current.elements;\n } else {\n that.selectpicker.view.visibleElements = that.selectpicker.current.elements.slice(that.selectpicker.view.position0, that.selectpicker.view.position1);\n }\n\n that.setOptionStatus();\n\n // if searching, check to make sure the list has actually been updated before updating DOM\n // this prevents unnecessary repaints\n if (isSearching || (isVirtual === false && init)) menuIsDifferent = !isEqual(previousElements, that.selectpicker.view.visibleElements);\n\n // if virtual scroll is disabled and not searching,\n // menu should never need to be updated more than once\n if ((init || isVirtual === true) && menuIsDifferent) {\n var menuInner = that.menuInner,\n menuFragment = document.createDocumentFragment(),\n emptyMenu = menuInner.firstChild.cloneNode(false),\n marginTop,\n marginBottom,\n elements = that.selectpicker.view.visibleElements,\n toSanitize = [];\n\n // replace the existing UL with an empty one - this is faster than emptying it\n menuInner.replaceChild(emptyMenu, menuInner.firstChild);\n\n for (var i = 0, visibleElementsLen = elements.length; i < visibleElementsLen; i++) {\n var element = elements[i],\n elText,\n elementData;\n\n if (that.options.sanitize) {\n elText = element.lastChild;\n\n if (elText) {\n elementData = that.selectpicker.current.data[i + that.selectpicker.view.position0];\n\n if (elementData && elementData.content && !elementData.sanitized) {\n toSanitize.push(elText);\n elementData.sanitized = true;\n }\n }\n }\n\n menuFragment.appendChild(element);\n }\n\n if (that.options.sanitize && toSanitize.length) {\n sanitizeHtml(toSanitize, that.options.whiteList, that.options.sanitizeFn);\n }\n\n if (isVirtual === true) {\n marginTop = (that.selectpicker.view.position0 === 0 ? 0 : that.selectpicker.current.data[that.selectpicker.view.position0 - 1].position);\n marginBottom = (that.selectpicker.view.position1 > size - 1 ? 0 : that.selectpicker.current.data[size - 1].position - that.selectpicker.current.data[that.selectpicker.view.position1 - 1].position);\n\n menuInner.firstChild.style.marginTop = marginTop + 'px';\n menuInner.firstChild.style.marginBottom = marginBottom + 'px';\n } else {\n menuInner.firstChild.style.marginTop = 0;\n menuInner.firstChild.style.marginBottom = 0;\n }\n\n menuInner.firstChild.appendChild(menuFragment);\n\n // if an option is encountered that is wider than the current menu width, update the menu width accordingly\n if (isVirtual === true && that.sizeInfo.hasScrollBar) {\n var menuInnerInnerWidth = menuInner.firstChild.offsetWidth;\n\n if (init && menuInnerInnerWidth < that.sizeInfo.menuInnerInnerWidth && that.sizeInfo.totalMenuWidth > that.sizeInfo.selectWidth) {\n menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px';\n } else if (menuInnerInnerWidth > that.sizeInfo.menuInnerInnerWidth) {\n // set to 0 to get actual width of menu\n that.menu.style.minWidth = 0;\n\n var actualMenuWidth = menuInner.firstChild.offsetWidth;\n\n if (actualMenuWidth > that.sizeInfo.menuInnerInnerWidth) {\n that.sizeInfo.menuInnerInnerWidth = actualMenuWidth;\n menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px';\n }\n\n // reset to default CSS styling\n that.menu.style.minWidth = '';\n }\n }\n }\n\n if ((!isSearching && that.options.source.data || isSearching && that.options.source.search) && that.selectpicker.current.hasMore && currentChunk === chunkCount - 1) {\n // Don't load the next chunk until scrolling has started\n // This prevents unnecessary requests while the user is typing if pageSize is <= chunkSize\n if (scrollTop > 0) {\n // Chunks use 0-based indexing, but pages use 1-based. Add 1 to convert and add 1 again to get next page\n var page = Math.floor((currentChunk * that.options.chunkSize) / that.options.source.pageSize) + 2;\n\n that.fetchData(function () {\n that.render();\n that.buildList(size, isSearching);\n that.setPositionData();\n scroll(scrollTop);\n }, isSearching ? 'search' : 'data', page, isSearching ? that.selectpicker.search.previousValue : undefined);\n }\n }\n }\n\n that.prevActiveElement = that.activeElement;\n\n if (!that.options.liveSearch) {\n that.menuInner.focus();\n } else if (isSearching && init) {\n var index = 0,\n newActive;\n\n if (!that.selectpicker.view.canHighlight[index]) {\n index = 1 + that.selectpicker.view.canHighlight.slice(1).indexOf(true);\n }\n\n newActive = that.selectpicker.view.visibleElements[index];\n\n that.defocusItem(that.selectpicker.view.currentActive);\n\n that.activeElement = (that.selectpicker.current.data[index] || {}).element;\n\n that.focusItem(newActive);\n }\n }\n\n this._replace('createViewResize', window, 'resize', function () {\n var isActive = that.newElement.classList.contains(classNames.SHOW);\n\n if (isActive) scroll(that.menuInner.scrollTop);\n });\n }\n\n focusItem (li, liData, noStyle) {\n if (li) {\n liData = liData || this.selectpicker.current.data[this.selectpicker.current.elements.indexOf(this.activeElement)];\n var a = li.firstChild;\n\n if (a) {\n a.setAttribute('aria-setsize', this.selectpicker.view.size);\n a.setAttribute('aria-posinset', liData.posinset);\n\n if (noStyle !== true) {\n this.focusedParent.setAttribute('aria-activedescendant', a.id);\n li.classList.add('active');\n a.classList.add('active');\n }\n }\n }\n }\n\n defocusItem (li) {\n if (li) {\n li.classList.remove('active');\n if (li.firstChild) li.firstChild.classList.remove('active');\n }\n }\n\n setPlaceholder () {\n var that = this,\n updateIndex = false;\n\n if ((this.options.placeholder || this.options.allowClear) && !this.multiple) {\n if (!this.selectpicker.view.titleOption) this.selectpicker.view.titleOption = document.createElement('option');\n\n // this option doesn't create a new
  • element, but does add a new option at the start,\n // so startIndex should increase to prevent having to check every option for the bs-title-option class\n updateIndex = true;\n\n var element = this.element,\n selectTitleOption = false,\n titleNotAppended = !this.selectpicker.view.titleOption.parentNode,\n selectedIndex = element.selectedIndex,\n selectedOption = element.options[selectedIndex],\n firstSelectable = element.querySelector('select > *:not(:disabled)'),\n firstSelectableIndex = firstSelectable ? firstSelectable.index : 0,\n navigation = window.performance && window.performance.getEntriesByType('navigation'),\n // Safari doesn't support getEntriesByType('navigation') - fall back to performance.navigation\n isNotBackForward = (navigation && navigation.length) ? navigation[0].type !== 'back_forward' : window.performance.navigation.type !== 2;\n\n if (titleNotAppended) {\n // Use native JS to prepend option (faster)\n this.selectpicker.view.titleOption.className = 'bs-title-option';\n this.selectpicker.view.titleOption.value = '';\n\n // Check if selected or data-selected attribute is already set on an option. If not, select the titleOption option.\n selectTitleOption = !selectedOption || (selectedIndex === firstSelectableIndex && selectedOption.defaultSelected === false);\n }\n\n if (titleNotAppended || this.selectpicker.view.titleOption.index !== 0) {\n element.insertBefore(this.selectpicker.view.titleOption, element.firstChild);\n }\n\n // Set selected *after* appending to select\n if (selectTitleOption && isNotBackForward) {\n element.selectedIndex = 0;\n } else if (document.readyState !== 'complete') {\n // if navigation type is back_forward, there's a chance the select will have its value set by BFCache\n // wait for that value to be set, then run render again\n window.addEventListener('pageshow', function () {\n if (that.selectpicker.view.displayedValue !== element.value) that.render();\n });\n }\n }\n\n return updateIndex;\n }\n\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n fetchData (callback, type, page, searchValue) {\n page = page || 1;\n type = type || 'data';\n\n var that = this,\n data = this.options.source[type],\n builtData;\n\n if (data) {\n this.options.virtualScroll = true;\n\n if (typeof data === 'function') {\n data.call(\n this,\n function (data, more, totalItems) {\n var current = that.selectpicker[type === 'search' ? 'search' : 'main'];\n current.hasMore = more;\n current.totalItems = totalItems;\n builtData = that.buildData(data, type);\n callback.call(that, builtData);\n that._emit('fetched');\n },\n page,\n searchValue\n );\n } else if (Array.isArray(data)) {\n builtData = that.buildData(data, type);\n callback.call(that, builtData);\n }\n } else {\n builtData = this.buildData(false, type);\n callback.call(that, builtData);\n }\n }\n\n buildData (data, type) {\n var that = this;\n var dataGetter = data === false ? getOptionData.fromOption : getOptionData.fromDataSource;\n\n var optionSelector = ':not([hidden]):not([data-hidden=\"true\"]):not([style*=\"display: none\"])',\n mainData = [],\n startLen = this.selectpicker.main.data ? this.selectpicker.main.data.length : 0,\n optID = 0,\n startIndex = this.setPlaceholder() && !data ? 1 : 0; // append the titleOption if necessary and skip the first option in the loop\n\n if (type === 'search') {\n startLen = this.selectpicker.search.data.length;\n }\n\n if (this.options.hideDisabled) optionSelector += ':not(:disabled)';\n\n var selectOptions = data ? data.filter(filterHidden, this) : this.element.querySelectorAll('select > *' + optionSelector);\n\n function addDivider (config) {\n var previousData = mainData[mainData.length - 1];\n\n // ensure optgroup doesn't create back-to-back dividers\n if (\n previousData &&\n previousData.type === 'divider' &&\n (previousData.optID || config.optID)\n ) {\n return;\n }\n\n config = config || {};\n config.type = 'divider';\n\n mainData.push(config);\n }\n\n function addOption (item, config) {\n config = config || {};\n\n config.divider = dataGetter(item, 'divider');\n\n if (config.divider === true) {\n addDivider({\n optID: config.optID\n });\n } else {\n var liIndex = mainData.length + startLen,\n cssText = dataGetter(item, 'style'),\n inlineStyle = cssText ? htmlEscape(cssText) : '',\n optionClass = (item.className || '') + (config.optgroupClass || '');\n\n if (config.optID) optionClass = 'opt ' + optionClass;\n\n config.optionClass = optionClass.trim();\n config.inlineStyle = inlineStyle;\n\n config.text = dataGetter(item, 'text');\n config.title = dataGetter(item, 'title');\n config.content = dataGetter(item, 'content');\n config.tokens = dataGetter(item, 'tokens');\n config.subtext = dataGetter(item, 'subtext');\n config.icon = dataGetter(item, 'icon');\n\n config.display = config.content || config.text;\n config.value = item.value === undefined ? item.text : item.value;\n config.type = 'option';\n config.index = liIndex;\n\n config.option = !item.option ? item : item.option; // reference option element if it exists\n config.option.liIndex = liIndex;\n config.selected = !!item.selected;\n config.disabled = config.disabled || !!item.disabled;\n\n if (data !== false) {\n if (that.selectpicker.optionValuesDataMap[config.value]) {\n config = Object.assign(that.selectpicker.optionValuesDataMap[config.value], config);\n } else {\n that.selectpicker.optionValuesDataMap[config.value] = config;\n }\n }\n\n mainData.push(config);\n }\n }\n\n function addOptgroup (index, selectOptions) {\n var optgroup = selectOptions[index],\n // skip placeholder option\n previous = index - 1 < startIndex ? false : selectOptions[index - 1],\n next = selectOptions[index + 1],\n options = data ? optgroup.children.filter(filterHidden, this) : optgroup.querySelectorAll('option' + optionSelector);\n\n if (!options.length) return;\n\n var config = {\n display: htmlEscape(dataGetter(item, 'label')),\n subtext: dataGetter(optgroup, 'subtext'),\n icon: dataGetter(optgroup, 'icon'),\n type: 'optgroup-label',\n optgroupClass: ' ' + (optgroup.className || ''),\n optgroup: optgroup\n },\n headerIndex,\n lastIndex;\n\n optID++;\n\n if (previous) {\n addDivider({ optID: optID });\n }\n\n config.optID = optID;\n\n mainData.push(config);\n\n for (var j = 0, len = options.length; j < len; j++) {\n var option = options[j];\n\n if (j === 0) {\n headerIndex = mainData.length - 1;\n lastIndex = headerIndex + len;\n }\n\n addOption(option, {\n headerIndex: headerIndex,\n lastIndex: lastIndex,\n optID: config.optID,\n optgroupClass: config.optgroupClass,\n disabled: optgroup.disabled\n });\n }\n\n if (next) {\n addDivider({ optID: optID });\n }\n }\n\n var item;\n\n for (var len = selectOptions.length, i = startIndex; i < len; i++) {\n item = selectOptions[i];\n var children = item.children;\n\n if (children && children.length) {\n addOptgroup.call(this, i, selectOptions);\n } else {\n addOption.call(this, item, {});\n }\n }\n\n switch (type) {\n case 'data': {\n if (!this.selectpicker.main.data) {\n this.selectpicker.main.data = [];\n }\n Array.prototype.push.apply(this.selectpicker.main.data, mainData);\n this.selectpicker.current.data = this.selectpicker.main.data;\n break;\n }\n case 'search': {\n Array.prototype.push.apply(this.selectpicker.search.data, mainData);\n break;\n }\n }\n\n return mainData;\n }\n\n buildList (size, searching) {\n var that = this,\n selectData = searching ? this.selectpicker.search.data : this.selectpicker.main.data,\n mainElements = [],\n widestOptionLength = 0;\n\n if (that.options.showTick || that.multiple || that.options.selectionIndicator === 'checkbox') {\n elementTemplates.checkMark.className = this.options.selectionIndicator === 'checkbox'\n ? 'check-mark bs-selection-indicator'\n : this.options.iconBase + ' ' + that.options.tickIcon + ' check-mark';\n\n if (!elementTemplates.checkMark.parentNode) {\n elementTemplates.a.appendChild(elementTemplates.checkMark);\n }\n }\n\n function buildElement (mainElements, item) {\n var liElement,\n combinedLength = 0;\n\n switch (item.type) {\n case 'divider':\n liElement = generateOption.li(\n false,\n classNames.DIVIDER,\n (item.optID ? item.optID + 'div' : undefined)\n );\n\n break;\n\n case 'option':\n liElement = generateOption.li(\n generateOption.a(\n generateOption.text.call(that, item),\n item.optionClass,\n item.inlineStyle\n ),\n '',\n item.optID\n );\n\n if (liElement.firstChild) {\n liElement.firstChild.id = that.selectId + '-' + item.index;\n }\n\n break;\n\n case 'optgroup-label':\n liElement = generateOption.li(\n generateOption.label.call(that, item),\n 'dropdown-header' + item.optgroupClass,\n item.optID\n );\n\n break;\n }\n\n if (item.content) item.sanitized = false;\n\n if (!item.element) {\n item.element = liElement;\n } else {\n item.element.innerHTML = liElement.innerHTML;\n }\n mainElements.push(item.element);\n\n // count the number of characters in the option - not perfect, but should work in most cases\n if (item.display) combinedLength += item.display.length;\n if (item.subtext) combinedLength += item.subtext.length;\n // if there is an icon, ensure this option's width is checked\n if (item.icon) combinedLength += 1;\n\n if (combinedLength > widestOptionLength) {\n widestOptionLength = combinedLength;\n\n // guess which option is the widest\n that.selectpicker.view.widestOption = mainElements[mainElements.length - 1];\n }\n }\n\n var startIndex = size || 0;\n\n for (var len = selectData.length, i = startIndex; i < len; i++) {\n var item = selectData[i];\n\n buildElement(mainElements, item);\n }\n\n if (size) {\n if (searching) {\n Array.prototype.push.apply(this.selectpicker.search.elements, mainElements);\n } else {\n Array.prototype.push.apply(this.selectpicker.main.elements, mainElements);\n this.selectpicker.current.elements = this.selectpicker.main.elements;\n }\n } else {\n if (searching) {\n this.selectpicker.search.elements = mainElements;\n } else {\n this.selectpicker.main.elements = this.selectpicker.current.elements = mainElements;\n }\n }\n }\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n findLis () {\n return this.menuInner.querySelectorAll('.inner > li');\n }\n\n render (init) {\n var that = this,\n element = this.element,\n // ensure titleOption is appended and selected (if necessary) before getting selectedOptions\n placeholderSelected = this.setPlaceholder() && element.selectedIndex === 0,\n selectedOptions = getSelectedOptions.call(this),\n selectedCount = selectedOptions.length,\n selectedValues = getSelectValues.call(this, selectedOptions),\n button = this.button,\n buttonInner = button.querySelector('.filter-option-inner-inner'),\n multipleSeparator = document.createTextNode(this.options.multipleSeparator),\n titleFragment = elementTemplates.fragment.cloneNode(false),\n forceCount = this.multiple && this.options.showSelectedTags && selectedCount > 0,\n showCount,\n countMax,\n hasContent = false;\n\n function createSelected (item) {\n if (item.selected) {\n that.createOption(item, true);\n } else if (item.children && item.children.length) {\n item.children.map(createSelected);\n }\n }\n\n // create selected option elements to ensure select value is correct\n if (this.options.source.data && init) {\n selectedOptions.map(createSelected);\n element.appendChild(this.selectpicker.main.optionQueue);\n\n if (placeholderSelected) placeholderSelected = element.selectedIndex === 0;\n }\n\n button.classList.toggle('bs-placeholder', that.multiple ? !selectedCount : !selectedValues && selectedValues !== 0);\n\n if (!that.multiple && selectedOptions.length === 1) {\n that.selectpicker.view.displayedValue = selectedValues;\n }\n\n if (this.options.selectedTextFormat === 'static') {\n titleFragment = generateOption.text.call(this, { text: this.options.placeholder }, true);\n } else {\n showCount = forceCount || this.multiple && this.options.selectedTextFormat.indexOf('count') !== -1 && selectedCount > 0;\n\n // determine if the number of selected options will be shown (showCount === true)\n if (showCount && !forceCount) {\n countMax = this.options.selectedTextFormat.split('>');\n showCount = (countMax.length > 1 && selectedCount > countMax[1]) || (countMax.length === 1 && selectedCount >= 2);\n }\n\n // only loop through all selected options if the count won't be shown\n if (showCount === false) {\n if (!placeholderSelected) {\n for (var selectedIndex = 0; selectedIndex < selectedCount; selectedIndex++) {\n if (selectedIndex < 50) {\n var option = selectedOptions[selectedIndex],\n titleOptions = {};\n\n if (option) {\n if (this.multiple && selectedIndex > 0) {\n titleFragment.appendChild(multipleSeparator.cloneNode(false));\n }\n\n if (option.title) {\n titleOptions.text = option.title;\n } else if (option.content && that.options.showContent) {\n titleOptions.content = option.content.toString();\n hasContent = true;\n } else {\n if (that.options.showIcon) {\n titleOptions.icon = option.icon;\n }\n if (that.options.showSubtext && !that.multiple && option.subtext) titleOptions.subtext = ' ' + option.subtext;\n titleOptions.text = option.text.trim();\n }\n\n titleFragment.appendChild(generateOption.text.call(this, titleOptions, true));\n }\n } else {\n break;\n }\n }\n\n // add ellipsis\n if (selectedCount > 49) {\n titleFragment.appendChild(document.createTextNode('...'));\n }\n }\n } else {\n var optionSelector = ':not([hidden]):not([data-hidden=\"true\"]):not([data-divider=\"true\"]):not([style*=\"display: none\"])';\n if (this.options.hideDisabled) optionSelector += ':not(:disabled)';\n\n // If this is a multiselect, and selectedTextFormat is count, then show 1 of 2 selected, etc.\n var totalCount = this.element.querySelectorAll('select > option' + optionSelector + ', optgroup' + optionSelector + ' option' + optionSelector).length,\n tr8nText = (typeof this.options.countSelectedText === 'function') ? this.options.countSelectedText(selectedCount, totalCount) : this.options.countSelectedText;\n\n titleFragment = generateOption.text.call(this, {\n text: tr8nText.replace('{0}', selectedCount.toString()).replace('{1}', totalCount.toString())\n }, true);\n }\n }\n\n // If the select doesn't have a title, then use the default, or if nothing is set at all, use noneSelectedText\n if (!titleFragment.childNodes.length) {\n titleFragment = generateOption.text.call(this, {\n text: this.options.placeholder ? this.options.placeholder : this.options.noneSelectedText\n }, true);\n }\n\n // if the select has a title, apply it to the button, and if not, apply titleFragment text\n button.title = titleFragment.textContent.replace(/<[^>]*>?/g, '').trim();\n\n if (this.options.sanitize && hasContent) {\n sanitizeHtml([titleFragment], that.options.whiteList, that.options.sanitizeFn);\n }\n\n buttonInner.innerHTML = '';\n buttonInner.appendChild(titleFragment);\n\n this.syncTagEditor();\n\n this._emit('rendered');\n }\n\n usesTagEditor () {\n return this.options.liveSearch && (this.options.showSelectedTags || this.options.openOptions);\n }\n\n syncTagEditor () {\n if (!this.usesTagEditor()) return;\n\n if (this.selectedItems) {\n var selectedOptions = getSelectedOptions.call(this),\n useListStyle = this.options.selectedItemsStyle === 'list';\n\n this.selectedItems.innerHTML = '';\n this.selectedItems.hidden = !selectedOptions.length;\n this.selectedItems.classList.toggle('list-group', useListStyle);\n\n for (var i = 0; i < selectedOptions.length; i++) {\n var item = selectedOptions[i],\n selectedTag = document.createElement('button'),\n removeText = this.options.selectedTagRemoveLabel + ' ' + getOptionLabelText(item),\n content = document.createElement('span'),\n label = document.createElement('span'),\n remove = document.createElement('span'),\n icon;\n\n selectedTag.type = 'button';\n selectedTag.className = useListStyle\n ? 'bs-selected-item list-group-item list-group-item-action'\n : 'bs-selected-item';\n selectedTag.setAttribute('data-option-value', item.value);\n selectedTag.setAttribute('aria-label', removeText);\n selectedTag.title = removeText;\n\n content.className = 'bs-selected-item-content';\n\n if (item.icon && this.options.showIcon) {\n icon = document.createElement('span');\n icon.className = 'bs-selected-item-icon ' + this.options.iconBase + ' ' + item.icon;\n icon.setAttribute('aria-hidden', 'true');\n content.appendChild(icon);\n }\n\n label.className = 'bs-selected-item-label';\n label.textContent = getOptionLabelText(item);\n content.appendChild(label);\n\n remove.className = 'bs-selected-item-remove';\n remove.setAttribute('aria-hidden', 'true');\n remove.textContent = '\\u00d7';\n\n selectedTag.appendChild(content);\n selectedTag.appendChild(remove);\n this.selectedItems.appendChild(selectedTag);\n }\n }\n\n this.syncOpenOptionButton();\n\n if (this.newElement && this.newElement.classList.contains(classNames.SHOW)) {\n this.setSize(true);\n }\n }\n\n syncOpenOptionButton () {\n if (!this.createOptionButton) return;\n\n var searchValue = this.searchbox ? this.searchbox.value : '',\n normalizedValue = searchValue.toString().trim(),\n shouldShow = !!normalizedValue &&\n !this.selectpicker.openOption.isCreating &&\n !this.findOptionBySearchValue(normalizedValue);\n\n this.createOptionButton.hidden = !shouldShow;\n this.createOptionButton.disabled = this.selectpicker.openOption.isCreating;\n\n if (shouldShow) {\n this.createOptionButton.textContent = this.options.openOptionsText.replace('{0}', normalizedValue);\n this.createOptionButton.setAttribute('data-search-value', normalizedValue);\n } else {\n this.createOptionButton.textContent = '';\n this.createOptionButton.removeAttribute('data-search-value');\n }\n }\n\n findOptionByValue (value, dataSet) {\n var options = dataSet || this.selectpicker.main.data,\n stringValue = String(value);\n\n for (var i = 0; i < options.length; i++) {\n var option = options[i];\n\n if (option.type === 'option' && String(option.value) === stringValue) {\n return option;\n }\n }\n\n return null;\n }\n\n findOptionBySearchValue (searchValue) {\n var options = this.options.source.data || this.options.source.search\n ? Object.values(this.selectpicker.optionValuesDataMap)\n : this.selectpicker.main.data,\n normalizedSearch = normalizeSearchInput(searchValue, this.options.liveSearchNormalize);\n\n for (var i = 0; i < options.length; i++) {\n var option = options[i];\n\n if (option.type !== 'option') continue;\n\n if (\n normalizeSearchInput(option.text, this.options.liveSearchNormalize) === normalizedSearch ||\n normalizeSearchInput(option.value, this.options.liveSearchNormalize) === normalizedSearch ||\n normalizeSearchInput(option.title, this.options.liveSearchNormalize) === normalizedSearch\n ) {\n return option;\n }\n }\n\n return null;\n }\n\n createOptionElement (optionData) {\n var option = document.createElement('option');\n\n option.value = optionData.value === undefined ? optionData.text : optionData.value;\n option.textContent = optionData.text === undefined ? option.value : optionData.text;\n\n if (optionData.className) option.className = optionData.className;\n if (optionData.title) option.title = optionData.title;\n if (optionData.content) option.setAttribute('data-content', optionData.content);\n if (optionData.tokens) option.setAttribute('data-tokens', optionData.tokens);\n if (optionData.subtext) option.setAttribute('data-subtext', optionData.subtext);\n if (optionData.icon) option.setAttribute('data-icon', optionData.icon);\n if (optionData.disabled) option.disabled = true;\n if (optionData.hidden) option.hidden = true;\n\n return option;\n }\n\n appendCreatedSearchResults (searchValue) {\n if (!this.selectpicker.createdOptions.length) return;\n\n var matches = [];\n\n for (var i = 0; i < this.selectpicker.createdOptions.length; i++) {\n var option = this.selectpicker.createdOptions[i];\n\n if (\n stringSearch(option, normalizeSearchInput(searchValue, this.options.liveSearchNormalize), this._searchStyle(), this.options.liveSearchNormalize) &&\n !this.findOptionByValue(option.value, this.selectpicker.search.data)\n ) {\n matches.push(option);\n }\n }\n\n if (matches.length) this.buildData(matches, 'search');\n }\n\n addCreatedOption (optionData) {\n optionData = Object.assign({}, optionData);\n optionData.value = optionData.value === undefined ? optionData.text : optionData.value;\n optionData.text = optionData.text === undefined ? optionData.value : optionData.text;\n\n var size = this.selectpicker.main.elements ? this.selectpicker.main.elements.length : 0,\n option = this.createOptionElement(optionData);\n optionData.option = option;\n\n this.element.appendChild(option);\n var builtOptions = this.buildData([optionData], 'data'),\n builtOption = builtOptions[0];\n\n this.buildList(size);\n this.selectpicker.createdOptions.push(builtOption);\n\n return builtOption;\n }\n\n removeSelectedTag (value) {\n var option = this.findOptionByValue(value);\n\n if (!option || !option.selected) return;\n\n var prevValue = getSelectValues.call(this);\n\n this.setSelected(option, false);\n changedArguments = [option.index, false, prevValue];\n triggerNative(this.element, 'change');\n\n if (this.options.liveSearch) this.searchbox.focus();\n }\n\n createOpenOption (searchValue) {\n searchValue = searchValue === undefined || searchValue === null ? '' : searchValue.toString().trim();\n\n if (!searchValue || this.selectpicker.openOption.isCreating) return;\n\n var existingOption = this.findOptionBySearchValue(searchValue);\n\n if (existingOption) {\n if (!existingOption.selected) {\n var prevSelectedValue = getSelectValues.call(this);\n\n this.setSelected(existingOption, true);\n changedArguments = [existingOption.index, true, prevSelectedValue];\n triggerNative(this.element, 'change');\n }\n\n if (this.options.liveSearch) this.searchbox.focus();\n return;\n }\n\n var that = this,\n prevValue = getSelectValues.call(this),\n createHandler = this.options.source.create;\n\n this.selectpicker.openOption.isCreating = true;\n this.syncOpenOptionButton();\n\n function finalize (createdOption) {\n that.selectpicker.openOption.isCreating = false;\n\n if (createdOption === undefined || createdOption === null || createdOption === false) {\n that.syncOpenOptionButton();\n return;\n }\n\n if (Array.isArray(createdOption)) createdOption = createdOption[0];\n if (typeof createdOption !== 'object') {\n createdOption = {\n text: createdOption,\n value: createdOption\n };\n }\n\n if (!createdOption.text && !createdOption.value) {\n createdOption.text = searchValue;\n }\n\n if (createdOption.value === undefined) createdOption.value = createdOption.text;\n if (createdOption.text === undefined) createdOption.text = createdOption.value;\n\n var option = that.findOptionByValue(createdOption.value) || that.findOptionBySearchValue(createdOption.text);\n\n if (!option) {\n option = that.addCreatedOption(createdOption);\n }\n\n that.setSelected(option, true);\n\n if (that.options.source.data) that.element.appendChild(that.selectpicker.main.optionQueue);\n\n if (that.searchbox) {\n that.searchbox.value = '';\n }\n\n that.selectpicker.search.previousValue = '';\n that.selectpicker.search.data = [];\n that.selectpicker.search.elements = [];\n that.createView(false);\n\n changedArguments = [option.index, true, prevValue];\n triggerNative(that.element, 'change');\n\n if (that.options.liveSearch) that.searchbox.focus();\n }\n\n if (typeof createHandler === 'function') {\n var returnedOption = createHandler.call(this, finalize, searchValue);\n\n if (returnedOption && typeof returnedOption.then === 'function') {\n returnedOption.then(finalize);\n } else if (returnedOption !== undefined) {\n finalize(returnedOption);\n }\n } else {\n finalize({\n text: searchValue,\n value: searchValue\n });\n }\n }\n\n /**\n * @param [newStyle]\n * @param [status]\n */\n setStyle (newStyle, status) {\n var button = this.button,\n newElement = this.newElement,\n style = this.options.style.trim(),\n buttonClass;\n\n if (this.element.getAttribute('class')) {\n var extra = this.element.getAttribute('class').replace(/selectpicker|mobile-device|bs-select-hidden|validate\\[.*\\]/gi, '').trim();\n if (extra) newElement.classList.add.apply(newElement.classList, extra.split(/\\s+/));\n }\n\n if (newStyle) {\n buttonClass = newStyle.trim();\n } else {\n buttonClass = style;\n }\n\n if (status === 'add') {\n if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' '));\n } else if (status === 'remove') {\n if (buttonClass) button.classList.remove.apply(button.classList, buttonClass.split(' '));\n } else {\n if (style) button.classList.remove.apply(button.classList, style.split(' '));\n if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' '));\n }\n }\n\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n liHeight (refresh) {\n if (!refresh && (this.options.size === false || Object.keys(this.sizeInfo).length)) return;\n\n var newElement = elementTemplates.div.cloneNode(false),\n menu = elementTemplates.div.cloneNode(false),\n menuInner = elementTemplates.div.cloneNode(false),\n menuInnerInner = document.createElement('ul'),\n divider = elementTemplates.li.cloneNode(false),\n dropdownHeader = elementTemplates.li.cloneNode(false),\n li,\n a = elementTemplates.a.cloneNode(false),\n text = elementTemplates.span.cloneNode(false),\n header = this.options.header && this.menu.querySelectorAll('.' + classNames.POPOVERHEADER).length > 0 ? this.menu.querySelector('.' + classNames.POPOVERHEADER).cloneNode(true) : null,\n search = this.options.liveSearch && this.menu.querySelector('.bs-searchbox')\n ? this.menu.querySelector('.bs-searchbox').cloneNode(true)\n : null,\n actions = this.options.actionsBox && this.multiple && this.menu.querySelectorAll('.bs-actionsbox').length > 0 ? this.menu.querySelector('.bs-actionsbox').cloneNode(true) : null,\n doneButton = this.options.doneButton && this.multiple && this.menu.querySelectorAll('.bs-donebutton').length > 0 ? this.menu.querySelector('.bs-donebutton').cloneNode(true) : null,\n firstOption = this.element.options[0];\n\n this.sizeInfo.selectWidth = this.newElement.offsetWidth;\n\n text.className = 'text';\n a.className = 'dropdown-item ' + (firstOption ? firstOption.className : '');\n newElement.className = this.menu.parentNode.className + ' ' + classNames.SHOW;\n newElement.style.width = 0; // ensure button width doesn't affect natural width of menu when calculating\n menu.className = classNames.MENU + ' ' + classNames.SHOW;\n menuInner.className = 'inner ' + classNames.SHOW;\n menuInnerInner.className = classNames.MENU + ' inner ' + classNames.SHOW;\n divider.className = classNames.DIVIDER;\n dropdownHeader.className = 'dropdown-header';\n\n text.appendChild(document.createTextNode('\\u200b'));\n\n if (this.selectpicker.current.data.length) {\n for (var i = 0; i < this.selectpicker.current.data.length; i++) {\n var data = this.selectpicker.current.data[i];\n if (data.type === 'option' && window.getComputedStyle(data.element.firstChild).display !== 'none') {\n li = data.element;\n break;\n }\n }\n } else {\n li = elementTemplates.li.cloneNode(false);\n a.appendChild(text);\n li.appendChild(a);\n }\n\n dropdownHeader.appendChild(text.cloneNode(true));\n\n if (this.selectpicker.view.widestOption) {\n menuInnerInner.appendChild(this.selectpicker.view.widestOption.cloneNode(true));\n }\n\n menuInnerInner.appendChild(li);\n menuInnerInner.appendChild(divider);\n menuInnerInner.appendChild(dropdownHeader);\n if (header) menu.appendChild(header);\n if (search) menu.appendChild(search);\n if (actions) menu.appendChild(actions);\n menuInner.appendChild(menuInnerInner);\n menu.appendChild(menuInner);\n if (doneButton) menu.appendChild(doneButton);\n newElement.appendChild(menu);\n\n document.body.appendChild(newElement);\n\n var liHeight = li.offsetHeight,\n dropdownHeaderHeight = dropdownHeader ? dropdownHeader.offsetHeight : 0,\n headerHeight = header ? header.offsetHeight : 0,\n searchHeight = search ? search.offsetHeight : 0,\n actionsHeight = actions ? actions.offsetHeight : 0,\n doneButtonHeight = doneButton ? doneButton.offsetHeight : 0,\n dividerHeight = outerHeight(divider, true),\n menuStyle = window.getComputedStyle(menu),\n menuWidth = menu.offsetWidth,\n menuPadding = {\n vert: toInteger(menuStyle.paddingTop) +\n toInteger(menuStyle.paddingBottom) +\n toInteger(menuStyle.borderTopWidth) +\n toInteger(menuStyle.borderBottomWidth),\n horiz: toInteger(menuStyle.paddingLeft) +\n toInteger(menuStyle.paddingRight) +\n toInteger(menuStyle.borderLeftWidth) +\n toInteger(menuStyle.borderRightWidth)\n },\n menuExtras = {\n vert: menuPadding.vert +\n toInteger(menuStyle.marginTop) +\n toInteger(menuStyle.marginBottom) + 2,\n horiz: menuPadding.horiz +\n toInteger(menuStyle.marginLeft) +\n toInteger(menuStyle.marginRight) + 2\n },\n scrollBarWidth;\n\n menuInner.style.overflowY = 'scroll';\n\n scrollBarWidth = menu.offsetWidth - menuWidth;\n\n document.body.removeChild(newElement);\n\n this.sizeInfo.liHeight = liHeight;\n this.sizeInfo.dropdownHeaderHeight = dropdownHeaderHeight;\n this.sizeInfo.headerHeight = headerHeight;\n this.sizeInfo.searchHeight = searchHeight;\n this.sizeInfo.actionsHeight = actionsHeight;\n this.sizeInfo.doneButtonHeight = doneButtonHeight;\n this.sizeInfo.dividerHeight = dividerHeight;\n this.sizeInfo.menuPadding = menuPadding;\n this.sizeInfo.menuExtras = menuExtras;\n this.sizeInfo.menuWidth = menuWidth;\n this.sizeInfo.menuInnerInnerWidth = menuWidth - menuPadding.horiz;\n this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth;\n this.sizeInfo.scrollBarWidth = scrollBarWidth;\n this.sizeInfo.selectHeight = this.newElement.offsetHeight;\n\n this.setPositionData();\n }\n\n getSelectPosition () {\n var that = this,\n winScrollTop = window.pageYOffset,\n winScrollLeft = window.pageXOffset,\n winHeight = document.documentElement.clientHeight,\n winWidth = document.documentElement.clientWidth,\n pos = offset(that.newElement);\n\n this.sizeInfo.selectOffsetTop = pos.top - winScrollTop;\n this.sizeInfo.selectOffsetBot = winHeight - this.sizeInfo.selectOffsetTop - this.sizeInfo.selectHeight;\n this.sizeInfo.selectOffsetLeft = pos.left - winScrollLeft;\n this.sizeInfo.selectOffsetRight = winWidth - this.sizeInfo.selectOffsetLeft - this.sizeInfo.selectWidth;\n }\n\n setMenuSize (isAuto) {\n this.getSelectPosition();\n\n var selectWidth = this.sizeInfo.selectWidth,\n liHeight = this.sizeInfo.liHeight,\n headerHeight = this.sizeInfo.headerHeight,\n searchHeight = this.sizeInfo.searchHeight,\n actionsHeight = this.sizeInfo.actionsHeight,\n doneButtonHeight = this.sizeInfo.doneButtonHeight,\n divHeight = this.sizeInfo.dividerHeight,\n menuPadding = this.sizeInfo.menuPadding,\n menuInnerHeight,\n menuHeight,\n divLength = 0,\n minHeight,\n _minHeight,\n maxHeight,\n menuInnerMinHeight,\n estimate,\n isDropup;\n\n if (this.options.dropupAuto) {\n // Get the estimated height of the menu without scrollbars.\n estimate = liHeight * this.selectpicker.current.data.length + menuPadding.vert;\n\n isDropup = this.sizeInfo.selectOffsetTop - this.sizeInfo.selectOffsetBot > this.sizeInfo.menuExtras.vert && estimate + this.sizeInfo.menuExtras.vert + 50 > this.sizeInfo.selectOffsetBot;\n\n // ensure dropup doesn't change while searching (so menu doesn't bounce back and forth)\n if (this.selectpicker.isSearching === true) {\n isDropup = this.selectpicker.dropup;\n }\n\n this.newElement.classList.toggle(classNames.DROPUP, isDropup);\n this.selectpicker.dropup = isDropup;\n }\n\n if (this.options.size === 'auto') {\n _minHeight = this.selectpicker.current.data.length > 3 ? this.sizeInfo.liHeight * 3 + this.sizeInfo.menuExtras.vert - 2 : 0;\n menuHeight = this.sizeInfo.selectOffsetBot - this.sizeInfo.menuExtras.vert;\n minHeight = _minHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight;\n menuInnerMinHeight = Math.max(_minHeight - menuPadding.vert, 0);\n\n if (this.newElement.classList.contains(classNames.DROPUP)) {\n menuHeight = this.sizeInfo.selectOffsetTop - this.sizeInfo.menuExtras.vert;\n }\n\n maxHeight = menuHeight;\n menuInnerHeight = menuHeight - headerHeight - searchHeight - actionsHeight - doneButtonHeight - menuPadding.vert;\n } else if (this.options.size && this.options.size !== 'auto' && this.selectpicker.current.elements.length > this.options.size) {\n for (var i = 0; i < this.options.size; i++) {\n if (this.selectpicker.current.data[i].type === 'divider') divLength++;\n }\n\n menuHeight = liHeight * this.options.size + divLength * divHeight + menuPadding.vert;\n menuInnerHeight = menuHeight - menuPadding.vert;\n maxHeight = menuHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight;\n minHeight = menuInnerMinHeight = '';\n }\n\n setStyles(this.menu, {\n maxHeight: maxHeight + 'px',\n overflow: 'hidden',\n minHeight: minHeight + 'px'\n });\n\n setStyles(this.menuInner, {\n maxHeight: menuInnerHeight + 'px',\n overflow: 'hidden auto',\n minHeight: menuInnerMinHeight + 'px'\n });\n\n // ensure menuInnerHeight is always a positive number to prevent issues calculating chunkSize in createView\n this.sizeInfo.menuInnerHeight = Math.max(menuInnerHeight, 1);\n\n if (this.selectpicker.current.data.length && this.selectpicker.current.data[this.selectpicker.current.data.length - 1].position > this.sizeInfo.menuInnerHeight) {\n this.sizeInfo.hasScrollBar = true;\n this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth + this.sizeInfo.scrollBarWidth;\n }\n\n if (this.options.dropdownAlignRight === 'auto') {\n this.menu.classList.toggle(classNames.MENUEND, this.sizeInfo.selectOffsetLeft > this.sizeInfo.selectOffsetRight && this.sizeInfo.selectOffsetRight < (this.sizeInfo.totalMenuWidth - selectWidth));\n }\n\n if (this.dropdown && this.dropdown._popper) this.dropdown._popper.update();\n }\n\n setSize (refresh) {\n this.liHeight(refresh);\n\n if (this.options.header) this.menu.style.paddingTop = 0;\n\n if (this.options.size !== false) {\n var that = this;\n\n this.setMenuSize();\n\n if (this.options.liveSearch) {\n this._replace('setMenuSizeInput', this.searchbox, 'input', function () {\n return that.setMenuSize();\n });\n }\n\n if (this.options.size === 'auto') {\n var windowSizeHandler = function () {\n return that.setMenuSize();\n };\n this._replace('setMenuSizeResize', window, 'resize', windowSizeHandler);\n this._replace('setMenuSizeScroll', window, 'scroll', windowSizeHandler);\n } else if (this.options.size && this.options.size !== 'auto' && this.selectpicker.current.elements.length > this.options.size) {\n this._removeNamed('setMenuSizeResize');\n this._removeNamed('setMenuSizeScroll');\n }\n }\n\n this.createView(false, true, refresh);\n }\n\n setWidth () {\n this.menu.style.minWidth = '';\n this.newElement.style.width = '';\n this.newElement.classList.remove('fit-width');\n\n if (this.options.width === 'fit') {\n this.newElement.classList.add('fit-width');\n return;\n }\n\n if (this.options.width && this.options.width !== 'auto') {\n this.newElement.style.width = this.options.width;\n }\n }\n\n selectPosition () {\n this.bsContainer = createFromHTML('
    ');\n\n var that = this,\n container = resolveContainer(this.options.container),\n pos,\n containerPos,\n actualHeight,\n getPlacement = function (element) {\n var Dropdown = getDropdown(),\n containerPosition = {},\n // fall back to dropdown's default display setting if display is not manually set\n display = that.options.display || (Dropdown.Default ? Dropdown.Default.display : false);\n\n var extraClass = element.getAttribute('class').replace(/form-control|fit-width/gi, '').trim();\n if (extraClass) that.bsContainer.classList.add.apply(that.bsContainer.classList, extraClass.split(/\\s+/));\n that.bsContainer.classList.toggle(classNames.DROPUP, element.classList.contains(classNames.DROPUP));\n pos = offset(element);\n\n if (container !== document.body) {\n containerPos = offset(container);\n var containerStyle = window.getComputedStyle(container);\n containerPos.top += toInteger(containerStyle.borderTopWidth) - container.scrollTop;\n containerPos.left += toInteger(containerStyle.borderLeftWidth) - container.scrollLeft;\n } else {\n containerPos = { top: 0, left: 0 };\n }\n\n actualHeight = element.classList.contains(classNames.DROPUP) ? 0 : element.offsetHeight;\n\n // Bootstrap 5 uses Popper for menu positioning\n if (display === 'static') {\n containerPosition.top = pos.top - containerPos.top + actualHeight;\n containerPosition.left = pos.left - containerPos.left;\n }\n\n containerPosition.width = element.offsetWidth;\n\n setStyles(that.bsContainer, {\n top: containerPosition.top !== undefined ? containerPosition.top + 'px' : '',\n left: containerPosition.left !== undefined ? containerPosition.left + 'px' : '',\n width: containerPosition.width + 'px'\n });\n };\n\n this._on(this.button, 'click', function () {\n if (that.isDisabled()) {\n return;\n }\n\n getPlacement(that.newElement);\n\n container.appendChild(that.bsContainer);\n that.bsContainer.classList.toggle(classNames.SHOW, !that.button.classList.contains(classNames.SHOW));\n that.bsContainer.appendChild(that.menu);\n });\n\n var windowHandler = function () {\n var isActive = that.newElement.classList.contains(classNames.SHOW);\n\n if (isActive) getPlacement(that.newElement);\n };\n this._replace('selectPositionResize', window, 'resize', windowHandler);\n this._replace('selectPositionScroll', window, 'scroll', windowHandler);\n\n this._on(this.element, 'hide' + EVENT_KEY, function () {\n that._menuHeight = outerHeight(that.menu);\n if (that.bsContainer.parentNode) that.bsContainer.parentNode.removeChild(that.bsContainer);\n });\n }\n\n createOption (data, init) {\n var optionData = !data.option ? data : data.option;\n\n if (optionData && optionData.nodeType !== 1) {\n var option = (init ? elementTemplates.selectedOption : elementTemplates.option).cloneNode(true);\n if (optionData.value !== undefined) option.value = optionData.value;\n option.textContent = optionData.text;\n\n option.selected = true;\n\n if (optionData.liIndex !== undefined) {\n option.liIndex = optionData.liIndex;\n } else if (!init) {\n option.liIndex = data.index;\n }\n\n data.option = option;\n\n this.selectpicker.main.optionQueue.appendChild(option);\n }\n }\n\n setOptionStatus (selectedOnly) {\n var that = this;\n\n that.noScroll = false;\n\n if (that.selectpicker.view.visibleElements && that.selectpicker.view.visibleElements.length) {\n for (var i = 0; i < that.selectpicker.view.visibleElements.length; i++) {\n var liData = that.selectpicker.current.data[i + that.selectpicker.view.position0],\n option = liData.option;\n\n if (option) {\n if (selectedOnly !== true) {\n that.setDisabled(liData);\n }\n\n that.setSelected(liData);\n }\n }\n\n // append optionQueue (documentFragment with option elements for select options)\n if (this.options.source.data) this.element.appendChild(this.selectpicker.main.optionQueue);\n }\n }\n\n /**\n * @param {Object} liData - the option object that is being changed\n * @param {boolean} selected - true if the option is being selected, false if being deselected\n */\n setSelected (liData, selected) {\n selected = selected === undefined ? liData.selected : selected;\n\n var li = liData.element,\n activeElementIsSet = this.activeElement !== undefined,\n thisIsActive = this.activeElement === li,\n prevActive,\n a,\n keepActive = thisIsActive || (selected && !this.multiple && !activeElementIsSet);\n\n if (selected !== undefined) {\n liData.selected = selected;\n if (liData.option) liData.option.selected = selected;\n }\n\n if (selected && this.options.source.data) {\n this.createOption(liData, false);\n }\n\n if (!li) return;\n\n a = li.firstChild;\n\n if (selected) {\n this.selectedElement = li;\n }\n\n li.classList.toggle('selected', selected);\n\n if (keepActive) {\n this.focusItem(li, liData);\n this.selectpicker.view.currentActive = li;\n this.activeElement = li;\n } else {\n this.defocusItem(li);\n }\n\n if (a) {\n a.classList.toggle('selected', selected);\n\n if (selected) {\n a.setAttribute('aria-selected', true);\n } else {\n if (this.multiple) {\n a.setAttribute('aria-selected', false);\n } else {\n a.removeAttribute('aria-selected');\n }\n }\n }\n\n if (!keepActive && !activeElementIsSet && selected && this.prevActiveElement !== undefined) {\n prevActive = this.prevActiveElement;\n\n this.defocusItem(prevActive);\n }\n }\n\n /**\n * @param {Object} liData - the option that is being disabled\n */\n setDisabled (liData) {\n var disabled = liData.disabled,\n li = liData.element,\n a;\n\n if (!li) return;\n\n a = li.firstChild;\n\n li.classList.toggle(classNames.DISABLED, disabled);\n\n if (a) {\n a.classList.toggle(classNames.DISABLED, disabled);\n\n if (disabled) {\n a.setAttribute('aria-disabled', disabled);\n a.setAttribute('tabindex', -1);\n } else {\n a.removeAttribute('aria-disabled');\n a.setAttribute('tabindex', 0);\n }\n }\n }\n\n isDisabled () {\n return this.element.disabled;\n }\n\n checkDisabled () {\n if (this.isDisabled()) {\n this.newElement.classList.add(classNames.DISABLED);\n this.button.classList.add(classNames.DISABLED);\n this.button.setAttribute('aria-disabled', true);\n } else {\n if (this.button.classList.contains(classNames.DISABLED)) {\n this.newElement.classList.remove(classNames.DISABLED);\n this.button.classList.remove(classNames.DISABLED);\n this.button.setAttribute('aria-disabled', false);\n }\n }\n }\n\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n clickListener () {\n var that = this;\n\n spaceSelectFlag = false;\n\n this._on(this.button, 'keyup', function (e) {\n if (/(32)/.test(e.keyCode.toString(10)) && spaceSelectFlag) {\n e.preventDefault();\n spaceSelectFlag = false;\n }\n });\n\n function clearSelection (e) {\n if (that.multiple) {\n that.deselectAll();\n } else {\n var element = that.element,\n prevValue = element.value,\n prevIndex = element.selectedIndex,\n prevOption = element.options[prevIndex],\n prevData = prevOption ? that.selectpicker.main.data[prevOption.liIndex] : false;\n\n if (prevData) {\n that.setSelected(prevData, false);\n }\n\n element.selectedIndex = 0;\n\n changedArguments = [prevIndex, false, prevValue];\n triggerNative(that.element, 'change');\n }\n\n // remove selected styling if menu is open\n if (that.newElement.classList.contains(classNames.SHOW)) {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n }\n\n that.createView(false);\n }\n }\n\n if (this.options.allowClear) {\n this._on(this.button, 'click', function (e) {\n var target = e.target,\n clearButton = that.clearButton;\n\n if (target === clearButton || target.parentElement === clearButton) {\n e.stopImmediatePropagation();\n clearSelection(e);\n }\n });\n }\n\n function setFocus () {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.menuInner.focus();\n }\n }\n\n function checkPopperExists () {\n if (that.dropdown && that.dropdown._popper && that.dropdown._popper.state) {\n setFocus();\n } else {\n requestAnimationFrame(checkPopperExists);\n }\n }\n\n this._on(this.element, 'shown' + EVENT_KEY, function () {\n if (that.menuInner.scrollTop !== that.selectpicker.view.scrollTop) {\n that.menuInner.scrollTop = that.selectpicker.view.scrollTop;\n }\n\n requestAnimationFrame(checkPopperExists);\n });\n\n // ensure posinset and setsize are correct before selecting an option via a click\n this._delegate(this.menuInner, 'mouseover', 'li a', function () {\n var hoverLi = this.parentElement,\n position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0,\n index = Array.prototype.indexOf.call(hoverLi.parentElement.children, hoverLi),\n hoverData = that.selectpicker.current.data[index + position0];\n\n that.focusItem(hoverLi, hoverData, true);\n });\n\n this._delegate(this.menuInner, 'click', 'li a', function (e) {\n that.onOptionClick(this, e);\n });\n\n this._delegate(this.menu, 'click', 'li.' + classNames.DISABLED + ' a, .' + classNames.POPOVERHEADER + ', .' + classNames.POPOVERHEADER + ' :not(.btn-close):not(.close)', function (e) {\n if (e.currentTarget === this || e.target === this) {\n e.preventDefault();\n e.stopPropagation();\n if (that.options.liveSearch && !e.target.classList.contains('btn-close') && !e.target.classList.contains('close')) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n }\n });\n\n this._delegate(this.menuInner, 'click', '.divider, .dropdown-header', function (e) {\n e.preventDefault();\n e.stopPropagation();\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n });\n\n this._delegate(this.menu, 'click', '.' + classNames.POPOVERHEADER + ' .btn-close, .' + classNames.POPOVERHEADER + ' .close', function () {\n that.dropdown.hide();\n });\n\n this._delegate(this.newElement, 'click', '.bs-selected-item', function (e) {\n e.preventDefault();\n e.stopPropagation();\n that.removeSelectedTag(this.getAttribute('data-option-value'));\n });\n\n this._delegate(this.menu, 'click', '.bs-create-option', function (e) {\n e.preventDefault();\n e.stopPropagation();\n that.createOpenOption(this.getAttribute('data-search-value'));\n });\n\n if (this.searchbox) {\n this._on(this.searchbox, 'click', function (e) {\n e.stopPropagation();\n });\n }\n\n this._delegate(this.menu, 'click', '.actions-btn', function (e) {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (this.classList.contains('bs-select-all')) {\n that.selectAll();\n } else {\n that.deselectAll();\n }\n });\n\n this._on(this.button, 'focus', function (e) {\n var tabindex = that.element.getAttribute('tabindex');\n\n // only change when button is actually focused\n if (tabindex !== undefined && tabindex !== null && e.isTrusted) {\n // apply select element's tabindex to ensure correct order is followed when tabbing to the next element\n this.setAttribute('tabindex', tabindex);\n // set element's tabindex to -1 to allow for reverse tabbing\n that.element.setAttribute('tabindex', -1);\n that.selectpicker.view.tabindex = tabindex;\n }\n });\n\n this._on(this.button, 'blur', function (e) {\n // revert everything to original tabindex\n if (that.selectpicker.view.tabindex !== undefined && e.isTrusted) {\n that.element.setAttribute('tabindex', that.selectpicker.view.tabindex);\n this.setAttribute('tabindex', -1);\n that.selectpicker.view.tabindex = undefined;\n }\n });\n\n this._on(this.element, 'change', function () {\n that.render();\n that._emit('changed', changedArguments ? {\n clickedIndex: changedArguments[0],\n isSelected: changedArguments[1],\n previousValue: changedArguments[2]\n } : null);\n changedArguments = null;\n });\n\n this._on(this.element, 'focus', function () {\n if (!that.options.mobile) that.button.focus();\n });\n }\n\n onOptionClick (clickedAnchor, e, retainActive) {\n var that = this,\n element = that.element,\n li = clickedAnchor.parentElement,\n position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0,\n clickedData = that.selectpicker.current.data[Array.prototype.indexOf.call(li.parentElement.children, li) + position0],\n clickedElement = clickedData.element,\n prevValue = getSelectValues.call(that),\n prevIndex = element.selectedIndex,\n prevOption = element.options[prevIndex],\n prevData = prevOption ? that.selectpicker.main.data[prevOption.liIndex] : false,\n triggerChange = true;\n\n // Don't close on multi choice menu\n if (that.multiple && that.options.maxOptions !== 1) {\n e.stopPropagation();\n }\n\n e.preventDefault();\n\n // Don't run if the select is disabled\n if (!that.isDisabled() && !li.classList.contains(classNames.DISABLED)) {\n var option = clickedData.option,\n state = option.selected,\n optgroupData = that.selectpicker.current.data.find(function (datum) {\n return datum.optID === clickedData.optID && datum.type === 'optgroup-label';\n }),\n optgroup = optgroupData ? optgroupData.optgroup : undefined,\n dataGetter = optgroup instanceof Element ? getOptionData.fromOption : getOptionData.fromDataSource,\n optgroupOptions = optgroup && optgroup.children,\n maxOptions = parseInt(that.options.maxOptions),\n maxOptionsGrp = optgroup && parseInt(dataGetter(optgroup, 'maxOptions')) || false;\n\n if (clickedElement === that.activeElement) retainActive = true;\n\n if (!retainActive) {\n that.prevActiveElement = that.activeElement;\n that.activeElement = undefined;\n }\n\n if (!that.multiple || maxOptions === 1) { // Deselect previous option if not multi select\n if (prevData) that.setSelected(prevData, false);\n that.setSelected(clickedData, true);\n } else { // Toggle the clicked option if multi select.\n that.setSelected(clickedData, !state);\n that.focusedParent.focus();\n\n if (maxOptions !== false || maxOptionsGrp !== false) {\n var maxReached = maxOptions < getSelectedOptions.call(that).length,\n selectedGroupOptions = 0;\n\n if (optgroup && optgroup.children) {\n for (var i = 0; i < optgroup.children.length; i++) {\n if (optgroup.children[i].selected) selectedGroupOptions++;\n }\n }\n\n var maxReachedGrp = maxOptionsGrp < selectedGroupOptions;\n\n if ((maxOptions && maxReached) || (maxOptionsGrp && maxReachedGrp)) {\n if (maxOptions && maxOptions === 1) {\n element.selectedIndex = -1;\n that.setOptionStatus(true);\n } else if (maxOptionsGrp && maxOptionsGrp === 1) {\n for (var j = 0; j < optgroupOptions.length; j++) {\n var _option = optgroupOptions[j];\n that.setSelected(that.selectpicker.current.data[_option.liIndex], false);\n }\n\n that.setSelected(clickedData, true);\n } else {\n var maxOptionsText = typeof that.options.maxOptionsText === 'string' ? [that.options.maxOptionsText, that.options.maxOptionsText] : that.options.maxOptionsText,\n maxOptionsArr = typeof maxOptionsText === 'function' ? maxOptionsText(maxOptions, maxOptionsGrp) : maxOptionsText,\n maxTxt = maxOptionsArr[0].replace('{n}', maxOptions),\n maxTxtGrp = maxOptionsArr[1].replace('{n}', maxOptionsGrp),\n notify = createFromHTML('
    ');\n\n that.menu.appendChild(notify);\n\n if (maxOptions && maxReached) {\n notify.appendChild(createFromHTML('
    ' + maxTxt + '
    '));\n triggerChange = false;\n that._emit('maxReached');\n }\n\n if (maxOptionsGrp && maxReachedGrp) {\n notify.appendChild(createFromHTML('
    ' + maxTxtGrp + '
    '));\n triggerChange = false;\n that._emit('maxReachedGrp');\n }\n\n setTimeout(function () {\n that.setSelected(clickedData, false);\n }, 10);\n\n notify.classList.add('fadeOut');\n\n setTimeout(function () {\n notify.remove();\n }, 1050);\n }\n }\n }\n }\n\n if (that.options.source.data) that.element.appendChild(that.selectpicker.main.optionQueue);\n\n if (!that.multiple || (that.multiple && that.options.maxOptions === 1)) {\n that.button.focus();\n } else if (that.options.liveSearch) {\n that.searchbox.focus();\n }\n\n // Trigger select 'change'\n if (triggerChange) {\n if (that.multiple || prevIndex !== element.selectedIndex) {\n changedArguments = [option.index, option.selected, prevValue];\n triggerNative(that.element, 'change');\n }\n }\n }\n }\n\n liveSearchListener () {\n var that = this;\n\n this._on(this.searchbox, 'click', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'focus', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'touchend', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'keydown', function (e) {\n if (e.key === 'Enter' && that.createOptionButton && !that.createOptionButton.hidden && !that.selectpicker.current.data.length) {\n e.preventDefault();\n e.stopPropagation();\n that.createOpenOption(that.searchbox.value);\n }\n });\n\n this._on(this.searchbox, 'input', function () {\n var searchValue = that.searchbox.value;\n\n that.selectpicker.search.elements = [];\n that.selectpicker.search.data = [];\n\n if (searchValue) {\n that.selectpicker.search.previousValue = searchValue;\n\n if (that.options.source.search) {\n that.fetchData(function () {\n that.appendCreatedSearchResults(searchValue);\n that.render();\n that.buildList(undefined, true);\n that.noScroll = true;\n that.menuInner.scrollTop = 0;\n that.createView(true);\n showNoResults.call(that, that.selectpicker.search.data, searchValue);\n }, 'search', 0, searchValue);\n } else {\n var searchMatch = [],\n q = searchValue.toUpperCase(),\n cache = {},\n cacheArr = [],\n searchStyle = that._searchStyle(),\n normalizeSearch = that.options.liveSearchNormalize;\n\n if (normalizeSearch) q = normalizeToBase(q);\n\n for (var i = 0; i < that.selectpicker.main.data.length; i++) {\n var li = that.selectpicker.main.data[i];\n\n if (!cache[i]) {\n cache[i] = stringSearch(li, q, searchStyle, normalizeSearch);\n }\n\n if (cache[i] && li.headerIndex !== undefined && cacheArr.indexOf(li.headerIndex) === -1) {\n if (li.headerIndex > 0) {\n cache[li.headerIndex - 1] = true;\n cacheArr.push(li.headerIndex - 1);\n }\n\n cache[li.headerIndex] = true;\n cacheArr.push(li.headerIndex);\n\n cache[li.lastIndex + 1] = true;\n }\n\n if (cache[i] && li.type !== 'optgroup-label') cacheArr.push(i);\n }\n\n for (var j = 0, cacheLen = cacheArr.length; j < cacheLen; j++) {\n var index = cacheArr[j],\n prevIndex = cacheArr[j - 1],\n liData = that.selectpicker.main.data[index],\n liPrev = that.selectpicker.main.data[prevIndex];\n\n if (liData.type !== 'divider' || (liData.type === 'divider' && liPrev && liPrev.type !== 'divider' && cacheLen - 1 !== j)) {\n that.selectpicker.search.data.push(liData);\n searchMatch.push(that.selectpicker.main.elements[index]);\n }\n }\n\n that.activeElement = undefined;\n that.noScroll = true;\n that.menuInner.scrollTop = 0;\n that.selectpicker.search.elements = searchMatch;\n that.createView(true);\n showNoResults.call(that, searchMatch, searchValue);\n }\n } else if (that.selectpicker.search.previousValue) {\n that.menuInner.scrollTop = 0;\n that.createView(false);\n }\n\n that.syncOpenOptionButton();\n });\n }\n\n _searchStyle () {\n return this.options.liveSearchStyle || 'contains';\n }\n\n getValue () {\n var element = this.element;\n\n if (this.multiple) {\n var values = [];\n for (var i = 0; i < element.options.length; i++) {\n if (element.options[i].selected) values.push(element.options[i].value);\n }\n return values;\n }\n\n return element.value;\n }\n\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n val (value) {\n var element = this.element;\n\n if (typeof value !== 'undefined') {\n var selectedOptions = getSelectedOptions.call(this),\n prevValue = getSelectValues.call(this, selectedOptions);\n\n changedArguments = [null, null, prevValue];\n\n if (!Array.isArray(value)) value = [ value ];\n\n value.map(String);\n\n for (var i = 0; i < selectedOptions.length; i++) {\n var item = selectedOptions[i];\n\n if (item && value.indexOf(String(item.value)) === -1) {\n this.setSelected(item, false);\n }\n }\n\n // only update selected value if it matches an existing option\n this.selectpicker.main.data.filter(function (item) {\n if (value.indexOf(String(item.value)) !== -1) {\n this.setSelected(item, true);\n return true;\n }\n\n return false;\n }, this);\n\n if (this.options.source.data) element.appendChild(this.selectpicker.main.optionQueue);\n\n this._emit('changed', changedArguments ? {\n clickedIndex: changedArguments[0],\n isSelected: changedArguments[1],\n previousValue: changedArguments[2]\n } : null);\n\n if (this.newElement.classList.contains(classNames.SHOW)) {\n if (this.multiple) {\n this.setOptionStatus(true);\n } else {\n var liSelectedIndex = (element.options[element.selectedIndex] || {}).liIndex;\n\n if (typeof liSelectedIndex === 'number') {\n this.setSelected(this.selectpicker.current.data[liSelectedIndex], true);\n }\n }\n }\n\n this.render();\n\n changedArguments = null;\n\n return this.element;\n } else {\n return this.getValue();\n }\n }\n\n changeAll (status) {\n if (!this.multiple) return;\n if (typeof status === 'undefined') status = true;\n\n var element = this.element,\n previousSelected = 0,\n currentSelected = 0,\n prevValue = getSelectValues.call(this);\n\n element.classList.add('bs-select-hidden');\n\n for (var i = 0, data = this.selectpicker.current.data, len = data.length; i < len; i++) {\n var liData = data[i],\n option = liData.option;\n\n if (option && !liData.disabled && liData.type !== 'divider') {\n if (liData.selected) previousSelected++;\n option.selected = status;\n liData.selected = status;\n if (status === true) currentSelected++;\n }\n }\n\n element.classList.remove('bs-select-hidden');\n\n if (previousSelected === currentSelected) return;\n\n this.setOptionStatus();\n\n changedArguments = [null, null, prevValue];\n\n triggerNative(this.element, 'change');\n }\n\n selectAll () {\n return this.changeAll(true);\n }\n\n deselectAll () {\n return this.changeAll(false);\n }\n\n toggle (e, state) {\n var isActive,\n triggerToggle = state === undefined;\n\n if (e && e.stopPropagation) e.stopPropagation();\n\n if (triggerToggle === false) {\n isActive = this.newElement.classList.contains(classNames.SHOW);\n triggerToggle = (state === true && isActive === false) || (state === false && isActive === true);\n }\n\n if (triggerToggle) this.dropdown.toggle();\n }\n\n open (e) {\n this.toggle(e, true);\n }\n\n close (e) {\n this.toggle(e, false);\n }\n\n _keydown (e, el) {\n var that = this,\n which = e.which || e.keyCode,\n isToggle = el.classList.contains('dropdown-toggle'),\n items = that.findLis(),\n index,\n isActive,\n liActive,\n activeLi,\n offsetVal,\n updateScroll = false,\n downOnTab = which === keyCodes.TAB && !isToggle && !that.options.selectOnTab,\n isArrowKey = REGEXP_ARROW.test(which) || downOnTab,\n scrollTop = that.menuInner.scrollTop,\n isVirtual = that.isVirtual(),\n position0 = isVirtual === true ? that.selectpicker.view.position0 : 0;\n\n // do nothing if a function key is pressed\n if (which >= 112 && which <= 123) return;\n\n isActive = that.menu.classList.contains(classNames.SHOW);\n\n if (\n !isActive &&\n (\n isArrowKey ||\n (which >= 48 && which <= 57) ||\n (which >= 96 && which <= 105) ||\n (which >= 65 && which <= 90)\n )\n ) {\n that.dropdown.show();\n\n if (that.options.liveSearch) {\n that.searchbox.focus();\n return;\n }\n }\n\n if (which === keyCodes.ESCAPE && isActive) {\n e.preventDefault();\n that.dropdown.hide();\n that.button.focus();\n }\n\n if (isArrowKey) { // if up or down\n if (!items.length) return;\n\n liActive = that.activeElement;\n index = liActive ? Array.prototype.indexOf.call(liActive.parentElement.children, liActive) : -1;\n\n if (index !== -1) {\n that.defocusItem(liActive);\n }\n\n if (which === keyCodes.ARROW_UP) { // up\n if (index !== -1) index--;\n if (index + position0 < 0) index += items.length;\n\n if (!that.selectpicker.view.canHighlight[index + position0]) {\n index = that.selectpicker.view.canHighlight.slice(0, index + position0).lastIndexOf(true) - position0;\n if (index === -1) index = items.length - 1;\n }\n } else if (which === keyCodes.ARROW_DOWN || downOnTab) { // down\n index++;\n if (index + position0 >= that.selectpicker.view.canHighlight.length) index = that.selectpicker.view.firstHighlightIndex;\n\n if (!that.selectpicker.view.canHighlight[index + position0]) {\n index = index + 1 + that.selectpicker.view.canHighlight.slice(index + position0 + 1).indexOf(true);\n }\n }\n\n e.preventDefault();\n\n var liActiveIndex = position0 + index;\n\n if (which === keyCodes.ARROW_UP) { // up\n // scroll to bottom and highlight last option\n if (position0 === 0 && index === items.length - 1) {\n that.menuInner.scrollTop = that.menuInner.scrollHeight;\n\n liActiveIndex = that.selectpicker.current.elements.length - 1;\n } else {\n activeLi = that.selectpicker.current.data[liActiveIndex];\n\n // could be undefined if no results exist\n if (activeLi) {\n offsetVal = activeLi.position - activeLi.height;\n\n updateScroll = offsetVal < scrollTop;\n }\n }\n } else if (which === keyCodes.ARROW_DOWN || downOnTab) { // down\n // scroll to top and highlight first option\n if (index === that.selectpicker.view.firstHighlightIndex) {\n that.menuInner.scrollTop = 0;\n\n liActiveIndex = that.selectpicker.view.firstHighlightIndex;\n } else {\n activeLi = that.selectpicker.current.data[liActiveIndex];\n\n // could be undefined if no results exist\n if (activeLi) {\n offsetVal = activeLi.position - that.sizeInfo.menuInnerHeight;\n\n updateScroll = offsetVal > scrollTop;\n }\n }\n }\n\n liActive = that.selectpicker.current.elements[liActiveIndex];\n\n that.activeElement = (that.selectpicker.current.data[liActiveIndex] || {}).element;\n\n that.focusItem(liActive);\n\n that.selectpicker.view.currentActive = liActive;\n\n if (updateScroll) that.menuInner.scrollTop = offsetVal;\n\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n el.focus();\n }\n } else if (\n (!el.matches('input') && !REGEXP_TAB_OR_ESCAPE.test(which)) ||\n (which === keyCodes.SPACE && that.selectpicker.keydown.keyHistory)\n ) {\n var matches = [],\n keyHistory;\n\n e.preventDefault();\n\n that.selectpicker.keydown.keyHistory += keyCodeMap[which];\n\n if (that.selectpicker.keydown.resetKeyHistory.cancel) clearTimeout(that.selectpicker.keydown.resetKeyHistory.cancel);\n that.selectpicker.keydown.resetKeyHistory.cancel = that.selectpicker.keydown.resetKeyHistory.start();\n\n keyHistory = that.selectpicker.keydown.keyHistory;\n\n // if all letters are the same, set keyHistory to just the first character when searching\n if (/^(.)\\1+$/.test(keyHistory)) {\n keyHistory = keyHistory.charAt(0);\n }\n\n // find matches\n for (var i = 0; i < that.selectpicker.current.data.length; i++) {\n var li = that.selectpicker.current.data[i],\n hasMatch;\n\n hasMatch = stringSearch(li, keyHistory, 'startsWith', true);\n\n if (hasMatch && that.selectpicker.view.canHighlight[i]) {\n matches.push(li.element);\n }\n }\n\n if (matches.length) {\n var matchIndex = 0;\n\n Array.prototype.forEach.call(items, function (item) {\n item.classList.remove('active');\n if (item.firstChild) item.firstChild.classList.remove('active');\n });\n\n // either only one key has been pressed or they are all the same key\n if (keyHistory.length === 1) {\n matchIndex = matches.indexOf(that.activeElement);\n\n if (matchIndex === -1 || matchIndex === matches.length - 1) {\n matchIndex = 0;\n } else {\n matchIndex++;\n }\n }\n\n activeLi = that.selectpicker.main.data[that.selectpicker.main.elements.indexOf(matches[matchIndex])];\n\n if (activeLi) {\n if (scrollTop - activeLi.position > 0) {\n offsetVal = activeLi.position - activeLi.height;\n updateScroll = true;\n } else {\n offsetVal = activeLi.position - that.sizeInfo.menuInnerHeight;\n // if the option is already visible at the current scroll position, just keep it the same\n updateScroll = activeLi.position > scrollTop + that.sizeInfo.menuInnerHeight;\n }\n }\n\n liActive = matches[matchIndex];\n\n that.activeElement = liActive;\n\n that.focusItem(liActive);\n\n if (liActive) liActive.firstChild.focus();\n\n if (updateScroll) that.menuInner.scrollTop = offsetVal;\n\n el.focus();\n }\n }\n\n // Select focused option if \"Enter\", \"Spacebar\" or \"Tab\" (when selectOnTab is true) are pressed inside the menu.\n if (\n isActive &&\n (\n (which === keyCodes.SPACE && !that.selectpicker.keydown.keyHistory) ||\n which === keyCodes.ENTER ||\n (which === keyCodes.TAB && that.options.selectOnTab)\n )\n ) {\n if (which !== keyCodes.SPACE) e.preventDefault();\n\n if (!that.options.liveSearch || which !== keyCodes.SPACE) {\n var activeAnchor = that.menuInner.querySelector('.active a');\n if (activeAnchor) that.onOptionClick(activeAnchor, e, true); // retain active class\n el.focus();\n\n if (!that.options.liveSearch) {\n // Prevent screen from scrolling if the user hits the spacebar\n e.preventDefault();\n // Fixes spacebar selection of dropdown items in FF & IE\n spaceSelectFlag = true;\n }\n }\n }\n }\n\n mobile () {\n // ensure mobile is set to true if mobile function is called after init\n this.options.mobile = true;\n this.element.classList.add('mobile-device');\n }\n\n resetMenuData () {\n this.selectpicker.main.data = [];\n this.selectpicker.main.elements = [];\n this.selectpicker.main.hasMore = false;\n this.selectpicker.search.data = [];\n this.selectpicker.search.elements = [];\n this.selectpicker.search.hasMore = false;\n this.selectpicker.current.data = this.selectpicker.main.data;\n this.selectpicker.current.elements = this.selectpicker.main.elements;\n this.selectpicker.current.hasMore = false;\n this.selectpicker.isSearching = false;\n }\n\n refresh () {\n var that = this;\n // update options if data attributes have been changed\n var config = stripRemovedOptions(Object.assign({}, this.options, getAttributesObject(this.element), getDataset(this.element)));\n this.options = config;\n\n if (this.options.source.data) {\n this.render();\n this.buildList();\n } else {\n this.resetMenuData();\n this.fetchData(function () {\n that.render();\n that.buildList();\n });\n }\n\n this.checkDisabled();\n this.setStyle();\n this.setWidth();\n\n this.setSize(true);\n\n this._emit('refreshed');\n }\n\n hide () {\n this.newElement.style.display = 'none';\n }\n\n show () {\n this.newElement.style.display = '';\n }\n\n remove () {\n if (this.newElement.parentNode) this.newElement.parentNode.removeChild(this.newElement);\n instanceMap.delete(this.element);\n }\n\n destroy () {\n // move the select back out of newElement, then remove newElement\n if (this.newElement.parentNode) {\n this.newElement.parentNode.insertBefore(this.element, this.newElement);\n this.newElement.parentNode.removeChild(this.newElement);\n }\n\n if (this.bsContainer) {\n if (this.bsContainer.parentNode) this.bsContainer.parentNode.removeChild(this.bsContainer);\n } else if (this.menu && this.menu.parentNode) {\n this.menu.parentNode.removeChild(this.menu);\n }\n\n if (this.selectpicker.view.titleOption && this.selectpicker.view.titleOption.parentNode) {\n this.selectpicker.view.titleOption.parentNode.removeChild(this.selectpicker.view.titleOption);\n }\n\n // remove all tracked event listeners\n for (var i = 0; i < this._listeners.length; i++) {\n var l = this._listeners[i];\n l.el.removeEventListener(l.type, l.handler, l.options);\n }\n this._listeners = [];\n\n for (var key in this._named) {\n if (Object.prototype.hasOwnProperty.call(this._named, key)) {\n this._removeNamed(key);\n }\n }\n\n if (this.dropdown && typeof this.dropdown.dispose === 'function') {\n this.dropdown.dispose();\n }\n\n this.element.classList.remove('bs-select-hidden', 'selectpicker', 'mobile-device');\n\n instanceMap.delete(this.element);\n }\n}\n\n// stores element -> Selectpicker instance\nvar instanceMap = new WeakMap();\n\nSelectpicker.NAME = 'selectpicker';\nSelectpicker.VERSION = '1.2.0';\n\n// user-provided global defaults (set via Selectpicker.setDefaults, used by i18n files)\nSelectpicker.defaults = null;\n\n// part of this is duplicated in i18n/defaults-en_US.js. Make sure to update both.\nSelectpicker.DEFAULTS = {\n noneSelectedText: 'Nothing selected',\n noneResultsText: 'No results matched {0}',\n countSelectedText: function (numSelected) {\n return (numSelected == 1) ? '{0} item selected' : '{0} items selected';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)',\n (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'\n ];\n },\n selectAllText: 'Select All',\n deselectAllText: 'Deselect All',\n source: {\n pageSize: 40,\n create: null\n },\n chunkSize: 40,\n doneButton: false,\n doneButtonText: 'Close',\n multipleSeparator: ', ',\n style: classNames.BUTTONCLASS,\n size: 'auto',\n placeholder: null,\n allowClear: false,\n selectedTextFormat: 'values',\n width: false,\n hideDisabled: false,\n showSubtext: false,\n showIcon: true,\n showContent: true,\n dropupAuto: true,\n header: false,\n liveSearch: false,\n liveSearchPlaceholder: null,\n liveSearchNormalize: false,\n liveSearchStyle: 'contains',\n openOptions: false,\n openOptionsText: 'Create \"{0}\"',\n selectionIndicator: 'checkmark',\n actionsBox: false,\n iconBase: classNames.ICONBASE,\n tickIcon: classNames.TICKICON,\n showTick: false,\n showSelectedTags: false,\n selectedItemsStyle: 'tags',\n selectedTagRemoveLabel: 'Remove',\n template: {\n caret: ''\n },\n maxOptions: false,\n selectOnTab: true,\n dropdownAlignRight: false,\n virtualScroll: 600,\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist\n};\n\nSelectpicker._buildConfig = function (element, options) {\n options = stripRemovedOptions(options || {});\n\n var dataAttributes = stripRemovedOptions(getDataset(element));\n\n for (var dataAttr in dataAttributes) {\n if (Object.prototype.hasOwnProperty.call(dataAttributes, dataAttr) && DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr];\n }\n }\n\n var userDefaults = stripRemovedOptions(Selectpicker.defaults || {});\n\n var config = Object.assign({}, Selectpicker.DEFAULTS, userDefaults, getAttributesObject(element), dataAttributes, options);\n config.template = Object.assign({}, Selectpicker.DEFAULTS.template, userDefaults.template || {}, dataAttributes.template, options.template);\n config.source = Object.assign({}, Selectpicker.DEFAULTS.source, userDefaults.source || {}, options.source);\n\n return applyLegacyOptions(element, config);\n};\n\nSelectpicker.setDefaults = function (newDefaults) {\n Selectpicker.defaults = stripRemovedOptions(Object.assign({}, Selectpicker.defaults, newDefaults));\n};\n\nSelectpicker.getInstance = function (element) {\n if (typeof element === 'string') element = document.querySelector(element);\n return instanceMap.get(element) || null;\n};\n\nSelectpicker.getOrCreateInstance = function (element, options) {\n if (typeof element === 'string') element = document.querySelector(element);\n if (!element || element.tagName !== 'SELECT') return null;\n\n var instance = instanceMap.get(element);\n\n if (instance) {\n options = stripRemovedOptions(options);\n\n if (options && typeof options === 'object') {\n for (var i in options) {\n if (Object.prototype.hasOwnProperty.call(options, i)) {\n instance.options[i] = options[i];\n }\n }\n }\n\n return instance;\n }\n\n return new Selectpicker(element, typeof options === 'object' ? options : {});\n};\n\n// Runtime wiring lives in js/bootstrap-select.runtime.js so each distribution\n// can choose whether it should expose a browser global or stay module-scoped.\n\n\n/* global Selector, __SELECTPICKER_EXPOSE_GLOBAL__ */\n\n// \nvar KEYDOWN_SELECTOR = '.bootstrap-select [' + Selector.DATA_TOGGLE + '], .bootstrap-select [role=\"listbox\"], .bootstrap-select .bs-searchbox input';\n\nfunction initSelectpickerRuntime (Selectpicker, exposeGlobal) {\n if (typeof window === 'undefined' || typeof document === 'undefined') return;\n\n // Handle keyboard navigation ourselves. This listener runs in the capture\n // phase on `window` so it executes before Bootstrap's `document`-level\n // (capture-phase, delegated) dropdown keydown handler and prevents it from\n // processing bootstrap-select's custom menu (which would otherwise error on\n // relocated/container menus and conflict with our own navigation). This\n // replaces the upstream approach of unbinding Bootstrap's global handler.\n window.addEventListener('keydown', function (e) {\n var target = e.target;\n if (!target || !target.closest) return;\n\n // Any keydown originating inside a bootstrap-select widget (or its\n // relocated menu container) must not reach Bootstrap's dropdown keydown\n // handler.\n var widget = target.closest('.bootstrap-select, .bs-container');\n if (!widget) return;\n\n e.stopImmediatePropagation();\n\n var trigger = target.closest(KEYDOWN_SELECTOR);\n if (!trigger) return;\n\n var instance;\n for (var node = trigger; node; node = node.parentElement) {\n if (node.bootstrapSelectInstance) {\n instance = node.bootstrapSelectInstance;\n break;\n }\n }\n\n if (instance) instance._keydown(e, trigger);\n }, true);\n\n document.addEventListener('focusin', function (e) {\n var target = e.target;\n if (target && target.closest && target.closest(KEYDOWN_SELECTOR)) {\n e.stopPropagation();\n }\n });\n\n function initAll () {\n var selects = document.querySelectorAll('.selectpicker');\n Array.prototype.forEach.call(selects, function (select) {\n Selectpicker.getOrCreateInstance(select);\n });\n }\n\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', initAll);\n } else {\n initAll();\n }\n\n if (exposeGlobal) {\n window.Selectpicker = Selectpicker;\n }\n}\n\ninitSelectpickerRuntime(\n Selectpicker,\n typeof __SELECTPICKER_EXPOSE_GLOBAL__ === 'undefined' ? true : __SELECTPICKER_EXPOSE_GLOBAL__\n);\n// \n\nreturn Selectpicker;\n\n}(bootstrap));\n\nmodule.exports = Selectpicker;\nmodule.exports.Selectpicker = Selectpicker;\nmodule.exports.default = Selectpicker;\n"],"names":[],"mappings":"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EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC7D,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC5E,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC5E,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG;AAC/B,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC5E,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC5E,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC7D,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC7D,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC7D,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC7D,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC3F,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC3F,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG;AAC/B,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;AAChC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;AAChC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;AAC5B,CAAC;;AAED;AACA,IAAI,OAAO,GAAG,6CAA6C;;AAE3D;AACA,IAAI,iBAAiB,GAAG,iBAAiB;AACzC,IAAI,qBAAqB,GAAG,iBAAiB;AAC7C,IAAI,mBAAmB,GAAG,iBAAiB;AAC3C,IAAI,yBAAyB,GAAG,iBAAiB;AACjD,IAAI,2BAA2B,GAAG,iBAAiB;AACnD,IAAI,YAAY,GAAG,iBAAiB,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,yBAAyB,GAAG,2BAA2B;;AAE5I;AACA,IAAI,OAAO,GAAG,GAAG,GAAG,YAAY,GAAG,GAAG;;AAEtC,IAAI,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;;AAEtC,SAAS,YAAY,EAAE,GAAG,EAAE;AAC5B,EAAE,OAAO,eAAe,CAAC,GAAG,CAAC;AAC7B;;AAEA,SAAS,eAAe,EAAE,MAAM,EAAE;AAClC,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE;AAC5B,EAAE,OAAO,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;AACjF;;AAEA;AACA,IAAI,SAAS,GAAG;AAChB,EAAE,GAAG,EAAE,OAAO;AACd,EAAE,GAAG,EAAE,MAAM;AACb,EAAE,GAAG,EAAE,MAAM;AACb,EAAE,GAAG,EAAE,QAAQ;AACf,EAAE,GAAG,EAAE,QAAQ;AACf,EAAE,GAAG,EAAE;AACP,CAAC;;AAED,IAAI,aAAa,GAAG,UAAU,GAAG,EAAE;AACnC,EAAE,IAAI,OAAO,GAAG,UAAU,KAAK,EAAE;AACjC,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC;AACrB,EAAE,CAAC;AACH,EAAE,IAAI,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG;AACvD,EAAE,IAAI,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;AACjC,EAAE,IAAI,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;AACzC,EAAE,OAAO,UAAU,MAAM,EAAE;AAC3B,IAAI,MAAM,GAAG,MAAM,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM;AAC9C,IAAI,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,MAAM;AACpF,EAAE,CAAC;AACH,CAAC;;AAED,IAAI,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC;AACzC;;;AAGA;AACA;;AAEA;AACA,IAAI,UAAU,GAAG;AACjB,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG;AACxE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG;AACpC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG;AACxE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG;AACxE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG;AACxE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG;AAClB,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAClE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC3B,CAAC;;AAED,IAAI,QAAQ,GAAG;AACf,EAAE,MAAM,EAAE,EAAE;AACZ,EAAE,KAAK,EAAE,EAAE;AACX,EAAE,KAAK,EAAE,EAAE;AACX,EAAE,GAAG,EAAE,CAAC;AACR,EAAE,QAAQ,EAAE,EAAE;AACd,EAAE,UAAU,EAAE;AACd,CAAC;;AAED,IAAI,QAAQ,GAAG,CAAC;;AAEhB,IAAI,SAAS,GAAG,YAAY;;AAE5B;AACA,IAAI,UAAU,GAAG;AACjB,EAAE,QAAQ,EAAE,UAAU;AACtB,EAAE,OAAO,EAAE,kBAAkB;AAC7B,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,IAAI,EAAE,eAAe;AACvB,EAAE,OAAO,EAAE,mBAAmB;AAC9B,EAAE,WAAW,EAAE,WAAW;AAC1B,EAAE,aAAa,EAAE,gBAAgB;AACjC,EAAE,QAAQ,EAAE,EAAE;AACd,EAAE,QAAQ,EAAE;AACZ,CAAC;;AAED,IAAI,QAAQ,GAAG;AACf,EAAE,IAAI,EAAE,GAAG,GAAG,UAAU,CAAC,IAAI;AAC7B,EAAE,WAAW,EAAE;AACf,CAAC;;AAED,IAAI,gBAAgB,GAAG;AACvB,EAAE,GAAG,EAAE,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AACpC,EAAE,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AACtC,EAAE,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;AAChC,EAAE,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AAC1C,EAAE,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;AAChC,EAAE,EAAE,EAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;AAClC,EAAE,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC/C,EAAE,QAAQ,EAAE,QAAQ,CAAC,sBAAsB,EAAE;AAC7C,EAAE,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,QAAQ;AACzC,CAAC;;AAED,gBAAgB,CAAC,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;AAC1E,gBAAgB,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;;AAE9D,gBAAgB,CAAC,SAAS,GAAG,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;AACjE,gBAAgB,CAAC,SAAS,CAAC,SAAS,GAAG,YAAY;;AAEnD,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC;AACjD,gBAAgB,CAAC,CAAC,CAAC,SAAS,GAAG,eAAe;;AAE9C,gBAAgB,CAAC,OAAO,CAAC,SAAS,GAAG,YAAY;;AAEjD,gBAAgB,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC9D,gBAAgB,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM;;AAExC,gBAAgB,CAAC,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;AAEnE,IAAI,YAAY,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC;AAC5E,IAAI,oBAAoB,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC;;AAElF,IAAI,cAAc,GAAG;AACrB,EAAE,EAAE,EAAE,UAAU,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC5C,IAAI,IAAI,EAAE,GAAG,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;;AAEjD,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,EAAE,EAAE;AAC7D,QAAQ,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;AAC/B,MAAM,CAAC,MAAM;AACb,QAAQ,EAAE,CAAC,SAAS,GAAG,OAAO;AAC9B,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,OAAO;AAChF,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,GAAG,QAAQ,CAAC;;AAEtG,IAAI,OAAO,EAAE;AACb,EAAE,CAAC;;AAEH,EAAE,CAAC,EAAE,UAAU,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;AACtC,IAAI,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;;AAE9C,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE,EAAE;AAChC,QAAQ,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;AAC3B,MAAM,CAAC,MAAM;AACb,QAAQ,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC;AAC/C,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAClH,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;;AAE/C,IAAI,OAAO,CAAC;AACZ,EAAE,CAAC;;AAEH,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,WAAW,EAAE;AACxC,IAAI,IAAI,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC5D,QAAQ,cAAc;AACtB,QAAQ,WAAW;;AAEnB,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE;AACzB,MAAM,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO;AAC7C,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI;;AAE5C,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE;AACxB,QAAQ,IAAI,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;;AAErE;AACA,QAAQ,WAAW,GAAG,CAAC,WAAW,KAAK,IAAI,GAAG,gBAAgB,CAAC,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC;AAC1G,QAAQ,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI;;AAE1E,QAAQ,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC;AAC1D,QAAQ,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC;AACzD,MAAM;;AAEN,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE;AAC3B,QAAQ,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;AAClE,QAAQ,cAAc,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO;AACpD,QAAQ,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC;AAC/C,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,WAAW,KAAK,IAAI,EAAE;AAC9B,MAAM,OAAO,WAAW,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AAChD,QAAQ,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACxE,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC;AACxD,IAAI;;AAEJ,IAAI,OAAO,gBAAgB,CAAC,QAAQ;AACpC,EAAE,CAAC;;AAEH,EAAE,KAAK,EAAE,UAAU,OAAO,EAAE;AAC5B,IAAI,IAAI,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC5D,QAAQ,cAAc;AACtB,QAAQ,WAAW;;AAEnB,IAAI,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO;;AAE3C,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;AACtB,MAAM,IAAI,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;;AAEnE,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC1D,MAAM,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI;;AAExE,MAAM,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC;AACxD,MAAM,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC;AACvD,IAAI;;AAEJ,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE;AACzB,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;AAChE,MAAM,cAAc,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO;AAClD,MAAM,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC;AAC7C,IAAI;;AAEJ,IAAI,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC;;AAEtD,IAAI,OAAO,gBAAgB,CAAC,QAAQ;AACpC,EAAE;AACF,CAAC;;AAED,IAAI,aAAa,GAAG;AACpB,EAAE,UAAU,EAAE,UAAU,MAAM,EAAE,IAAI,EAAE;AACtC,IAAI,IAAI,KAAK;;AAEb,IAAI,QAAQ,IAAI;AAChB,MAAM,KAAK,SAAS;AACpB,QAAQ,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,MAAM;AAC9D,QAAQ;;AAER,MAAM,KAAK,MAAM;AACjB,QAAQ,KAAK,GAAG,MAAM,CAAC,WAAW;AAClC,QAAQ;;AAER,MAAM,KAAK,OAAO;AAClB,QAAQ,KAAK,GAAG,MAAM,CAAC,KAAK;AAC5B,QAAQ;;AAER,MAAM,KAAK,OAAO;AAClB,QAAQ,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO;AACpC,QAAQ;;AAER,MAAM,KAAK,OAAO;AAClB,QAAQ,KAAK,GAAG,MAAM,CAAC,KAAK;AAC5B,QAAQ;;AAER,MAAM;AACN,QAAQ,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;AAChE,QAAQ;AACR;;AAEA,IAAI,OAAO,KAAK;AAChB,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,IAAI,EAAE;AAC1C,IAAI,IAAI,KAAK;;AAEb,IAAI,QAAQ,IAAI;AAChB,MAAM,KAAK,MAAM;AACjB,MAAM,KAAK,OAAO;AAClB,QAAQ,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE;AACjD,QAAQ;;AAER,MAAM;AACN,QAAQ,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;AAC5B,QAAQ;AACR;;AAEA,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,CAAC;;AAED,SAAS,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE;AAClD,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AAC3B,IAAI,gBAAgB,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;AAC3H,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC;AACrE,EAAE;AACF;;AAEA,SAAS,YAAY,EAAE,IAAI,EAAE;AAC7B,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC;AACrE;;AAEA,SAAS,kBAAkB,IAAI;AAC/B,EAAE,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;;AAE3C,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;AAC9D,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;AAClE,EAAE;;AAEF,EAAE,IAAI,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE;AACvD,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,KAAK;AAClE,MAAM,OAAO,IAAI;AACjB,IAAI;;AAEJ,IAAI,OAAO,KAAK;AAChB,EAAE,CAAC,EAAE,IAAI,CAAC;;AAEV;AACA,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;AAChF,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACzD,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK;AACzC,IAAI;;AAEJ,IAAI,eAAe,GAAG,EAAE,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;AACrE,EAAE;;AAEF,EAAE,OAAO,eAAe;AACxB;;AAEA,SAAS,eAAe,EAAE,eAAe,EAAE;AAC3C,EAAE,IAAI,KAAK,GAAG,EAAE;AAChB,MAAM,OAAO,GAAG,eAAe,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;AAChE,MAAM,GAAG;;AAET,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AACtD,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;;AAEpB,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;AACvB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC;AAChE,IAAI;AACJ,EAAE;;AAEF,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACtB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;AAC1C,EAAE;;AAEF,EAAE,OAAO,KAAK;AACd;AACA;;AAEA,IAAI,gBAAgB,GAAG,IAAI;;AAE3B;AACA,IAAI,eAAe,GAAG,KAAK;;AAE3B,IAAI,eAAe,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC;;AAEtF,SAAS,mBAAmB,EAAE,MAAM,EAAE;AACtC,EAAE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,OAAO,MAAM;;AAE1D,EAAE,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC;;AAExC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnD,IAAI,OAAO,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AACrC,EAAE;;AAEF,EAAE,OAAO,MAAM;AACf;;;AAGA;AACA;;AAEA,MAAM,YAAY,CAAC;AACnB,EAAE,WAAW,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE;AACjC,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AAC/C,IAAI;;AAEJ,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE;AAClD,MAAM,MAAM,IAAI,SAAS,CAAC,qDAAqD,CAAC;AAChF,IAAI;;AAEJ,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO;AAC1B,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI;AAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI;AACtB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI;AACpB,IAAI,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;;AAEpE;AACA,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE;AACxB,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;;AAEpB,IAAI,IAAI,CAAC,YAAY,GAAG;AACxB,MAAM,IAAI,EAAE;AACZ,QAAQ,IAAI,EAAE,EAAE;AAChB,QAAQ,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;AAC/D,QAAQ,OAAO,EAAE;AACjB,OAAO;AACP,MAAM,MAAM,EAAE;AACd,QAAQ,IAAI,EAAE,EAAE;AAChB,QAAQ,OAAO,EAAE;AACjB,OAAO;AACP,MAAM,OAAO,EAAE,EAAE;AACjB,MAAM,IAAI,EAAE,EAAE;AACd;AACA,MAAM,mBAAmB,EAAE,EAAE;AAC7B,MAAM,cAAc,EAAE,EAAE;AACxB,MAAM,UAAU,EAAE;AAClB,QAAQ,UAAU,EAAE;AACpB,OAAO;AACP,MAAM,WAAW,EAAE,KAAK;AACxB,MAAM,OAAO,EAAE;AACf,QAAQ,UAAU,EAAE,EAAE;AACtB,QAAQ,eAAe,EAAE;AACzB,UAAU,KAAK,EAAE,MAAM;AACvB,YAAY,OAAO,UAAU,CAAC,MAAM;AACpC,cAAc,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;AACvD,YAAY,CAAC,EAAE,GAAG,CAAC;AACnB,UAAU;AACV;AACA;AACA,KAAK;;AAEL,IAAI,IAAI,CAAC,QAAQ,GAAG,EAAE;;AAEtB,IAAI,IAAI,CAAC,IAAI,EAAE;;AAEf,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;AAClC,EAAE;;AAEF;AACA,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;AACnC,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;AAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACpF,IAAI,OAAO,OAAO;AAClB,EAAE;;AAEF,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;AACnD,IAAI,IAAI,QAAQ,GAAG,UAAU,CAAC,EAAE;AAChC,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC7C,MAAM,IAAI,MAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACzC,QAAQ,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/B,MAAM;AACN,IAAI,CAAC;AACL,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC;AAChD,EAAE;;AAEF,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE;AACvB,IAAI,IAAI,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,GAAG,SAAS,EAAE;AAClD,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,UAAU,EAAE,IAAI;AACtB,MAAM,MAAM,EAAE,MAAM,IAAI;AACxB,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC;AACrC,IAAI,OAAO,KAAK;AAChB,EAAE;;AAEF;AACA,EAAE,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;AAC7C,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AAC1B,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;AAC/C,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;AACjF,EAAE;;AAEF,EAAE,YAAY,CAAC,CAAC,GAAG,EAAE;AACrB,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAC/B,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;AACxE,MAAM,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAC7B,IAAI;AACJ,EAAE;AACF;;AAEA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;AAC5C,QAAQ,OAAO,GAAG,IAAI,CAAC,OAAO;AAC9B,QAAQ,IAAI,GAAG,OAAO,CAAC,IAAI;;AAE3B,IAAI,QAAQ,EAAE;AACd,IAAI,IAAI,CAAC,QAAQ,GAAG,YAAY,GAAG,QAAQ;;AAE3C,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC;;AAE7C,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;AACzC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;;AAE3C,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AACjD,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI;AAClC,IAAI;;AAEJ,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE;;AAE3C;AACA,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC;AACzE,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;;AAErE;AACA,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE;AACvC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,QAAQ;AACrD,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;AAC3C,IAAI;;AAEJ,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC;AAClE,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAA2B,CAAC;AAC1G,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC1E,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;AACtD,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;AACrD,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,sCAAsC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC;AAC/I,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC;;AAE1E,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC;;AAEhD,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY;AAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACvB,MAAM,IAAI,CAAC,SAAS,EAAE;;AAEtB,MAAM,qBAAqB,CAAC,YAAY;AACxC,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC5B,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;;AAE7F,IAAI,IAAI,OAAO,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,IAAI,EAAE;AAClD,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC;AAC7C,IAAI;;AAEJ,IAAI,IAAI,CAAC,aAAa,EAAE;AACxB,IAAI,IAAI,CAAC,aAAa,EAAE;;AAExB,IAAI,IAAI,QAAQ,GAAG,WAAW,EAAE;AAChC,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;;AAE7C;AACA,IAAI,IAAI,CAAC,UAAU,CAAC,uBAAuB,GAAG,IAAI;AAClD,IAAI,IAAI,CAAC,IAAI,CAAC,uBAAuB,GAAG,IAAI;;AAE5C,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACjC,MAAM,IAAI,CAAC,kBAAkB,EAAE;AAC/B,MAAM,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS;AACzC,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS;AACzC,IAAI;;AAEJ,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY;AAC3D,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;AAC5B;AACA,QAAQ,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS;AACtC,YAAY,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;;AAE7D;AACA,QAAQ,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC;AAC/D,QAAQ,SAAS,CAAC,SAAS,GAAG,CAAC;AAC/B,MAAM;AACN,IAAI,CAAC,CAAC;;AAEN;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE;AAC/D,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACxC,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,EAAE,UAAU,CAAC,EAAE;AACjE,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAC1C,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE;AAC/D,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACpB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACxC,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAAE;AAChE,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACzC,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;AAC1C,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY;AACpD,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;;AAE/C,QAAQ,IAAI,cAAc,GAAG,YAAY;AACzC;AACA,UAAU,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC/C,UAAU,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,GAAG,SAAS,EAAE,cAAc,CAAC;AAC/E,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,cAAc,CAAC;;AAEnE,QAAQ,IAAI,UAAU,GAAG,YAAY;AACrC;AACA,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC;AACrF,UAAU,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,GAAG,SAAS,EAAE,UAAU,CAAC;AAC9E,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,EAAE,UAAU,CAAC;;AAElE,QAAQ,IAAI,MAAM,GAAG,YAAY;AACjC,UAAU,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AAC9B,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAC7B,UAAU,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC;AACrE,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC;AACzD,MAAM,CAAC,CAAC;AACR,IAAI;;AAEJ,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY;AAC1C,QAAQ,qBAAqB,CAAC,YAAY;AAC1C,UAAU,IAAI,CAAC,MAAM,EAAE;AACvB,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,IAAI;AACJ,EAAE;;AAEF,EAAE,cAAc,CAAC,GAAG;AACpB;AACA;AACA,IAAI,IAAI,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,UAAU;AAC/E,QAAQ,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,sBAAsB,IAAI,YAAY,GAAG,EAAE;AACzG,QAAQ,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,qBAAqB,GAAG,EAAE;AACrF,QAAQ,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,MAAM,GAAG,4BAA4B,GAAG,EAAE;AAC3G,QAAQ,kBAAkB,GAAG;AAC7B,aAAa,IAAI,CAAC,QAAQ,GAAG,+BAA+B,GAAG,4BAA4B;AAC3F,YAAY,EAAE;AACd,QAAQ,eAAe,GAAG,IAAI,CAAC,QAAQ,GAAG,8BAA8B,GAAG,EAAE;AAC7E,QAAQ,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,YAAY,GAAG,EAAE;AACtD,QAAQ,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB;;AAElE,IAAI,IAAI,qBAAqB,KAAK,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AACvG,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,QAAQ;AAClE,IAAI;;AAEJ;AACA,IAAI,IAAI,IAAI;AACZ,QAAQ,MAAM,GAAG,EAAE;AACnB,QAAQ,SAAS,GAAG,EAAE;AACtB,QAAQ,UAAU,GAAG,EAAE;AACvB,QAAQ,UAAU,GAAG,EAAE;AACvB,QAAQ,WAAW,GAAG,EAAE;;AAExB,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AAC7B,MAAM,MAAM;AACZ,UAAU,cAAc,GAAG,UAAU,CAAC,aAAa,GAAG,IAAI;AAC1D,YAAY,oCAAoC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS;AAClF,YAAY,sEAAsE;AAClF,UAAU,QAAQ;AAClB,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACjC,MAAM,SAAS;AACf,UAAU,4BAA4B;AACtC,YAAY,8DAA8D;AAC1E;AACA,gBAAgB,qBAAqB,KAAK,IAAI,GAAG;AACjD;AACA,gBAAgB,gBAAgB,GAAG,UAAU,CAAC,qBAAqB,CAAC,GAAG;AACvE,eAAe;AACf,cAAc,sDAAsD,GAAG,IAAI,CAAC,QAAQ,GAAG,6BAA6B;AACpH,aAAa,IAAI,CAAC,OAAO,CAAC;AAC1B,gBAAgB;AAChB,gBAAgB,EAAE,CAAC;AACnB,UAAU,QAAQ;AAClB,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AAClD,MAAM,UAAU;AAChB,UAAU,6BAA6B;AACvC,YAAY,sCAAsC;AAClD,cAAc,6DAA6D,GAAG,UAAU,CAAC,WAAW,GAAG,IAAI;AAC3G,gBAAgB,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,cAAc,WAAW;AACzB,cAAc,+DAA+D,GAAG,UAAU,CAAC,WAAW,GAAG,IAAI;AAC7G,gBAAgB,IAAI,CAAC,OAAO,CAAC,eAAe;AAC5C,cAAc,WAAW;AACzB,YAAY,QAAQ;AACpB,UAAU,QAAQ;AAClB,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AAClD,MAAM,UAAU;AAChB,UAAU,6BAA6B;AACvC,YAAY,yBAAyB;AACrC,cAAc,0CAA0C,GAAG,UAAU,CAAC,WAAW,GAAG,IAAI;AACxF,gBAAgB,IAAI,CAAC,OAAO,CAAC,cAAc;AAC3C,cAAc,WAAW;AACzB,YAAY,QAAQ;AACpB,UAAU,QAAQ;AAClB,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACjC,MAAM,WAAW,GAAG,gDAAgD,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,wBAAwB;AAC9H,IAAI;;AAEJ,IAAI,IAAI;AACR,QAAQ,uCAAuC,GAAG,QAAQ,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,IAAI;AAC9H,UAAU,6CAA6C;AACvD,YAAY,uBAAuB;AACnC,YAAY,QAAQ,CAAC,WAAW;AAChC,YAAY,SAAS;AACrB,YAAY,8BAA8B;AAC1C,YAAY,IAAI,CAAC,QAAQ;AACzB,YAAY,kDAAkD;AAC9D,YAAY,6BAA6B;AACzC,cAAc,mCAAmC;AACjD,gBAAgB,qDAAqD;AACrE,cAAc,SAAS;AACvB,YAAY,QAAQ;AACpB,YAAY,WAAW;AACvB,YAAY,SAAS;AACrB,UAAU,WAAW;AACrB,UAAU,cAAc,GAAG,UAAU,CAAC,IAAI,GAAG,IAAI;AACjD,YAAY,MAAM;AAClB,YAAY,SAAS;AACrB,YAAY,UAAU;AACtB,YAAY,oBAAoB,GAAG,UAAU,CAAC,IAAI,GAAG,uBAAuB,GAAG,IAAI,CAAC,QAAQ,GAAG,kBAAkB,GAAG,eAAe,GAAG,GAAG;AACzI,gBAAgB,aAAa,GAAG,UAAU,CAAC,IAAI,GAAG,SAAS,GAAG,UAAU,CAAC,IAAI,GAAG,wBAAwB;AACxG,gBAAgB,OAAO;AACvB,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,UAAU,QAAQ;AAClB,WAAW,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC;AACzC,cAAc;AACd,cAAc,EAAE,CAAC;AACjB,QAAQ,QAAQ;;AAEhB,IAAI,OAAO,cAAc,CAAC,IAAI,CAAC;AAC/B,EAAE;;;AAGF;AACA;AACA;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACzD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE;AAC/B,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,GAAG,SAAS;AACxD,IAAI;;AAEJ,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC9D,MAAM,IAAI,CAAC,OAAO,EAAE;AACpB,IAAI;AACJ,EAAE;;AAEF,EAAE,eAAe,CAAC,GAAG;AACrB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE;AAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;AACnC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,GAAG,KAAK;;AAEtD,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpE,MAAM,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,UAAU,YAAY,GAAG,IAAI;;AAE7B,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,EAAE;AACjC,QAAQ,YAAY,GAAG,KAAK;AAC5B,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa;AAC/C,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,gBAAgB,EAAE;AAC/C,QAAQ,YAAY,GAAG,KAAK;AAC5B,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB;AACtD,MAAM,CAAC,MAAM;AACb,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ;AAC1C,MAAM;;AAEN,MAAM,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,GAAG,KAAK;;AAE3C,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;;AAE5D,MAAM,IAAI,YAAY,EAAE;AACxB,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE;AACrC,QAAQ,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;AACjD,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,KAAK,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC;AAChH,MAAM;;AAEN,MAAM,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,MAAM;AAC9F,IAAI;AACJ,EAAE;;AAEF,EAAE,SAAS,CAAC,GAAG;AACf,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI;AAC9J,EAAE;;AAEF,EAAE,UAAU,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE;AAC7C,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,SAAS,GAAG,CAAC;;AAErB,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,WAAW;AAC/C,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI;;AAE/F,IAAI,IAAI,CAAC,eAAe,EAAE;;AAE1B,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,IAAI,OAAO,EAAE;AACnB,QAAQ,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS;AAC5C,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACjC,QAAQ,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;AAClC,YAAY,aAAa,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,OAAO;;AAElF,QAAQ,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE;AAC9E,UAAU,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AACvE,cAAc,QAAQ,GAAG,YAAY,IAAI,YAAY,CAAC,QAAQ;;AAE9D,UAAU,IAAI,QAAQ,EAAE;AACxB,YAAY,SAAS,GAAG,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC;AACjG,UAAU;AACV,QAAQ;AACR,MAAM;AACN,IAAI;;AAEJ,IAAI,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;;AAE3B,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY;AAC5E,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;AAC1D,MAAM,IAAI,CAAC,QAAQ,GAAG,KAAK;AAC3B,IAAI,CAAC,CAAC;;AAEN,IAAI,SAAS,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE;AACtC,MAAM,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM;AACtD,UAAU,MAAM,GAAG,EAAE;AACrB,UAAU,SAAS;AACnB,UAAU,UAAU;AACpB,UAAU,UAAU;AACpB,UAAU,SAAS;AACnB,UAAU,YAAY;AACtB,UAAU,aAAa;AACvB,UAAU,mBAAmB;AAC7B,UAAU,gBAAgB;AAC1B,UAAU,eAAe,GAAG,IAAI;AAChC,UAAU,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;;AAEtC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS;;AAElD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AACzC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;;AAEpD,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;AAC3C,QAAQ,IAAI,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS;;AAE5C,QAAQ,IAAI,CAAC,KAAK,UAAU,GAAG,CAAC,EAAE;AAClC,UAAU,UAAU,GAAG,IAAI;AAC3B,QAAQ;;AAER,QAAQ,MAAM,CAAC,CAAC,CAAC,GAAG;AACpB,UAAU,CAAC,CAAC,IAAI,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACxC,UAAU;AACV,SAAS;;AAET,QAAQ,IAAI,CAAC,IAAI,EAAE;;AAEnB,QAAQ,IAAI,YAAY,KAAK,SAAS,IAAI,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;AACpJ,UAAU,YAAY,GAAG,CAAC;AAC1B,QAAQ;AACR,MAAM;;AAEN,MAAM,IAAI,YAAY,KAAK,SAAS,EAAE,YAAY,GAAG,CAAC;;AAEtD,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;;AAE1F;AACA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC;AAChD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC;;AAE5D,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,KAAK,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5G,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,KAAK,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;;AAEjH,MAAM,mBAAmB,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS;;AAE1I,MAAM,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE;AAC5C,QAAQ,IAAI,IAAI,EAAE;AAClB,UAAU,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,eAAe,EAAE;AAC3D,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;AAChD,UAAU;AACV,UAAU,IAAI,CAAC,aAAa,GAAG,SAAS;AACxC,QAAQ;;AAER,QAAQ,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,eAAe,EAAE;AACzD,UAAU,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC;AAChD,QAAQ;AACR,MAAM;;AAEN,MAAM,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,eAAe,EAAE;AACpJ,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC;AAChD,MAAM;;AAEN,MAAM,IAAI,IAAI,IAAI,mBAAmB,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE;AAC5E,QAAQ,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;;AAEvH,QAAQ,IAAI,SAAS,KAAK,KAAK,EAAE;AACjC,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;AACrF,QAAQ,CAAC,MAAM;AACf,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/J,QAAQ;;AAER,QAAQ,IAAI,CAAC,eAAe,EAAE;;AAE9B;AACA;AACA,QAAQ,IAAI,WAAW,KAAK,SAAS,KAAK,KAAK,IAAI,IAAI,CAAC,EAAE,eAAe,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC;;AAE9I;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,IAAI,SAAS,KAAK,IAAI,KAAK,eAAe,EAAE;AAC7D,UAAU,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS;AACxC,cAAc,YAAY,GAAG,QAAQ,CAAC,sBAAsB,EAAE;AAC9D,cAAc,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;AAC/D,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe;AAC/D,cAAc,UAAU,GAAG,EAAE;;AAE7B;AACA,UAAU,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC;;AAEjE,UAAU,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,kBAAkB,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE;AAC7F,YAAY,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC;AACrC,gBAAgB,MAAM;AACtB,gBAAgB,WAAW;;AAE3B,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AACvC,cAAc,MAAM,GAAG,OAAO,CAAC,SAAS;;AAExC,cAAc,IAAI,MAAM,EAAE;AAC1B,gBAAgB,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;;AAElG,gBAAgB,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;AAClF,kBAAkB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;AACzC,kBAAkB,WAAW,CAAC,SAAS,GAAG,IAAI;AAC9C,gBAAgB;AAChB,cAAc;AACd,YAAY;;AAEZ,YAAY,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC;AAC7C,UAAU;;AAEV,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE;AAC1D,YAAY,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AACrF,UAAU;;AAEV,UAAU,IAAI,SAAS,KAAK,IAAI,EAAE;AAClC,YAAY,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpJ,YAAY,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;;AAEhN,YAAY,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI;AACnE,YAAY,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,GAAG,YAAY,GAAG,IAAI;AACzE,UAAU,CAAC,MAAM;AACjB,YAAY,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC;AACpD,YAAY,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC;AACvD,UAAU;;AAEV,UAAU,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC;;AAExD;AACA,UAAU,IAAI,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;AAChE,YAAY,IAAI,mBAAmB,GAAG,SAAS,CAAC,UAAU,CAAC,WAAW;;AAEtE,YAAY,IAAI,IAAI,IAAI,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;AAC7I,cAAc,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI;AAC5F,YAAY,CAAC,MAAM,IAAI,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE;AAChF;AACA,cAAc,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC;;AAE1C,cAAc,IAAI,eAAe,GAAG,SAAS,CAAC,UAAU,CAAC,WAAW;;AAEpE,cAAc,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE;AACvE,gBAAgB,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,eAAe;AACnE,gBAAgB,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI;AAC9F,cAAc;;AAEd;AACA,cAAc,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE;AAC3C,YAAY;AACZ,UAAU;AACV,QAAQ;;AAER,QAAQ,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAI,YAAY,KAAK,UAAU,GAAG,CAAC,EAAE;AAC7K;AACA;AACA,UAAU,IAAI,SAAS,GAAG,CAAC,EAAE;AAC7B;AACA,YAAY,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;;AAE7G,YAAY,IAAI,CAAC,SAAS,CAAC,YAAY;AACvC,cAAc,IAAI,CAAC,MAAM,EAAE;AAC3B,cAAc,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC;AAC/C,cAAc,IAAI,CAAC,eAAe,EAAE;AACpC,cAAc,MAAM,CAAC,SAAS,CAAC;AAC/B,YAAY,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,GAAG,SAAS,CAAC;AACvH,UAAU;AACV,QAAQ;AACR,MAAM;;AAEN,MAAM,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa;;AAEjD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACpC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9B,MAAM,CAAC,MAAM,IAAI,WAAW,IAAI,IAAI,EAAE;AACtC,QAAQ,IAAI,KAAK,GAAG,CAAC;AACrB,YAAY,SAAS;;AAErB,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;AACzD,UAAU,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AAChF,QAAQ;;AAER,QAAQ,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;;AAEjE,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;;AAE9D,QAAQ,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO;;AAElF,QAAQ,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;AACjC,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY;AACpE,MAAM,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;;AAExE,MAAM,IAAI,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;AACpD,IAAI,CAAC,CAAC;AACN,EAAE;;AAEF,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;AAClC,IAAI,IAAI,EAAE,EAAE;AACZ,MAAM,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACvH,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU;;AAE3B,MAAM,IAAI,CAAC,EAAE;AACb,QAAQ,CAAC,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;AACnE,QAAQ,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC;;AAExD,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE;AAC9B,UAAU,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,uBAAuB,EAAE,CAAC,CAAC,EAAE,CAAC;AACxE,UAAU,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AACpC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AACnC,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,EAAE;;AAEF,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE;AACnB,IAAI,IAAI,EAAE,EAAE;AACZ,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AACnC,MAAM,IAAI,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AACjE,IAAI;AACJ,EAAE;;AAEF,EAAE,cAAc,CAAC,GAAG;AACpB,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,WAAW,GAAG,KAAK;;AAE3B,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;AACjF,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;;AAEpH;AACA;AACA,MAAM,WAAW,GAAG,IAAI;;AAExB,MAAM,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;AAChC,UAAU,iBAAiB,GAAG,KAAK;AACnC,UAAU,gBAAgB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU;AAC3E,UAAU,aAAa,GAAG,OAAO,CAAC,aAAa;AAC/C,UAAU,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;AACzD,UAAU,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC;AAC9E,UAAU,oBAAoB,GAAG,eAAe,GAAG,eAAe,CAAC,KAAK,GAAG,CAAC;AAC5E,UAAU,UAAU,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC;AAC9F;AACA,UAAU,gBAAgB,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;;AAEjJ,MAAM,IAAI,gBAAgB,EAAE;AAC5B;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,iBAAiB;AACxE,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;;AAErD;AACA,QAAQ,iBAAiB,GAAG,CAAC,cAAc,KAAK,aAAa,KAAK,oBAAoB,IAAI,cAAc,CAAC,eAAe,KAAK,KAAK,CAAC;AACnI,MAAM;;AAEN,MAAM,IAAI,gBAAgB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,EAAE;AAC9E,QAAQ,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC;AACpF,MAAM;;AAEN;AACA,MAAM,IAAI,iBAAiB,IAAI,gBAAgB,EAAE;AACjD,QAAQ,OAAO,CAAC,aAAa,GAAG,CAAC;AACjC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE;AACrD;AACA;AACA,QAAQ,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,YAAY;AACxD,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,KAAK,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;AACpF,QAAQ,CAAC,CAAC;AACV,MAAM;AACN,IAAI;;AAEJ,IAAI,OAAO,WAAW;AACtB,EAAE;;;;AAIF;AACA;AACA,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;AAChD,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC;AACpB,IAAI,IAAI,GAAG,IAAI,IAAI,MAAM;;AAEzB,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;AACxC,QAAQ,SAAS;;AAEjB,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI;;AAEvC,MAAM,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;AACtC,QAAQ,IAAI,CAAC,IAAI;AACjB,UAAU,IAAI;AACd,UAAU,UAAU,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;AAC5C,YAAY,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAClF,YAAY,OAAO,CAAC,OAAO,GAAG,IAAI;AAClC,YAAY,OAAO,CAAC,UAAU,GAAG,UAAU;AAC3C,YAAY,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;AAClD,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,YAAY,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;AACjC,UAAU,CAAC;AACX,UAAU,IAAI;AACd,UAAU;AACV,SAAS;AACT,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACtC,QAAQ,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;AAC9C,QAAQ,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;AACtC,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;AAC7C,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;AACpC,IAAI;AACJ,EAAE;;AAEF,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE;AACzB,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,IAAI,IAAI,UAAU,GAAG,IAAI,KAAK,KAAK,GAAG,aAAa,CAAC,UAAU,GAAG,aAAa,CAAC,cAAc;;AAE7F,IAAI,IAAI,cAAc,GAAG,wEAAwE;AACjG,QAAQ,QAAQ,GAAG,EAAE;AACrB,QAAQ,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;AACvF,QAAQ,KAAK,GAAG,CAAC;AACjB,QAAQ,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;;AAE5D,IAAI,IAAI,IAAI,KAAK,QAAQ,EAAE;AAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM;AACrD,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,IAAI,iBAAiB;;AAEtE,IAAI,IAAI,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,GAAG,cAAc,CAAC;;AAE7H,IAAI,SAAS,UAAU,EAAE,MAAM,EAAE;AACjC,MAAM,IAAI,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;;AAEtD;AACA,MAAM;AACN,QAAQ,YAAY;AACpB,UAAU,YAAY,CAAC,IAAI,KAAK,SAAS;AACzC,WAAW,YAAY,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;AAC7C,QAAQ;AACR,QAAQ;AACR,MAAM;;AAEN,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE;AAC3B,MAAM,MAAM,CAAC,IAAI,GAAG,SAAS;;AAE7B,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAC3B,IAAI;;AAEJ,IAAI,SAAS,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;AACtC,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE;;AAE3B,MAAM,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;;AAElD,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE;AACnC,QAAQ,UAAU,CAAC;AACnB,UAAU,KAAK,EAAE,MAAM,CAAC;AACxB,SAAS,CAAC;AACV,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ;AAChD,YAAY,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;AAC/C,YAAY,WAAW,GAAG,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE;AAC5D,YAAY,WAAW,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,KAAK,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;;AAE/E,QAAQ,IAAI,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,WAAW;;AAE5D,QAAQ,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE;AAC/C,QAAQ,MAAM,CAAC,WAAW,GAAG,WAAW;;AAExC,QAAQ,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;AAC9C,QAAQ,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;AAChD,QAAQ,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;AACpD,QAAQ,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;AAClD,QAAQ,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;AACpD,QAAQ,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;;AAE9C,QAAQ,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI;AACtD,QAAQ,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK;AACxE,QAAQ,MAAM,CAAC,IAAI,GAAG,QAAQ;AAC9B,QAAQ,MAAM,CAAC,KAAK,GAAG,OAAO;;AAE9B,QAAQ,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;AAC1D,QAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO;AACvC,QAAQ,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ;AACzC,QAAQ,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ;;AAE5D,QAAQ,IAAI,IAAI,KAAK,KAAK,EAAE;AAC5B,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AACnE,YAAY,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;AAC/F,UAAU,CAAC,MAAM;AACjB,YAAY,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM;AACxE,UAAU;AACV,QAAQ;;AAER,QAAQ,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7B,MAAM;AACN,IAAI;;AAEJ,IAAI,SAAS,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE;AAChD,MAAM,IAAI,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC;AACzC;AACA,UAAU,QAAQ,GAAG,KAAK,GAAG,CAAC,GAAG,UAAU,GAAG,KAAK,GAAG,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC;AAC9E,UAAU,IAAI,GAAG,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC;AACzC,UAAU,OAAO,GAAG,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,GAAG,cAAc,CAAC;;AAE9H,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;;AAE3B,MAAM,IAAI,MAAM,GAAG;AACnB,YAAY,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC1D,YAAY,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;AACpD,YAAY,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;AAC9C,YAAY,IAAI,EAAE,gBAAgB;AAClC,YAAY,aAAa,EAAE,GAAG,IAAI,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;AAC3D,YAAY,QAAQ,EAAE;AACtB,WAAW;AACX,UAAU,WAAW;AACrB,UAAU,SAAS;;AAEnB,MAAM,KAAK,EAAE;;AAEb,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACpC,MAAM;;AAEN,MAAM,MAAM,CAAC,KAAK,GAAG,KAAK;;AAE1B,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;;AAE3B,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC1D,QAAQ,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;;AAE/B,QAAQ,IAAI,CAAC,KAAK,CAAC,EAAE;AACrB,UAAU,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC;AAC3C,UAAU,SAAS,GAAG,WAAW,GAAG,GAAG;AACvC,QAAQ;;AAER,QAAQ,SAAS,CAAC,MAAM,EAAE;AAC1B,UAAU,WAAW,EAAE,WAAW;AAClC,UAAU,SAAS,EAAE,SAAS;AAC9B,UAAU,KAAK,EAAE,MAAM,CAAC,KAAK;AAC7B,UAAU,aAAa,EAAE,MAAM,CAAC,aAAa;AAC7C,UAAU,QAAQ,EAAE,QAAQ,CAAC;AAC7B,SAAS,CAAC;AACV,MAAM;;AAEN,MAAM,IAAI,IAAI,EAAE;AAChB,QAAQ,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACpC,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,IAAI;;AAEZ,IAAI,KAAK,IAAI,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AACvE,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC;AAC7B,MAAM,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ;;AAElC,MAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;AACvC,QAAQ,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC;AAChD,MAAM,CAAC,MAAM;AACb,QAAQ,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AACtC,MAAM;AACN,IAAI;;AAEJ,IAAI,QAAQ,IAAI;AAChB,MAAM,KAAK,MAAM,EAAE;AACnB,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE;AAC1C,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE;AAC1C,QAAQ;AACR,QAAQ,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACzE,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;AACpE,QAAQ;AACR,MAAM;AACN,MAAM,KAAK,QAAQ,EAAE;AACrB,QAAQ,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;AAC3E,QAAQ;AACR,MAAM;AACN;;AAEA,IAAI,OAAO,QAAQ;AACnB,EAAE;;AAEF,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE;AAC9B,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;AAC5F,QAAQ,YAAY,GAAG,EAAE;AACzB,QAAQ,kBAAkB,GAAG,CAAC;;AAE9B,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,UAAU,EAAE;AAClG,MAAM,gBAAgB,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK;AACjF,UAAU;AACV,UAAU,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,aAAa;;AAE7E,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAU,EAAE;AAClD,QAAQ,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC;AAClE,MAAM;AACN,IAAI;;AAEJ,IAAI,SAAS,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE;AAC/C,MAAM,IAAI,SAAS;AACnB,UAAU,cAAc,GAAG,CAAC;;AAE5B,MAAM,QAAQ,IAAI,CAAC,IAAI;AACvB,QAAQ,KAAK,SAAS;AACtB,UAAU,SAAS,GAAG,cAAc,CAAC,EAAE;AACvC,YAAY,KAAK;AACjB,YAAY,UAAU,CAAC,OAAO;AAC9B,aAAa,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,SAAS;AACxD,WAAW;;AAEX,UAAU;;AAEV,QAAQ,KAAK,QAAQ;AACrB,UAAU,SAAS,GAAG,cAAc,CAAC,EAAE;AACvC,YAAY,cAAc,CAAC,CAAC;AAC5B,cAAc,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AAClD,cAAc,IAAI,CAAC,WAAW;AAC9B,cAAc,IAAI,CAAC;AACnB,aAAa;AACb,YAAY,EAAE;AACd,YAAY,IAAI,CAAC;AACjB,WAAW;;AAEX,UAAU,IAAI,SAAS,CAAC,UAAU,EAAE;AACpC,YAAY,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK;AACtE,UAAU;;AAEV,UAAU;;AAEV,QAAQ,KAAK,gBAAgB;AAC7B,UAAU,SAAS,GAAG,cAAc,CAAC,EAAE;AACvC,YAAY,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AACjD,YAAY,iBAAiB,GAAG,IAAI,CAAC,aAAa;AAClD,YAAY,IAAI,CAAC;AACjB,WAAW;;AAEX,UAAU;AACV;;AAEA,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,GAAG,KAAK;;AAE9C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,SAAS;AAChC,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS;AACpD,MAAM;AACN,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;;AAErC;AACA,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;AAC7D,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;AAC7D;AACA,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,cAAc,IAAI,CAAC;;AAExC,MAAM,IAAI,cAAc,GAAG,kBAAkB,EAAE;AAC/C,QAAQ,kBAAkB,GAAG,cAAc;;AAE3C;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;AACnF,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,UAAU,GAAG,IAAI,IAAI,CAAC;;AAE9B,IAAI,KAAK,IAAI,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AACpE,MAAM,IAAI,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC;;AAE9B,MAAM,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC;AACtC,IAAI;;AAEJ,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,IAAI,SAAS,EAAE;AACrB,QAAQ,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;AACnF,MAAM,CAAC,MAAM;AACb,QAAQ,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;AACjF,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ;AAC5E,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,SAAS,EAAE;AACrB,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,GAAG,YAAY;AACxD,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,GAAG,YAAY;AAC3F,MAAM;AACN,IAAI;AACJ,EAAE;;;AAGF;AACA;AACA,EAAE,OAAO,CAAC,GAAG;AACb,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC;AACzD,EAAE;;AAEF,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE;AAChB,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,OAAO,GAAG,IAAI,CAAC,OAAO;AAC9B;AACA,QAAQ,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,OAAO,CAAC,aAAa,KAAK,CAAC;AAClF,QAAQ,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;AACvD,QAAQ,aAAa,GAAG,eAAe,CAAC,MAAM;AAC9C,QAAQ,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC;AACpE,QAAQ,MAAM,GAAG,IAAI,CAAC,MAAM;AAC5B,QAAQ,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,4BAA4B,CAAC;AACxE,QAAQ,iBAAiB,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;AACnF,QAAQ,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;AAClE,QAAQ,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,aAAa,GAAG,CAAC;AACxF,QAAQ,SAAS;AACjB,QAAQ,QAAQ;AAChB,QAAQ,UAAU,GAAG,KAAK;;AAE1B,IAAI,SAAS,cAAc,EAAE,IAAI,EAAE;AACnC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;AACzB,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;AACrC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACxD,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC;AACzC,MAAM;AACN,IAAI;;AAEJ;AACA,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;AAC1C,MAAM,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC;AACzC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;;AAE7D,MAAM,IAAI,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,KAAK,CAAC;AAChF,IAAI;;AAEJ,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,aAAa,GAAG,CAAC,cAAc,IAAI,cAAc,KAAK,CAAC,CAAC;;AAEvH,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;AACxD,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,GAAG,cAAc;AAC5D,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,QAAQ,EAAE;AACtD,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC;AAC9F,IAAI,CAAC,MAAM;AACX,MAAM,SAAS,GAAG,UAAU,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,aAAa,GAAG,CAAC;;AAE7H;AACA,MAAM,IAAI,SAAS,IAAI,CAAC,UAAU,EAAE;AACpC,QAAQ,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7D,QAAQ,SAAS,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,IAAI,CAAC,CAAC;AACzH,MAAM;;AAEN;AACA,MAAM,IAAI,SAAS,KAAK,KAAK,EAAE;AAC/B,QAAQ,IAAI,CAAC,mBAAmB,EAAE;AAClC,UAAU,KAAK,IAAI,aAAa,GAAG,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE,aAAa,EAAE,EAAE;AACtF,YAAY,IAAI,aAAa,GAAG,EAAE,EAAE;AACpC,cAAc,IAAI,MAAM,GAAG,eAAe,CAAC,aAAa,CAAC;AACzD,kBAAkB,YAAY,GAAG,EAAE;;AAEnC,cAAc,IAAI,MAAM,EAAE;AAC1B,gBAAgB,IAAI,IAAI,CAAC,QAAQ,IAAI,aAAa,GAAG,CAAC,EAAE;AACxD,kBAAkB,aAAa,CAAC,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/E,gBAAgB;;AAEhB,gBAAgB,IAAI,MAAM,CAAC,KAAK,EAAE;AAClC,kBAAkB,YAAY,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK;AAClD,gBAAgB,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AACvE,kBAAkB,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;AAClE,kBAAkB,UAAU,GAAG,IAAI;AACnC,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC7C,oBAAoB,YAAY,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;AACnD,kBAAkB;AAClB,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO;AAC/H,kBAAkB,YAAY,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;AACxD,gBAAgB;;AAEhB,gBAAgB,aAAa,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;AAC7F,cAAc;AACd,YAAY,CAAC,MAAM;AACnB,cAAc;AACd,YAAY;AACZ,UAAU;;AAEV;AACA,UAAU,IAAI,aAAa,GAAG,EAAE,EAAE;AAClC,YAAY,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACrE,UAAU;AACV,QAAQ;AACR,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,cAAc,GAAG,mGAAmG;AAChI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,IAAI,iBAAiB;;AAE1E;AACA,QAAQ,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,GAAG,cAAc,GAAG,YAAY,GAAG,cAAc,GAAG,SAAS,GAAG,cAAc,CAAC,CAAC,MAAM;AAC9J,YAAY,QAAQ,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAK,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB;;AAE1K,QAAQ,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACvD,UAAU,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE;AACtG,SAAS,EAAE,IAAI,CAAC;AAChB,MAAM;AACN,IAAI;;AAEJ;AACA,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE;AAC1C,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACrD,QAAQ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;AACjF,OAAO,EAAE,IAAI,CAAC;AACd,IAAI;;AAEJ;AACA,IAAI,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;;AAE5E,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,UAAU,EAAE;AAC7C,MAAM,YAAY,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AACpF,IAAI;;AAEJ,IAAI,WAAW,CAAC,SAAS,GAAG,EAAE;AAC9B,IAAI,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC;;AAE1C,IAAI,IAAI,CAAC,aAAa,EAAE;;AAExB,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;AAC1B,EAAE;;AAEF,EAAE,aAAa,CAAC,GAAG;AACnB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;AACjG,EAAE;;AAEF,EAAE,aAAa,CAAC,GAAG;AACnB,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;;AAE/B,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;AAC5B,MAAM,IAAI,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;AACzD,UAAU,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,MAAM;;AAEnE,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,EAAE;AACvC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM;AACzD,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC;;AAErE,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvD,QAAQ,IAAI,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC;AACrC,YAAY,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC1D,YAAY,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,GAAG,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC;AAC7F,YAAY,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AACpD,YAAY,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AAClD,YAAY,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AACnD,YAAY,IAAI;;AAEhB,QAAQ,WAAW,CAAC,IAAI,GAAG,QAAQ;AACnC,QAAQ,WAAW,CAAC,SAAS,GAAG;AAChC,YAAY;AACZ,YAAY,kBAAkB;AAC9B,QAAQ,WAAW,CAAC,YAAY,CAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC;AACjE,QAAQ,WAAW,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC;AAC1D,QAAQ,WAAW,CAAC,KAAK,GAAG,UAAU;;AAEtC,QAAQ,OAAO,CAAC,SAAS,GAAG,0BAA0B;;AAEtD,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAChD,UAAU,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AAC/C,UAAU,IAAI,CAAC,SAAS,GAAG,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI;AAC7F,UAAU,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;AAClD,UAAU,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;AACnC,QAAQ;;AAER,QAAQ,KAAK,CAAC,SAAS,GAAG,wBAAwB;AAClD,QAAQ,KAAK,CAAC,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC;AACpD,QAAQ,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC;;AAElC,QAAQ,MAAM,CAAC,SAAS,GAAG,yBAAyB;AACpD,QAAQ,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;AAClD,QAAQ,MAAM,CAAC,WAAW,GAAG,QAAQ;;AAErC,QAAQ,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC;AACxC,QAAQ,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC;AACvC,QAAQ,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC;AACnD,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,CAAC,oBAAoB,EAAE;;AAE/B,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAChF,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AACxB,IAAI;AACJ,EAAE;;AAEF,EAAE,oBAAoB,CAAC,GAAG;AAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;;AAElC,IAAI,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE;AAChE,QAAQ,eAAe,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;AACvD,QAAQ,UAAU,GAAG,CAAC,CAAC,eAAe;AACtC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU;AAClD,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC;;AAExD,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,UAAU;AAChD,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU;;AAE9E,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC;AACxG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,mBAAmB,EAAE,eAAe,CAAC;AAChF,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,GAAG,EAAE;AAC9C,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,mBAAmB,CAAC;AAClE,IAAI;AACJ,EAAE;;AAEF,EAAE,iBAAiB,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE;AACrC,IAAI,IAAI,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;AACxD,QAAQ,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;;AAEnC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7C,MAAM,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;;AAE7B,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,WAAW,EAAE;AAC5E,QAAQ,OAAO,MAAM;AACrB,MAAM;AACN,IAAI;;AAEJ,IAAI,OAAO,IAAI;AACf,EAAE;;AAEF,EAAE,uBAAuB,CAAC,CAAC,WAAW,EAAE;AACxC,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AAClE,YAAY,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB;AAC/D,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;AACvC,QAAQ,gBAAgB,GAAG,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;;AAE9F,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7C,MAAM,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;;AAE7B,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;;AAEpC,MAAM;AACN,QAAQ,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,gBAAgB;AAChG,QAAQ,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,gBAAgB;AACjG,QAAQ,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK;AACjF,QAAQ;AACR,QAAQ,OAAO,MAAM;AACrB,MAAM;AACN,IAAI;;AAEJ,IAAI,OAAO,IAAI;AACf,EAAE;;AAEF,EAAE,mBAAmB,CAAC,CAAC,UAAU,EAAE;AACnC,IAAI,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;;AAEjD,IAAI,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,KAAK,SAAS,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK;AACtF,IAAI,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,KAAK,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI;;AAEvF,IAAI,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS;AACrE,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK;AACzD,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC;AACnF,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC;AAChF,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC;AACnF,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC;AAC1E,IAAI,IAAI,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,IAAI;AACnD,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI;;AAE/C,IAAI,OAAO,MAAM;AACjB,EAAE;;AAEF,EAAE,0BAA0B,CAAC,CAAC,WAAW,EAAE;AAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE;;AAElD,IAAI,IAAI,OAAO,GAAG,EAAE;;AAEpB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtE,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;;AAEtD,MAAM;AACN,QAAQ,YAAY,CAAC,MAAM,EAAE,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;AACxJ,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI;AAC3E,QAAQ;AACR,QAAQ,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AAC5B,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;AACzD,EAAE;;AAEF,EAAE,gBAAgB,CAAC,CAAC,UAAU,EAAE;AAChC,IAAI,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC;AAC9C,IAAI,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,KAAK,SAAS,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK;AAC1F,IAAI,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,KAAK,SAAS,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI;;AAExF,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;AAC3F,QAAQ,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC;AACrD,IAAI,UAAU,CAAC,MAAM,GAAG,MAAM;;AAE9B,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;AACpC,IAAI,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;AAC3D,QAAQ,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC;;AAErC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AACxB,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;;AAEtD,IAAI,OAAO,WAAW;AACtB,EAAE;;AAEF,EAAE,iBAAiB,CAAC,CAAC,KAAK,EAAE;AAC5B,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;;AAE9C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;;AAErC,IAAI,IAAI,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;;AAE9C,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC;AACnC,IAAI,gBAAgB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC;AACvD,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;;AAEzC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACvD,EAAE;;AAEF,EAAE,gBAAgB,CAAC,CAAC,WAAW,EAAE;AACjC,IAAI,WAAW,GAAG,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,GAAG,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;;AAExG,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,EAAE;;AAEjE,IAAI,IAAI,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC;;AAElE,IAAI,IAAI,cAAc,EAAE;AACxB,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;AACpC,QAAQ,IAAI,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;;AAE1D,QAAQ,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC;AAC9C,QAAQ,gBAAgB,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,iBAAiB,CAAC;AAC1E,QAAQ,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC7C,MAAM;;AAEN,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACzD,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9C,QAAQ,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;;AAElD,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI;AAClD,IAAI,IAAI,CAAC,oBAAoB,EAAE;;AAE/B,IAAI,SAAS,QAAQ,EAAE,aAAa,EAAE;AACtC,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,GAAG,KAAK;;AAErD,MAAM,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,KAAK,EAAE;AAC5F,QAAQ,IAAI,CAAC,oBAAoB,EAAE;AACnC,QAAQ;AACR,MAAM;;AAEN,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC;AACxE,MAAM,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;AAC7C,QAAQ,aAAa,GAAG;AACxB,UAAU,IAAI,EAAE,aAAa;AAC7B,UAAU,KAAK,EAAE;AACjB,SAAS;AACT,MAAM;;AAEN,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;AACvD,QAAQ,aAAa,CAAC,IAAI,GAAG,WAAW;AACxC,MAAM;;AAEN,MAAM,IAAI,aAAa,CAAC,KAAK,KAAK,SAAS,EAAE,aAAa,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI;AACrF,MAAM,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK;;AAEpF,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,IAAI,CAAC;;AAElH,MAAM,IAAI,CAAC,MAAM,EAAE;AACnB,QAAQ,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;AACrD,MAAM;;AAEN,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC;;AAEpC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;;AAEhG,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;AAC1B,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE;AACjC,MAAM;;AAEN,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,GAAG,EAAE;AACjD,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE;AACxC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE;AAC5C,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;;AAE5B,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC;AACxD,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;;AAE3C,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACzD,IAAI;;AAEJ,IAAI,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE;AAC7C,MAAM,IAAI,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC;;AAE1E,MAAM,IAAI,cAAc,IAAI,OAAO,cAAc,CAAC,IAAI,KAAK,UAAU,EAAE;AACvE,QAAQ,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;AACrC,MAAM,CAAC,MAAM,IAAI,cAAc,KAAK,SAAS,EAAE;AAC/C,QAAQ,QAAQ,CAAC,cAAc,CAAC;AAChC,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,QAAQ,CAAC;AACf,QAAQ,IAAI,EAAE,WAAW;AACzB,QAAQ,KAAK,EAAE;AACf,OAAO,CAAC;AACR,IAAI;AACJ,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE;AAC9B,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM;AAC5B,QAAQ,UAAU,GAAG,IAAI,CAAC,UAAU;AACpC,QAAQ,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;AACzC,QAAQ,WAAW;;AAEnB,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;AAC5C,MAAM,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,8DAA8D,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;AACvI,MAAM,IAAI,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACzF,IAAI;;AAEJ,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE;AACnC,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,GAAG,KAAK;AACzB,IAAI;;AAEJ,IAAI,IAAI,MAAM,KAAK,KAAK,EAAE;AAC1B,MAAM,IAAI,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC3F,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,QAAQ,EAAE;AACpC,MAAM,IAAI,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9F,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAClF,MAAM,IAAI,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC3F,IAAI;AACJ,EAAE;;;;AAIF;AACA;AACA,EAAE,QAAQ,CAAC,CAAC,OAAO,EAAE;AACrB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE;;AAExF,IAAI,IAAI,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;AAC1D,QAAQ,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;AACpD,QAAQ,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;AACzD,QAAQ,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;AACrD,QAAQ,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;AACtD,QAAQ,cAAc,GAAG,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;AAC7D,QAAQ,EAAE;AACV,QAAQ,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;AAC/C,QAAQ,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AACrD,QAAQ,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI;AAC9L,QAAQ,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe;AACnF,YAAY,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,IAAI;AACnE,YAAY,IAAI;AAChB,QAAQ,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI;AACxL,QAAQ,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI;AAC3L,QAAQ,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;;AAE7C,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW;;AAE3D,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM;AAC3B,IAAI,CAAC,CAAC,SAAS,GAAG,gBAAgB,IAAI,WAAW,GAAG,WAAW,CAAC,SAAS,GAAG,EAAE,CAAC;AAC/E,IAAI,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,GAAG,GAAG,UAAU,CAAC,IAAI;AACjF,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AAC/B,IAAI,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC,IAAI;AAC5D,IAAI,SAAS,CAAC,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC,IAAI;AACpD,IAAI,cAAc,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,GAAG,SAAS,GAAG,UAAU,CAAC,IAAI;AAC5E,IAAI,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,OAAO;AAC1C,IAAI,cAAc,CAAC,SAAS,GAAG,iBAAiB;;AAEhD,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;;AAEvD,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;AAC/C,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtE,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACpD,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,KAAK,MAAM,EAAE;AAC3G,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO;AAC3B,UAAU;AACV,QAAQ;AACR,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,EAAE,GAAG,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;AAC/C,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;AACzB,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AACvB,IAAI;;AAEJ,IAAI,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;;AAEpD,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE;AAC7C,MAAM,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACrF,IAAI;;AAEJ,IAAI,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;AAClC,IAAI,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC;AACvC,IAAI,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC;AAC9C,IAAI,IAAI,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACxC,IAAI,IAAI,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACxC,IAAI,IAAI,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;AAC1C,IAAI,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC;AACzC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AAC/B,IAAI,IAAI,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;AAChD,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;;AAEhC,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;;AAEzC,IAAI,IAAI,QAAQ,GAAG,EAAE,CAAC,YAAY;AAClC,QAAQ,oBAAoB,GAAG,cAAc,GAAG,cAAc,CAAC,YAAY,GAAG,CAAC;AAC/E,QAAQ,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC;AACvD,QAAQ,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC;AACvD,QAAQ,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC,YAAY,GAAG,CAAC;AAC1D,QAAQ,gBAAgB,GAAG,UAAU,GAAG,UAAU,CAAC,YAAY,GAAG,CAAC;AACnE,QAAQ,aAAa,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC;AAClD,QAAQ,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC;AACjD,QAAQ,SAAS,GAAG,IAAI,CAAC,WAAW;AACpC,QAAQ,WAAW,GAAG;AACtB,UAAU,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC;AAC/C,kBAAkB,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC;AACpD,kBAAkB,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC;AACrD,kBAAkB,SAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC;AACxD,UAAU,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC;AACjD,kBAAkB,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC;AACnD,kBAAkB,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;AACtD,kBAAkB,SAAS,CAAC,SAAS,CAAC,gBAAgB;AACtD,SAAS;AACT,QAAQ,UAAU,GAAG;AACrB,UAAU,IAAI,EAAE,WAAW,CAAC,IAAI;AAChC,kBAAkB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC;AAChD,kBAAkB,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC;AACvD,UAAU,KAAK,EAAE,WAAW,CAAC,KAAK;AAClC,kBAAkB,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC;AACjD,kBAAkB,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG;AACrD,SAAS;AACT,QAAQ,cAAc;;AAEtB,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ;;AAExC,IAAI,cAAc,GAAG,IAAI,CAAC,WAAW,GAAG,SAAS;;AAEjD,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;;AAEzC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ;AACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,GAAG,oBAAoB;AAC7D,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,YAAY;AAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,YAAY;AAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,aAAa;AAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,gBAAgB;AACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,aAAa;AAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,WAAW;AAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU;AACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS;AACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,SAAS,GAAG,WAAW,CAAC,KAAK;AACrE,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS;AAC1D,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,cAAc;AACjD,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY;;AAE7D,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,EAAE;;AAEF,EAAE,iBAAiB,CAAC,GAAG;AACvB,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,YAAY,GAAG,MAAM,CAAC,WAAW;AACzC,QAAQ,aAAa,GAAG,MAAM,CAAC,WAAW;AAC1C,QAAQ,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY;AACzD,QAAQ,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW;AACvD,QAAQ,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;;AAErC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,GAAG,CAAC,GAAG,GAAG,YAAY;AAC1D,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY;AAC1G,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,GAAG,aAAa;AAC7D,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW;AAC3G,EAAE;;AAEF,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE;AACvB,IAAI,IAAI,CAAC,iBAAiB,EAAE;;AAE5B,IAAI,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW;AAC/C,QAAQ,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ;AACzC,QAAQ,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY;AACjD,QAAQ,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY;AACjD,QAAQ,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa;AACnD,QAAQ,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB;AACzD,QAAQ,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa;AAC/C,QAAQ,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW;AAC/C,QAAQ,eAAe;AACvB,QAAQ,UAAU;AAClB,QAAQ,SAAS,GAAG,CAAC;AACrB,QAAQ,SAAS;AACjB,QAAQ,UAAU;AAClB,QAAQ,SAAS;AACjB,QAAQ,kBAAkB;AAC1B,QAAQ,QAAQ;AAChB,QAAQ,QAAQ;;AAEhB,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACjC;AACA,MAAM,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI;;AAEpF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe;;AAE/L;AACA,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,KAAK,IAAI,EAAE;AAClD,QAAQ,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM;AAC3C,MAAM;;AAEN,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC;AACnE,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,QAAQ;AACzC,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;AACtC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC;AACjI,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;AAChF,MAAM,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,gBAAgB;AAC7F,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;;AAErE,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACjE,QAAQ,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;AAClF,MAAM;;AAEN,MAAM,SAAS,GAAG,UAAU;AAC5B,MAAM,eAAe,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,gBAAgB,GAAG,WAAW,CAAC,IAAI;AACtH,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACnI,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;AAClD,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,SAAS,EAAE;AAC7E,MAAM;;AAEN,MAAM,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC,IAAI;AAC1F,MAAM,eAAe,GAAG,UAAU,GAAG,WAAW,CAAC,IAAI;AACrD,MAAM,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,gBAAgB;AAC7F,MAAM,SAAS,GAAG,kBAAkB,GAAG,EAAE;AACzC,IAAI;;AAEJ,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE;AACzB,MAAM,SAAS,EAAE,SAAS,GAAG,IAAI;AACjC,MAAM,QAAQ,EAAE,QAAQ;AACxB,MAAM,SAAS,EAAE,SAAS,GAAG;AAC7B,KAAK,CAAC;;AAEN,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE;AAC9B,MAAM,SAAS,EAAE,eAAe,GAAG,IAAI;AACvC,MAAM,QAAQ,EAAE,aAAa;AAC7B,MAAM,SAAS,EAAE,kBAAkB,GAAG;AACtC,KAAK,CAAC;;AAEN;AACA,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;;AAEhE,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;AACrK,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI;AACvC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc;AAC3F,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,MAAM,EAAE;AACpD,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,WAAW,CAAC,CAAC;AACxM,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;AAC9E,EAAE;;AAEF,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE;AACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;;AAE1B,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC;;AAE3D,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE;AACrC,MAAM,IAAI,IAAI,GAAG,IAAI;;AAErB,MAAM,IAAI,CAAC,WAAW,EAAE;;AAExB,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACnC,QAAQ,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY;AAC/E,UAAU,OAAO,IAAI,CAAC,WAAW,EAAE;AACnC,QAAQ,CAAC,CAAC;AACV,MAAM;;AAEN,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;AACxC,QAAQ,IAAI,iBAAiB,GAAG,YAAY;AAC5C,UAAU,OAAO,IAAI,CAAC,WAAW,EAAE;AACnC,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC;AAC/E,QAAQ,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC;AAC/E,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACrI,QAAQ,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;AAC9C,QAAQ,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;AAC9C,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC;AACzC,EAAE;;AAEF,EAAE,QAAQ,CAAC,GAAG;AACd,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE;AACjC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE;AACpC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;;AAEjD,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;AACtC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;AAChD,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE;AAC7D,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK;AACtD,IAAI;AACJ,EAAE;;AAEF,EAAE,cAAc,CAAC,GAAG;AACpB,IAAI,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,8BAA8B,CAAC;;AAErE,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AAC5D,QAAQ,GAAG;AACX,QAAQ,YAAY;AACpB,QAAQ,YAAY;AACpB,QAAQ,YAAY,GAAG,UAAU,OAAO,EAAE;AAC1C,UAAU,IAAI,QAAQ,GAAG,WAAW,EAAE;AACtC,cAAc,iBAAiB,GAAG,EAAE;AACpC;AACA,cAAc,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;;AAErG,UAAU,IAAI,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;AACvG,UAAU,IAAI,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACnH,UAAU,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC7G,UAAU,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;;AAE/B,UAAU,IAAI,SAAS,KAAK,QAAQ,CAAC,IAAI,EAAE;AAC3C,YAAY,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5C,YAAY,IAAI,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC;AACnE,YAAY,YAAY,CAAC,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,SAAS;AAC9F,YAAY,YAAY,CAAC,IAAI,IAAI,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC,UAAU;AACjG,UAAU,CAAC,MAAM;AACjB,YAAY,YAAY,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;AAC9C,UAAU;;AAEV,UAAU,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,YAAY;;AAEjG;AACA,UAAU,IAAI,OAAO,KAAK,QAAQ,EAAE;AACpC,YAAY,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,GAAG,YAAY;AAC7E,YAAY,iBAAiB,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI;AACjE,UAAU;;AAEV,UAAU,iBAAiB,CAAC,KAAK,GAAG,OAAO,CAAC,WAAW;;AAEvD,UAAU,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE;AACtC,YAAY,GAAG,EAAE,iBAAiB,CAAC,GAAG,KAAK,SAAS,GAAG,iBAAiB,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE;AACxF,YAAY,IAAI,EAAE,iBAAiB,CAAC,IAAI,KAAK,SAAS,GAAG,iBAAiB,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE;AAC3F,YAAY,KAAK,EAAE,iBAAiB,CAAC,KAAK,GAAG;AAC7C,WAAW,CAAC;AACZ,QAAQ,CAAC;;AAET,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY;AAC/C,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AAC7B,QAAQ;AACR,MAAM;;AAEN,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;;AAEnC,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1G,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AAC7C,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,aAAa,GAAG,YAAY;AACpC,MAAM,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;;AAExE,MAAM,IAAI,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;AACjD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC;AAC1E,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC;;AAE1E,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY;AAC3D,MAAM,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/C,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAChG,IAAI,CAAC,CAAC;AACN,EAAE;;AAEF,EAAE,YAAY,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE;AAC5B,IAAI,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM;;AAEtD,IAAI,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,KAAK,CAAC,EAAE;AACjD,MAAM,IAAI,MAAM,GAAG,CAAC,IAAI,GAAG,gBAAgB,CAAC,cAAc,GAAG,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC;AACrG,MAAM,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK;AACzE,MAAM,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI;;AAE1C,MAAM,MAAM,CAAC,QAAQ,GAAG,IAAI;;AAE5B,MAAM,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE;AAC5C,QAAQ,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO;AAC3C,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE;AACxB,QAAQ,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK;AACnC,MAAM;;AAEN,MAAM,IAAI,CAAC,MAAM,GAAG,MAAM;;AAE1B,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC;AAC5D,IAAI;AACJ,EAAE;;AAEF,EAAE,eAAe,CAAC,CAAC,YAAY,EAAE;AACjC,IAAI,IAAI,IAAI,GAAG,IAAI;;AAEnB,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK;;AAEzB,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;AACjG,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC9E,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AACzF,YAAY,MAAM,GAAG,MAAM,CAAC,MAAM;;AAElC,QAAQ,IAAI,MAAM,EAAE;AACpB,UAAU,IAAI,YAAY,KAAK,IAAI,EAAE;AACrC,YAAY,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACpC,UAAU;;AAEV,UAAU,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AAClC,QAAQ;AACR,MAAM;;AAEN;AACA,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;AAChG,IAAI;AACJ,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE;AACjC,IAAI,QAAQ,GAAG,QAAQ,KAAK,SAAS,GAAG,MAAM,CAAC,QAAQ,GAAG,QAAQ;;AAElE,IAAI,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO;AAC3B,QAAQ,kBAAkB,GAAG,IAAI,CAAC,aAAa,KAAK,SAAS;AAC7D,QAAQ,YAAY,GAAG,IAAI,CAAC,aAAa,KAAK,EAAE;AAChD,QAAQ,UAAU;AAClB,QAAQ,CAAC;AACT,QAAQ,UAAU,GAAG,YAAY,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,kBAAkB,CAAC;;AAExF,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE;AAChC,MAAM,MAAM,CAAC,QAAQ,GAAG,QAAQ;AAChC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;AAC1D,IAAI;;AAEJ,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;AAC9C,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;AACtC,IAAI;;AAEJ,IAAI,IAAI,CAAC,EAAE,EAAE;;AAEb,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU;;AAErB,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,IAAI,CAAC,eAAe,GAAG,EAAE;AAC/B,IAAI;;AAEJ,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;;AAE7C,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC;AAChC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE;AAC/C,MAAM,IAAI,CAAC,aAAa,GAAG,EAAE;AAC7B,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;AAC1B,IAAI;;AAEJ,IAAI,IAAI,CAAC,EAAE;AACX,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;;AAE9C,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC;AAC7C,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC3B,UAAU,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC;AAChD,QAAQ,CAAC,MAAM;AACf,UAAU,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC;AAC5C,QAAQ;AACR,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,kBAAkB,IAAI,QAAQ,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE;AAChG,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB;;AAEzC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;AAClC,IAAI;AACJ,EAAE;;AAEF;AACA;AACA;AACA,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE;AACvB,IAAI,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ;AAClC,QAAQ,EAAE,GAAG,MAAM,CAAC,OAAO;AAC3B,QAAQ,CAAC;;AAET,IAAI,IAAI,CAAC,EAAE,EAAE;;AAEb,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU;;AAErB,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC;;AAEtD,IAAI,IAAI,CAAC,EAAE;AACX,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC;;AAEvD,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC;AACjD,QAAQ,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM;AACb,QAAQ,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC;AAC1C,QAAQ,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;AACrC,MAAM;AACN,IAAI;AACJ,EAAE;;AAEF,EAAE,UAAU,CAAC,GAAG;AAChB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ;AAChC,EAAE;;AAEF,EAAE,aAAa,CAAC,GAAG;AACnB,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;AACxD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;AACpD,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC;AACrD,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;AAC/D,QAAQ,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;AAC7D,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;AACzD,QAAQ,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC;AACxD,MAAM;AACN,IAAI;AACJ,EAAE;;;;AAIF;AACA;AACA,EAAE,aAAa,CAAC,GAAG;AACnB,IAAI,IAAI,IAAI,GAAG,IAAI;;AAEnB,IAAI,eAAe,GAAG,KAAK;;AAE3B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;AAChD,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,eAAe,EAAE;AAClE,QAAQ,CAAC,CAAC,cAAc,EAAE;AAC1B,QAAQ,eAAe,GAAG,KAAK;AAC/B,MAAM;AACN,IAAI,CAAC,CAAC;;AAEN,IAAI,SAAS,cAAc,EAAE,CAAC,EAAE;AAChC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;AACzB,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;AAClC,YAAY,SAAS,GAAG,OAAO,CAAC,KAAK;AACrC,YAAY,SAAS,GAAG,OAAO,CAAC,aAAa;AAC7C,YAAY,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;AACnD,YAAY,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK;;AAE3F,QAAQ,IAAI,QAAQ,EAAE;AACtB,UAAU,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC;AAC3C,QAAQ;;AAER,QAAQ,OAAO,CAAC,aAAa,GAAG,CAAC;;AAEjC,QAAQ,gBAAgB,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC;AACxD,QAAQ,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC7C,MAAM;;AAEN;AACA,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC/D,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACrC,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAChC,QAAQ;;AAER,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAC9B,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACjC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;AAClD,QAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM;AAC7B,YAAY,WAAW,GAAG,IAAI,CAAC,WAAW;;AAE1C,QAAQ,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,aAAa,KAAK,WAAW,EAAE;AAC5E,UAAU,CAAC,CAAC,wBAAwB,EAAE;AACtC,UAAU,cAAc,CAAC,CAAC,CAAC;AAC3B,QAAQ;AACR,MAAM,CAAC,CAAC;AACR,IAAI;;AAEJ,IAAI,SAAS,QAAQ,IAAI;AACzB,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACnC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9B,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9B,MAAM;AACN,IAAI;;AAEJ,IAAI,SAAS,iBAAiB,IAAI;AAClC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE;AACjF,QAAQ,QAAQ,EAAE;AAClB,MAAM,CAAC,MAAM;AACb,QAAQ,qBAAqB,CAAC,iBAAiB,CAAC;AAChD,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,YAAY;AAC5D,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE;AACzE,QAAQ,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS;AACnE,MAAM;;AAEN,MAAM,qBAAqB,CAAC,iBAAiB,CAAC;AAC9C,IAAI,CAAC,CAAC;;AAEN;AACA,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY;AACpE,MAAM,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa;AACtC,UAAU,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC;AAC7E,UAAU,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC;AACvF,UAAU,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;;AAEvE,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC;AAC9C,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;AACjE,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;AACjC,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,GAAG,UAAU,CAAC,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC,aAAa,GAAG,KAAK,GAAG,UAAU,CAAC,aAAa,GAAG,+BAA+B,EAAE,UAAU,CAAC,EAAE;AAC3L,MAAM,IAAI,CAAC,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;AACzD,QAAQ,CAAC,CAAC,cAAc,EAAE;AAC1B,QAAQ,CAAC,CAAC,eAAe,EAAE;AAC3B,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AAC3H,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAChC,QAAQ,CAAC,MAAM;AACf,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AAC7B,QAAQ;AACR,MAAM;AACN,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,4BAA4B,EAAE,UAAU,CAAC,EAAE;AACvF,MAAM,CAAC,CAAC,cAAc,EAAE;AACxB,MAAM,CAAC,CAAC,eAAe,EAAE;AACzB,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACnC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9B,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AAC3B,MAAM;AACN,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,UAAU,CAAC,aAAa,GAAG,gBAAgB,GAAG,UAAU,CAAC,aAAa,GAAG,SAAS,EAAE,YAAY;AAC7I,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC1B,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAAE;AAC/E,MAAM,CAAC,CAAC,cAAc,EAAE;AACxB,MAAM,CAAC,CAAC,eAAe,EAAE;AACzB,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;AACpE,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAAE;AACzE,MAAM,CAAC,CAAC,cAAc,EAAE;AACxB,MAAM,CAAC,CAAC,eAAe,EAAE;AACzB,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;AACnE,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;AACxB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;AACrD,QAAQ,CAAC,CAAC,eAAe,EAAE;AAC3B,MAAM,CAAC,CAAC;AACR,IAAI;;AAEJ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE;AACpE,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACnC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9B,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AAC3B,MAAM;;AAEN,MAAM,CAAC,CAAC,cAAc,EAAE;AACxB,MAAM,CAAC,CAAC,eAAe,EAAE;;AAEzB,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;AACpD,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM;AACN,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;AAChD,MAAM,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;;AAE1D;AACA,MAAM,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,EAAE;AACtE;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC;AAC/C;AACA,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AACjD,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAClD,MAAM;AACN,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;AAC/C;AACA,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,EAAE;AACxE,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC9E,QAAQ,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AACzC,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,SAAS;AACnD,MAAM;AACN,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY;AACjD,MAAM,IAAI,CAAC,MAAM,EAAE;AACnB,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,gBAAgB,GAAG;AAC/C,QAAQ,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACzC,QAAQ,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACvC,QAAQ,aAAa,EAAE,gBAAgB,CAAC,CAAC;AACzC,OAAO,GAAG,IAAI,CAAC;AACf,MAAM,gBAAgB,GAAG,IAAI;AAC7B,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY;AAChD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACnD,IAAI,CAAC,CAAC;AACN,EAAE;;AAEF,EAAE,aAAa,CAAC,CAAC,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE;AACjD,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,OAAO,GAAG,IAAI,CAAC,OAAO;AAC9B,QAAQ,EAAE,GAAG,aAAa,CAAC,aAAa;AACxC,QAAQ,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC;AAC3E,QAAQ,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC;AAC7H,QAAQ,cAAc,GAAG,WAAW,CAAC,OAAO;AAC5C,QAAQ,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9C,QAAQ,SAAS,GAAG,OAAO,CAAC,aAAa;AACzC,QAAQ,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;AAC/C,QAAQ,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK;AACvF,QAAQ,aAAa,GAAG,IAAI;;AAE5B;AACA,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,CAAC,EAAE;AACxD,MAAM,CAAC,CAAC,eAAe,EAAE;AACzB,IAAI;;AAEJ,IAAI,CAAC,CAAC,cAAc,EAAE;;AAEtB;AACA,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;AAC3E,MAAM,IAAI,MAAM,GAAG,WAAW,CAAC,MAAM;AACrC,UAAU,KAAK,GAAG,MAAM,CAAC,QAAQ;AACjC,UAAU,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE;AAC9E,YAAY,OAAO,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;AACvF,UAAU,CAAC,CAAC;AACZ,UAAU,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC,QAAQ,GAAG,SAAS;AACrE,UAAU,UAAU,GAAG,QAAQ,YAAY,OAAO,GAAG,aAAa,CAAC,UAAU,GAAG,aAAa,CAAC,cAAc;AAC5G,UAAU,eAAe,GAAG,QAAQ,IAAI,QAAQ,CAAC,QAAQ;AACzD,UAAU,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AACxD,UAAU,aAAa,GAAG,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,IAAI,KAAK;;AAE3F,MAAM,IAAI,cAAc,KAAK,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,IAAI;;AAEpE,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,QAAQ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa;AACnD,QAAQ,IAAI,CAAC,aAAa,GAAG,SAAS;AACtC,MAAM;;AAEN,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,UAAU,KAAK,CAAC,EAAE;AAC9C,QAAQ,IAAI,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC;AACvD,QAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC;AAC3C,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC;AAC7C,QAAQ,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;;AAElC,QAAQ,IAAI,UAAU,KAAK,KAAK,IAAI,aAAa,KAAK,KAAK,EAAE;AAC7D,UAAU,IAAI,UAAU,GAAG,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;AAC5E,cAAc,oBAAoB,GAAG,CAAC;;AAEtC,UAAU,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;AAC7C,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/D,cAAc,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,oBAAoB,EAAE;AACvE,YAAY;AACZ,UAAU;;AAEV,UAAU,IAAI,aAAa,GAAG,aAAa,GAAG,oBAAoB;;AAElE,UAAU,IAAI,CAAC,UAAU,IAAI,UAAU,MAAM,aAAa,IAAI,aAAa,CAAC,EAAE;AAC9E,YAAY,IAAI,UAAU,IAAI,UAAU,KAAK,CAAC,EAAE;AAChD,cAAc,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;AACxC,cAAc,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AACxC,YAAY,CAAC,MAAM,IAAI,aAAa,IAAI,aAAa,KAAK,CAAC,EAAE;AAC7D,cAAc,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/D,gBAAgB,IAAI,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC;AAChD,gBAAgB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;AACxF,cAAc;;AAEd,cAAc,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC;AACjD,YAAY,CAAC,MAAM;AACnB,cAAc,IAAI,cAAc,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc;AAC7K,kBAAkB,aAAa,GAAG,OAAO,cAAc,KAAK,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,cAAc;AACnI,kBAAkB,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC;AACtE,kBAAkB,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC;AAC5E,kBAAkB,MAAM,GAAG,cAAc,CAAC,4BAA4B,CAAC;;AAEvE,cAAc,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;;AAE3C,cAAc,IAAI,UAAU,IAAI,UAAU,EAAE;AAC5C,gBAAgB,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;AAC/E,gBAAgB,aAAa,GAAG,KAAK;AACrC,gBAAgB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;AACxC,cAAc;;AAEd,cAAc,IAAI,aAAa,IAAI,aAAa,EAAE;AAClD,gBAAgB,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;AAClF,gBAAgB,aAAa,GAAG,KAAK;AACrC,gBAAgB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;AAC3C,cAAc;;AAEd,cAAc,UAAU,CAAC,YAAY;AACrC,gBAAgB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC;AACpD,cAAc,CAAC,EAAE,EAAE,CAAC;;AAEpB,cAAc,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;;AAE7C,cAAc,UAAU,CAAC,YAAY;AACrC,gBAAgB,MAAM,CAAC,MAAM,EAAE;AAC/B,cAAc,CAAC,EAAE,IAAI,CAAC;AACtB,YAAY;AACZ,UAAU;AACV,QAAQ;AACR,MAAM;;AAEN,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;;AAEhG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC,EAAE;AAC9E,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AAC3B,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AAC1C,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9B,MAAM;;AAEN;AACA,MAAM,IAAI,aAAa,EAAE;AACzB,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,KAAK,OAAO,CAAC,aAAa,EAAE;AAClE,UAAU,gBAAgB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;AACvE,UAAU,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC/C,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,EAAE;;AAEF,EAAE,kBAAkB,CAAC,GAAG;AACxB,IAAI,IAAI,IAAI,GAAG,IAAI;;AAEnB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;AACnD,MAAM,CAAC,CAAC,eAAe,EAAE;AACzB,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;AACnD,MAAM,CAAC,CAAC,eAAe,EAAE;AACzB,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE;AACtD,MAAM,CAAC,CAAC,eAAe,EAAE;AACzB,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE;AACrD,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;AACrI,QAAQ,CAAC,CAAC,cAAc,EAAE;AAC1B,QAAQ,CAAC,CAAC,eAAe,EAAE;AAC3B,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AACnD,MAAM;AACN,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY;AAClD,MAAM,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK;;AAE5C,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE;AAC5C,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE;;AAExC,MAAM,IAAI,WAAW,EAAE;AACvB,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,GAAG,WAAW;;AAE5D,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;AACxC,UAAU,IAAI,CAAC,SAAS,CAAC,YAAY;AACrC,YAAY,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC;AACxD,YAAY,IAAI,CAAC,MAAM,EAAE;AACzB,YAAY,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC;AAC3C,YAAY,IAAI,CAAC,QAAQ,GAAG,IAAI;AAChC,YAAY,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC;AACxC,YAAY,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;AACjC,YAAY,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC;AAChF,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC;AACtC,QAAQ,CAAC,MAAM;AACf,UAAU,IAAI,WAAW,GAAG,EAAE;AAC9B,cAAc,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE;AAC3C,cAAc,KAAK,GAAG,EAAE;AACxB,cAAc,QAAQ,GAAG,EAAE;AAC3B,cAAc,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE;AAC/C,cAAc,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB;;AAEhE,UAAU,IAAI,eAAe,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;;AAErD,UAAU,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvE,YAAY,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;;AAEnD,YAAY,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;AAC3B,cAAc,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,eAAe,CAAC;AAC1E,YAAY;;AAEZ,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE;AACrG,cAAc,IAAI,EAAE,CAAC,WAAW,GAAG,CAAC,EAAE;AACtC,gBAAgB,KAAK,CAAC,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI;AAChD,gBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC;AACjD,cAAc;;AAEd,cAAc,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,IAAI;AAC1C,cAAc,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC;;AAE3C,cAAc,KAAK,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI;AAC5C,YAAY;;AAEZ,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1E,UAAU;;AAEV,UAAU,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;AACzE,YAAY,IAAI,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC;AACnC,gBAAgB,SAAS,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3C,gBAAgB,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC3D,gBAAgB,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;;AAE/D,YAAY,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,KAAK,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;AACvI,cAAc,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AACxD,cAAc,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtE,YAAY;AACZ,UAAU;;AAEV,UAAU,IAAI,CAAC,aAAa,GAAG,SAAS;AACxC,UAAU,IAAI,CAAC,QAAQ,GAAG,IAAI;AAC9B,UAAU,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC;AACtC,UAAU,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW;AACzD,UAAU,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;AAC/B,UAAU,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC;AAC5D,QAAQ;AACR,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE;AACzD,QAAQ,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC;AACpC,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAC9B,MAAM;;AAEN,MAAM,IAAI,CAAC,oBAAoB,EAAE;AACjC,IAAI,CAAC,CAAC;AACN,EAAE;;AAEF,EAAE,YAAY,CAAC,GAAG;AAClB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,UAAU;AACrD,EAAE;;AAEF,EAAE,QAAQ,CAAC,GAAG;AACd,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;;AAE9B,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,IAAI,MAAM,GAAG,EAAE;AACrB,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvD,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9E,MAAM;AACN,MAAM,OAAO,MAAM;AACnB,IAAI;;AAEJ,IAAI,OAAO,OAAO,CAAC,KAAK;AACxB,EAAE;;;;AAIF;AACA;AACA,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE;AACd,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;;AAE9B,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;AACtC,MAAM,IAAI,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;AACzD,UAAU,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC;;AAEjE,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;;AAEhD,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE;;AAElD,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;;AAEvB,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvD,QAAQ,IAAI,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC;;AAErC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AAC9D,UAAU,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;AACvC,QAAQ;AACR,MAAM;;AAEN;AACA,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE;AACzD,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AACtD,UAAU,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC;AACtC,UAAU,OAAO,IAAI;AACrB,QAAQ;;AAER,QAAQ,OAAO,KAAK;AACpB,MAAM,CAAC,EAAE,IAAI,CAAC;;AAEd,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;;AAE3F,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,gBAAgB,GAAG;AAC/C,QAAQ,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACzC,QAAQ,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACvC,QAAQ,aAAa,EAAE,gBAAgB,CAAC,CAAC;AACzC,OAAO,GAAG,IAAI,CAAC;;AAEf,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC/D,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC3B,UAAU,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AACpC,QAAQ,CAAC,MAAM;AACf,UAAU,IAAI,eAAe,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,OAAO;;AAEtF,UAAU,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;AACnD,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;AACnF,UAAU;AACV,QAAQ;AACR,MAAM;;AAEN,MAAM,IAAI,CAAC,MAAM,EAAE;;AAEnB,MAAM,gBAAgB,GAAG,IAAI;;AAE7B,MAAM,OAAO,IAAI,CAAC,OAAO;AACzB,IAAI,CAAC,MAAM;AACX,MAAM,OAAO,IAAI,CAAC,QAAQ,EAAE;AAC5B,IAAI;AACJ,EAAE;;AAEF,EAAE,SAAS,CAAC,CAAC,MAAM,EAAE;AACrB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACxB,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,MAAM,GAAG,IAAI;;AAEpD,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;AAC9B,QAAQ,gBAAgB,GAAG,CAAC;AAC5B,QAAQ,eAAe,GAAG,CAAC;AAC3B,QAAQ,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;;AAE9C,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC;;AAE7C,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC5F,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;AAC1B,UAAU,MAAM,GAAG,MAAM,CAAC,MAAM;;AAEhC,MAAM,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;AACnE,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE;AAC/C,QAAQ,MAAM,CAAC,QAAQ,GAAG,MAAM;AAChC,QAAQ,MAAM,CAAC,QAAQ,GAAG,MAAM;AAChC,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,eAAe,EAAE;AAC9C,MAAM;AACN,IAAI;;AAEJ,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC;;AAEhD,IAAI,IAAI,gBAAgB,KAAK,eAAe,EAAE;;AAE9C,IAAI,IAAI,CAAC,eAAe,EAAE;;AAE1B,IAAI,gBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;;AAE9C,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACzC,EAAE;;AAEF,EAAE,SAAS,CAAC,GAAG;AACf,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAC/B,EAAE;;AAEF,EAAE,WAAW,CAAC,GAAG;AACjB,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAChC,EAAE;;AAEF,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;AACpB,IAAI,IAAI,QAAQ;AAChB,QAAQ,aAAa,GAAG,KAAK,KAAK,SAAS;;AAE3C,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE;;AAEnD,IAAI,IAAI,aAAa,KAAK,KAAK,EAAE;AACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;AACpE,MAAM,aAAa,GAAG,CAAC,KAAK,KAAK,IAAI,IAAI,QAAQ,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,IAAI,QAAQ,KAAK,IAAI,CAAC;AACtG,IAAI;;AAEJ,IAAI,IAAI,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AAC7C,EAAE;;AAEF,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;AACX,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC;AACxB,EAAE;;AAEF,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;AACZ,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC;AACzB,EAAE;;AAEF,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;AACnB,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO;AACpC,QAAQ,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC;AAC3D,QAAQ,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,QAAQ,KAAK;AACb,QAAQ,QAAQ;AAChB,QAAQ,QAAQ;AAChB,QAAQ,QAAQ;AAChB,QAAQ,SAAS;AACjB,QAAQ,YAAY,GAAG,KAAK;AAC5B,QAAQ,SAAS,GAAG,KAAK,KAAK,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACpF,QAAQ,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS;AAC1D,QAAQ,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS;AAC5C,QAAQ,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AACpC,QAAQ,SAAS,GAAG,SAAS,KAAK,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC;;AAE7E;AACA,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,EAAE;;AAEtC,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;;AAE5D,IAAI;AACJ,MAAM,CAAC,QAAQ;AACf;AACA,UAAU,UAAU;AACpB,WAAW,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;AACtC,WAAW,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,CAAC;AACvC,WAAW,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE;AACrC;AACA,MAAM;AACN,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;;AAE1B,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACnC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9B,QAAQ;AACR,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,KAAK,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,EAAE;AAC/C,MAAM,CAAC,CAAC,cAAc,EAAE;AACxB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC1B,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACzB,IAAI;;AAEJ,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;;AAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa;AACnC,MAAM,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;;AAErG,MAAM,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AACxB,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;AAClC,MAAM;;AAEN,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,QAAQ,EAAE;AACvC,QAAQ,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE;AACjC,QAAQ,IAAI,KAAK,GAAG,SAAS,GAAG,CAAC,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM;;AAExD,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE;AACrE,UAAU,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS;AAC/G,UAAU,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;AACpD,QAAQ;AACR,MAAM,CAAC,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,UAAU,IAAI,SAAS,EAAE;AAC7D,QAAQ,KAAK,EAAE;AACf,QAAQ,IAAI,KAAK,GAAG,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB;;AAE/H,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE;AACrE,UAAU,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AAC5G,QAAQ;AACR,MAAM;;AAEN,MAAM,CAAC,CAAC,cAAc,EAAE;;AAExB,MAAM,IAAI,aAAa,GAAG,SAAS,GAAG,KAAK;;AAE3C,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,QAAQ,EAAE;AACvC;AACA,QAAQ,IAAI,SAAS,KAAK,CAAC,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3D,UAAU,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY;;AAEhE,UAAU,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;AACvE,QAAQ,CAAC,MAAM;AACf,UAAU,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;;AAElE;AACA,UAAU,IAAI,QAAQ,EAAE;AACxB,YAAY,SAAS,GAAG,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM;;AAE3D,YAAY,YAAY,GAAG,SAAS,GAAG,SAAS;AAChD,UAAU;AACV,QAAQ;AACR,MAAM,CAAC,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,UAAU,IAAI,SAAS,EAAE;AAC7D;AACA,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAClE,UAAU,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC;;AAEtC,UAAU,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB;AACpE,QAAQ,CAAC,MAAM;AACf,UAAU,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;;AAElE;AACA,UAAU,IAAI,QAAQ,EAAE;AACxB,YAAY,SAAS,GAAG,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe;;AAEzE,YAAY,YAAY,GAAG,SAAS,GAAG,SAAS;AAChD,UAAU;AACV,QAAQ;AACR,MAAM;;AAEN,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;;AAElE,MAAM,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,OAAO;;AAExF,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;AAE9B,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,GAAG,QAAQ;;AAErD,MAAM,IAAI,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS;;AAE5D,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACnC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9B,MAAM,CAAC,MAAM;AACb,QAAQ,EAAE,CAAC,KAAK,EAAE;AAClB,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;AAChE,SAAS,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU;AACzE,MAAM;AACN,MAAM,IAAI,OAAO,GAAG,EAAE;AACtB,UAAU,UAAU;;AAEpB,MAAM,CAAC,CAAC,cAAc,EAAE;;AAExB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC;;AAE/D,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC;AAC1H,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE;;AAE1G,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU;;AAEvD;AACA,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACvC,QAAQ,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACzC,MAAM;;AAEN;AACA,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtE,QAAQ,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAClD,YAAY,QAAQ;;AAEpB,QAAQ,QAAQ,GAAG,YAAY,CAAC,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC;;AAEnE,QAAQ,IAAI,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;AAChE,UAAU,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;AAClC,QAAQ;AACR,MAAM;;AAEN,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;AAC1B,QAAQ,IAAI,UAAU,GAAG,CAAC;;AAE1B,QAAQ,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE;AAC5D,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AACzC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AACzE,QAAQ,CAAC,CAAC;;AAEV;AACA,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;AACrC,UAAU,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;;AAE1D,UAAU,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,UAAU,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACtE,YAAY,UAAU,GAAG,CAAC;AAC1B,UAAU,CAAC,MAAM;AACjB,YAAY,UAAU,EAAE;AACxB,UAAU;AACV,QAAQ;;AAER,QAAQ,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;;AAE5G,QAAQ,IAAI,QAAQ,EAAE;AACtB,UAAU,IAAI,SAAS,GAAG,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE;AACjD,YAAY,SAAS,GAAG,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM;AAC3D,YAAY,YAAY,GAAG,IAAI;AAC/B,UAAU,CAAC,MAAM;AACjB,YAAY,SAAS,GAAG,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe;AACzE;AACA,YAAY,YAAY,GAAG,QAAQ,CAAC,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe;AACxF,UAAU;AACV,QAAQ;;AAER,QAAQ,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;;AAEtC,QAAQ,IAAI,CAAC,aAAa,GAAG,QAAQ;;AAErC,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;AAEhC,QAAQ,IAAI,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE;;AAEjD,QAAQ,IAAI,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS;;AAE9D,QAAQ,EAAE,CAAC,KAAK,EAAE;AAClB,MAAM;AACN,IAAI;;AAEJ;AACA,IAAI;AACJ,MAAM,QAAQ;AACd;AACA,UAAU,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU;AAC5E,UAAU,KAAK,KAAK,QAAQ,CAAC,KAAK;AAClC,WAAW,KAAK,KAAK,QAAQ,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW;AAC7D;AACA,MAAM;AACN,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,cAAc,EAAE;;AAEtD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE;AAChE,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC;AACpE,QAAQ,IAAI,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AACpE,QAAQ,EAAE,CAAC,KAAK,EAAE;;AAElB,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACtC;AACA,UAAU,CAAC,CAAC,cAAc,EAAE;AAC5B;AACA,UAAU,eAAe,GAAG,IAAI;AAChC,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,EAAE;;AAEF,EAAE,MAAM,CAAC,GAAG;AACZ;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI;AAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;AAC/C,EAAE;;AAEF,EAAE,aAAa,CAAC,GAAG;AACnB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE;AACpC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK;AAC1C,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE;AACtC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE;AAC1C,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK;AAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;AAChE,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ;AACxE,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK;AAC7C,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,KAAK;AACzC,EAAE;;AAEF,EAAE,OAAO,CAAC,GAAG;AACb,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB;AACA,IAAI,IAAI,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAClI,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM;;AAEzB,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;AAClC,MAAM,IAAI,CAAC,MAAM,EAAE;AACnB,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,CAAC,aAAa,EAAE;AAC1B,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY;AACjC,QAAQ,IAAI,CAAC,MAAM,EAAE;AACrB,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB,MAAM,CAAC,CAAC;AACR,IAAI;;AAEJ,IAAI,IAAI,CAAC,aAAa,EAAE;AACxB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,IAAI,IAAI,CAAC,QAAQ,EAAE;;AAEnB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;;AAEtB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;AAC3B,EAAE;;AAEF,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;AAC1C,EAAE;;AAEF,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;AACtC,EAAE;;AAEF,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC3F,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AACpC,EAAE;;AAEF,EAAE,OAAO,CAAC,GAAG;AACb;AACA,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;AACpC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;AAC5E,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC7D,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAChG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAClD,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AACjD,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;AAC7F,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;AACnG,IAAI;;AAEJ;AACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrD,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAChC,MAAM,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;AAC5D,IAAI;AACJ,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE;;AAExB,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;AACjC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;AAClE,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AAC9B,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,UAAU,EAAE;AACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AAC7B,IAAI;;AAEJ,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,cAAc,EAAE,eAAe,CAAC;;AAEtF,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AACpC,EAAE;AACF;;AAEA;AACA,IAAI,WAAW,GAAG,IAAI,OAAO,EAAE;;AAE/B,YAAY,CAAC,IAAI,GAAG,cAAc;AAClC,YAAY,CAAC,OAAO,GAAG,OAAO;;AAE9B;AACA,YAAY,CAAC,QAAQ,GAAG,IAAI;;AAE5B;AACA,YAAY,CAAC,QAAQ,GAAG;AACxB,EAAE,gBAAgB,EAAE,kBAAkB;AACtC,EAAE,eAAe,EAAE,wBAAwB;AAC3C,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE;AAC5C,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,mBAAmB,GAAG,oBAAoB;AAC1E,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,8BAA8B,GAAG,+BAA+B;AACtF,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,oCAAoC,GAAG;AAC/D,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,YAAY;AAC7B,EAAE,eAAe,EAAE,cAAc;AACjC,EAAE,MAAM,EAAE;AACV,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,MAAM,EAAE;AACZ,GAAG;AACH,EAAE,SAAS,EAAE,EAAE;AACf,EAAE,UAAU,EAAE,KAAK;AACnB,EAAE,cAAc,EAAE,OAAO;AACzB,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW;AAC/B,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,WAAW,EAAE,IAAI;AACnB,EAAE,UAAU,EAAE,KAAK;AACnB,EAAE,kBAAkB,EAAE,QAAQ;AAC9B,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,WAAW,EAAE,KAAK;AACpB,EAAE,QAAQ,EAAE,IAAI;AAChB,EAAE,WAAW,EAAE,IAAI;AACnB,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,MAAM,EAAE,KAAK;AACf,EAAE,UAAU,EAAE,KAAK;AACnB,EAAE,qBAAqB,EAAE,IAAI;AAC7B,EAAE,mBAAmB,EAAE,KAAK;AAC5B,EAAE,eAAe,EAAE,UAAU;AAC7B,EAAE,WAAW,EAAE,KAAK;AACpB,EAAE,eAAe,EAAE,cAAc;AACjC,EAAE,kBAAkB,EAAE,WAAW;AACjC,EAAE,UAAU,EAAE,KAAK;AACnB,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ;AAC/B,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ;AAC/B,EAAE,QAAQ,EAAE,KAAK;AACjB,EAAE,gBAAgB,EAAE,KAAK;AACzB,EAAE,kBAAkB,EAAE,MAAM;AAC5B,EAAE,sBAAsB,EAAE,QAAQ;AAClC,EAAE,QAAQ,EAAE;AACZ,IAAI,KAAK,EAAE;AACX,GAAG;AACH,EAAE,UAAU,EAAE,KAAK;AACnB,EAAE,WAAW,EAAE,IAAI;AACnB,EAAE,kBAAkB,EAAE,KAAK;AAC3B,EAAE,aAAa,EAAE,GAAG;AACpB,EAAE,QAAQ,EAAE,IAAI;AAChB,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,SAAS,EAAE;AACb,CAAC;;AAED,YAAY,CAAC,YAAY,GAAG,UAAU,OAAO,EAAE,OAAO,EAAE;AACxD,EAAE,OAAO,GAAG,mBAAmB,CAAC,OAAO,IAAI,EAAE,CAAC;;AAE9C,EAAE,IAAI,cAAc,GAAG,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;;AAE/D,EAAE,KAAK,IAAI,QAAQ,IAAI,cAAc,EAAE;AACvC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;AAC1H,MAAM,OAAO,cAAc,CAAC,QAAQ,CAAC;AACrC,IAAI;AACJ,EAAE;;AAEF,EAAE,IAAI,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC,QAAQ,IAAI,EAAE,CAAC;;AAErE,EAAE,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,mBAAmB,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC;AAC5H,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,IAAI,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;AAC7I,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC;;AAE5G,EAAE,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC;AAC5C,CAAC;;AAED,YAAY,CAAC,WAAW,GAAG,UAAU,WAAW,EAAE;AAClD,EAAE,YAAY,CAAC,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACpG,CAAC;;AAED,YAAY,CAAC,WAAW,GAAG,UAAU,OAAO,EAAE;AAC9C,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AAC5E,EAAE,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI;AACzC,CAAC;;AAED,YAAY,CAAC,mBAAmB,GAAG,UAAU,OAAO,EAAE,OAAO,EAAE;AAC/D,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AAC5E,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,OAAO,IAAI;;AAE3D,EAAE,IAAI,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;;AAEzC,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC;;AAE1C,IAAI,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAChD,MAAM,KAAK,IAAI,CAAC,IAAI,OAAO,EAAE;AAC7B,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;AAC9D,UAAU,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AAC1C,QAAQ;AACR,MAAM;AACN,IAAI;;AAEJ,IAAI,OAAO,QAAQ;AACnB,EAAE;;AAEF,EAAE,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,GAAG,OAAO,GAAG,EAAE,CAAC;AAC9E,CAAC;;AAED;AACA;;;AAGA;;AAEA;AACA,IAAI,gBAAgB,GAAG,qBAAqB,GAAG,QAAQ,CAAC,WAAW,GAAG,8EAA8E;;AAEpJ,SAAS,uBAAuB,EAAE,YAAY,EAAE,YAAY,EAAE;AAC9D,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE;AAClD,IAAI,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM;AACzB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;;AAEpC;AACA;AACA;AACA,IAAI,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,kCAAkC,CAAC;AACnE,IAAI,IAAI,CAAC,MAAM,EAAE;;AAEjB,IAAI,CAAC,CAAC,wBAAwB,EAAE;;AAEhC,IAAI,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;AAClD,IAAI,IAAI,CAAC,OAAO,EAAE;;AAElB,IAAI,IAAI,QAAQ;AAChB,IAAI,KAAK,IAAI,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE;AAC9D,MAAM,IAAI,IAAI,CAAC,uBAAuB,EAAE;AACxC,QAAQ,QAAQ,GAAG,IAAI,CAAC,uBAAuB;AAC/C,QAAQ;AACR,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;AAC/C,EAAE,CAAC,EAAE,IAAI,CAAC;;AAEV,EAAE,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE;AACpD,IAAI,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM;AACzB,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;AACtE,MAAM,CAAC,CAAC,eAAe,EAAE;AACzB,IAAI;AACJ,EAAE,CAAC,CAAC;;AAEJ,EAAE,SAAS,OAAO,IAAI;AACtB,IAAI,IAAI,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC;AAC5D,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,MAAM,EAAE;AAC5D,MAAM,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC;AAC9C,IAAI,CAAC,CAAC;AACN,EAAE;;AAEF,EAAE,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE;AACzC,IAAI,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC;AAC1D,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,EAAE;AACb,EAAE;;AAEF,EAAE,IAAI,YAAY,EAAE;AACpB,IAAI,MAAM,CAAC,YAAY,GAAG,YAAY;AACtC,EAAE;AACF;;AAEA,uBAAuB;AACvB,EAAE,YAAY;AACd,EAAE,OAAO,8BAA8B,KAAK,WAAW,GAAG,IAAI,GAAG;AACjE,CAAC;AACD;;AAEA,OAAO,YAAY;;AAEnB,CAAC,CAAC,SAAS,CAAC,CAAC;;AAEb,MAAM,CAAC,OAAO,GAAG,YAAY;AAC7B,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY;AAC1C,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,YAAY"} \ No newline at end of file diff --git a/docs/dist/js/bootstrap-select.esm.mjs b/docs/dist/js/bootstrap-select.esm.mjs index 9fa097e..dfb4785 100644 --- a/docs/dist/js/bootstrap-select.esm.mjs +++ b/docs/dist/js/bootstrap-select.esm.mjs @@ -1,15 +1,21 @@ +import * as Bootstrap from 'bootstrap'; + /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -import * as Bootstrap from 'bootstrap'; +var __SELECTPICKER_EXPOSE_GLOBAL__ = false; var Selectpicker = (function (bootstrap) { + +/* eslint-disable no-unused-vars */ +// Shared ordered source fragment consumed by the Grunt JS build. + 'use strict'; // Resolve Bootstrap's Dropdown component (Bootstrap 5+). It may be provided @@ -254,6 +260,10 @@ function getAttributesObject (element) { return attributesObject; } + +/* eslint-disable no-unused-vars */ +// Shared ordered source fragment consumed by the Grunt JS build. + // function stringSearch (li, searchString, method, normalize) { var stringTypes = [ @@ -418,6 +428,10 @@ var createEscaper = function (map) { var htmlEscape = createEscaper(escapeMap); // + +/* eslint-disable no-undef, no-unused-vars */ +// Shared ordered source fragment consumed by the Grunt JS build. + // var keyCodeMap = { 32: ' ', 48: '0', 49: '1', 50: '2', 51: '3', 52: '4', 53: '5', 54: '6', @@ -725,6 +739,10 @@ function stripRemovedOptions (source) { return result; } + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. + class Selectpicker { constructor (element, options) { if (typeof element === 'string') { @@ -964,11 +982,15 @@ class Selectpicker { } createDropdown () { - // If we are multiple or showTick option is set, then add the show-tick class - var showTick = (this.multiple || this.options.showTick) ? ' show-tick' : '', + // Multiple selects always show an indicator. Single selects also need the + // indicator column when selectionIndicator is enabled. + var usesSelectionIndicator = this.options.selectionIndicator === 'checkbox', + showTick = (this.multiple || this.options.showTick || usesSelectionIndicator) ? ' show-tick' : '', showSelectedTags = this.options.showSelectedTags ? ' show-selected-tags' : '', selectedItemsStyle = this.options.selectedItemsStyle === 'list' ? ' selected-items-style-list' : '', - selectionIndicator = this.options.selectionIndicator === 'checkbox' ? ' selection-indicator-checkbox' : '', + selectionIndicator = usesSelectionIndicator + ? (this.multiple ? ' selection-indicator-checkbox' : ' selection-indicator-radio') + : '', multiselectable = this.multiple ? ' aria-multiselectable="true"' : '', autofocus = this.autofocus ? ' autofocus' : '', liveSearchPlaceholder = this.options.liveSearchPlaceholder; @@ -988,8 +1010,8 @@ class Selectpicker { if (this.options.header) { header = '
    ' + + '' + this.options.header + '' + '' + - this.options.header + '
    '; } @@ -1073,6 +1095,9 @@ class Selectpicker { return createFromHTML(drop); } + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. // runs when the dropdown is about to be shown onShow () { if (this.options.liveSearch && this.searchbox.value) { @@ -1435,6 +1460,10 @@ class Selectpicker { return updateIndex; } + + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. fetchData (callback, type, page, searchValue) { page = page || 1; type = type || 'data'; @@ -1644,7 +1673,7 @@ class Selectpicker { mainElements = [], widestOptionLength = 0; - if (that.options.showTick || that.multiple) { + if (that.options.showTick || that.multiple || that.options.selectionIndicator === 'checkbox') { elementTemplates.checkMark.className = this.options.selectionIndicator === 'checkbox' ? 'check-mark bs-selection-indicator' : this.options.iconBase + ' ' + that.options.tickIcon + ' check-mark'; @@ -1742,6 +1771,9 @@ class Selectpicker { } } + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. findLis () { return this.menuInner.querySelectorAll('.inner > li'); } @@ -2183,6 +2215,10 @@ class Selectpicker { } } + + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. liHeight (refresh) { if (!refresh && (this.options.size === false || Object.keys(this.sizeInfo).length)) return; @@ -2673,6 +2709,10 @@ class Selectpicker { } } + + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. clickListener () { var that = this; @@ -3103,6 +3143,10 @@ class Selectpicker { return element.value; } + + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. val (value) { var element = this.element; @@ -3560,7 +3604,7 @@ class Selectpicker { var instanceMap = new WeakMap(); Selectpicker.NAME = 'selectpicker'; -Selectpicker.VERSION = '1.1.2'; +Selectpicker.VERSION = '1.2.0'; // user-provided global defaults (set via Selectpicker.setDefaults, used by i18n files) Selectpicker.defaults = null; @@ -3678,70 +3722,85 @@ Selectpicker.getOrCreateInstance = function (element, options) { return new Selectpicker(element, typeof options === 'object' ? options : {}); }; -// -var KEYDOWN_SELECTOR = '.bootstrap-select [' + Selector.DATA_TOGGLE + '], .bootstrap-select [role="listbox"], .bootstrap-select .bs-searchbox input'; +// Runtime wiring lives in js/bootstrap-select.runtime.js so each distribution +// can choose whether it should expose a browser global or stay module-scoped. + -// Handle keyboard navigation ourselves. This listener runs in the capture -// phase on `window` so it executes before Bootstrap's `document`-level -// (capture-phase, delegated) dropdown keydown handler and prevents it from -// processing bootstrap-select's custom menu (which would otherwise error on -// relocated/container menus and conflict with our own navigation). This -// replaces the upstream approach of unbinding Bootstrap's global handler. -window.addEventListener('keydown', function (e) { - var target = e.target; - if (!target || !target.closest) return; +/* global Selector, __SELECTPICKER_EXPOSE_GLOBAL__ */ - // Any keydown originating inside a bootstrap-select widget (or its relocated - // menu container) must not reach Bootstrap's dropdown keydown handler. - var widget = target.closest('.bootstrap-select, .bs-container'); - if (!widget) return; +// +var KEYDOWN_SELECTOR = '.bootstrap-select [' + Selector.DATA_TOGGLE + '], .bootstrap-select [role="listbox"], .bootstrap-select .bs-searchbox input'; - e.stopImmediatePropagation(); +function initSelectpickerRuntime (Selectpicker, exposeGlobal) { + if (typeof window === 'undefined' || typeof document === 'undefined') return; + + // Handle keyboard navigation ourselves. This listener runs in the capture + // phase on `window` so it executes before Bootstrap's `document`-level + // (capture-phase, delegated) dropdown keydown handler and prevents it from + // processing bootstrap-select's custom menu (which would otherwise error on + // relocated/container menus and conflict with our own navigation). This + // replaces the upstream approach of unbinding Bootstrap's global handler. + window.addEventListener('keydown', function (e) { + var target = e.target; + if (!target || !target.closest) return; + + // Any keydown originating inside a bootstrap-select widget (or its + // relocated menu container) must not reach Bootstrap's dropdown keydown + // handler. + var widget = target.closest('.bootstrap-select, .bs-container'); + if (!widget) return; + + e.stopImmediatePropagation(); + + var trigger = target.closest(KEYDOWN_SELECTOR); + if (!trigger) return; + + var instance; + for (var node = trigger; node; node = node.parentElement) { + if (node.bootstrapSelectInstance) { + instance = node.bootstrapSelectInstance; + break; + } + } - var trigger = target.closest(KEYDOWN_SELECTOR); - if (!trigger) return; + if (instance) instance._keydown(e, trigger); + }, true); - var instance; - for (var node = trigger; node; node = node.parentElement) { - if (node.bootstrapSelectInstance) { - instance = node.bootstrapSelectInstance; - break; + document.addEventListener('focusin', function (e) { + var target = e.target; + if (target && target.closest && target.closest(KEYDOWN_SELECTOR)) { + e.stopPropagation(); } - } + }); - if (instance) instance._keydown(e, trigger); -}, true); + function initAll () { + var selects = document.querySelectorAll('.selectpicker'); + Array.prototype.forEach.call(selects, function (select) { + Selectpicker.getOrCreateInstance(select); + }); + } -document.addEventListener('focusin', function (e) { - var target = e.target; - if (target && target.closest && target.closest(KEYDOWN_SELECTOR)) { - e.stopPropagation(); + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', initAll); + } else { + initAll(); } -}); -function initAll () { - var selects = document.querySelectorAll('.selectpicker'); - Array.prototype.forEach.call(selects, function (select) { - Selectpicker.getOrCreateInstance(select); - }); + if (exposeGlobal) { + window.Selectpicker = Selectpicker; + } } -if (document.readyState === 'loading') { - document.addEventListener('DOMContentLoaded', initAll); -} else { - initAll(); -} +initSelectpickerRuntime( + Selectpicker, + typeof __SELECTPICKER_EXPOSE_GLOBAL__ === 'undefined' ? true : __SELECTPICKER_EXPOSE_GLOBAL__ +); // -if (typeof window !== 'undefined') { - window.Selectpicker = Selectpicker; -} - return Selectpicker; -}(Bootstrap)); -export default Selectpicker; -export { Selectpicker }; +}(Bootstrap)); -//# sourceMappingURL=bootstrap-select.esm.mjs.map \ No newline at end of file +export { Selectpicker, Selectpicker as default }; +//# sourceMappingURL=bootstrap-select.esm.mjs.map diff --git a/docs/dist/js/bootstrap-select.esm.mjs.map b/docs/dist/js/bootstrap-select.esm.mjs.map index 072e349..68a75a3 100644 --- a/docs/dist/js/bootstrap-select.esm.mjs.map +++ b/docs/dist/js/bootstrap-select.esm.mjs.map @@ -1 +1 @@ -{"version":3,"sources":["../../js/bootstrap-select.js"],"names":[],"mappings":"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AE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;AACtD,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;AACtD,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;AAC5B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;AAChF,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;AAChF,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;AACtD,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;AACtD,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;AACzC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;AAC7B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;AAC7B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;AACf,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC7E,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC7E,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC7E,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC7E,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAChC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC7E,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC7E,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC5F,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC5F,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAChC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;AACjC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;AACjC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/B,EAAE;AACF;AACA,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE;AAC9E,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5D;AACA,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE;AACjD,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,EAAE;AAC1C,IAAI,qBAAqB,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,EAAE;AAC9C,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,EAAE;AAC5C,IAAI,yBAAyB,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,EAAE;AAClD,IAAI,2BAA2B,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,EAAE;AACpD,IAAI,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,2BAA2B,CAAC;AAC7I;AACA,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;AAC9C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;AACvC;AACA,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG;AACvC;AACA,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7B,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE;AAC9B,CAAC;AACD;AACA,QAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACnC,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG;AAC7B,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI;AAClF,CAAC;AACD;AACA,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;AACtC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACjB,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG;AACf,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG;AACd,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG;AACd,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAChB,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG;AAChB,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;AACf,EAAE;AACF;AACA,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAClC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;AACtB,EAAE,EAAE;AACJ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI;AACxD,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;AAClC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG;AAC1C,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5B,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/C,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACrF,EAAE,EAAE;AACJ,EAAE;AACF;AACA,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE;AAC1C,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC;AACjB;AACA,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE;AACjC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAClB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;AACzE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI;AACrC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;AACzE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;AACzE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;AACzE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;AACnB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AACnE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,EAAE;AACF;AACA,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAChB,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;AACb,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;AACZ,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;AACZ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACT,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;AACf,EAAE,UAAU,CAAC,CAAC,EAAE;AAChB,EAAE;AACF;AACA,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB;AACA,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE;AAC7B;AACA,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;AAC3B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAClB,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;AACvB,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE;AAC9B,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;AACf,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE;AACnB,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;AACxB,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE;AAC/B,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE;AAC3B,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE;AAClC,EAAE,QAAQ,CAAC,CAAC,GAAG;AACf,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC;AAC3B,EAAE;AACF;AACA,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAChB,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;AAC9B,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE;AAC1C,EAAE;AACF;AACA,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACxB,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,GAAG;AACrC,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,GAAG;AACvC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG;AACjC,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,GAAG;AAC3C,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG;AACjC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,GAAG;AACnC,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,cAAc,GAAG,KAAK,GAAG;AAChD,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,sBAAsB,GAAG;AAC9C,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE;AAC1C,EAAE;AACF;AACA,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE;AAC3E,gBAAgB,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE;AAC/D;AACA,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE;AAClE,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE;AACpD;AACA,gBAAgB,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG;AAClD,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC/C;AACA,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;AAClD;AACA,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC/D,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AACzC;AACA,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACpE;AACA,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE;AAC7E,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE;AACnF;AACA,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACtB,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7C,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE;AAClD;AACA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAClB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9D,QAAQ,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE;AAChC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/B,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AACjF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;AACvG;AACA,IAAI,MAAM,CAAC,EAAE,CAAC;AACd,EAAE,EAAE;AACJ;AACA,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACvC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE;AAC/C;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACf,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACjC,QAAQ,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE;AAC5B,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,CAAC,CAAC,kBAAkB,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE;AAChD,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,KAAK;AACnH,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE;AAChD;AACA,IAAI,MAAM,CAAC,CAAC,CAAC;AACb,EAAE,EAAE;AACJ;AACA,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AACzC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC7D,QAAQ,cAAc,CAAC;AACvB,QAAQ,WAAW,CAAC;AACpB;AACA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1B,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AAC9C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACZ,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AAC7C;AACA,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACzB,QAAQ,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE;AACtE;AACA,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM;AAC/E,QAAQ,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE;AAC3G,QAAQ,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AAC3E;AACA,QAAQ,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE;AAC3D,QAAQ,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE;AAC1D,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5B,QAAQ,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE;AACnE,QAAQ,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AACrD,QAAQ,WAAW,CAAC,WAAW,CAAC,cAAc,EAAE;AAChD,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/B,MAAM,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,QAAQ,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG;AACzE,MAAM,CAAC;AACP,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACZ,MAAM,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE;AACzD,IAAI,CAAC;AACL;AACA,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AACrC,EAAE,EAAE;AACJ;AACA,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7B,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC7D,QAAQ,cAAc,CAAC;AACvB,QAAQ,WAAW,CAAC;AACpB;AACA,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AAC5C;AACA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACvB,MAAM,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE;AACpE;AACA,MAAM,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC3D,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AACzE;AACA,MAAM,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE;AACzD,MAAM,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE;AACxD,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1B,MAAM,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE;AACjE,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AACnD,MAAM,WAAW,CAAC,WAAW,CAAC,cAAc,EAAE;AAC9C,IAAI,CAAC;AACL;AACA,IAAI,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE;AACvD;AACA,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AACrC,EAAE,CAAC;AACH,EAAE;AACF;AACA,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AACrB,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACvC,IAAI,GAAG,CAAC,KAAK,CAAC;AACd;AACA,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACnB,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE;AACrB,QAAQ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;AAC/D,QAAQ,KAAK,CAAC;AACd;AACA,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE;AAClB,QAAQ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;AACnC,QAAQ,KAAK,CAAC;AACd;AACA,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE;AACnB,QAAQ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAC7B,QAAQ,KAAK,CAAC;AACd;AACA,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE;AACnB,QAAQ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;AACrC,QAAQ,KAAK,CAAC;AACd;AACA,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE;AACnB,QAAQ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAC7B,QAAQ,KAAK,CAAC;AACd;AACA,MAAM,OAAO,CAAC;AACd,QAAQ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,GAAG;AACjE,QAAQ,KAAK,CAAC;AACd,IAAI,CAAC;AACL;AACA,IAAI,MAAM,CAAC,KAAK,CAAC;AACjB,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3C,IAAI,GAAG,CAAC,KAAK,CAAC;AACd;AACA,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACnB,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE;AAClB,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE;AACnB,QAAQ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG;AAClD,QAAQ,KAAK,CAAC;AACd;AACA,MAAM,OAAO,CAAC;AACd,QAAQ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;AAC7B,QAAQ,KAAK,CAAC;AACd,IAAI,CAAC;AACL;AACA,IAAI,MAAM,CAAC,KAAK,CAAC;AACjB,EAAE,CAAC;AACH,EAAE;AACF;AACA,QAAQ,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AACnD,EAAE,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5B,IAAI,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK;AAC5H,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE;AACtE,EAAE,CAAC;AACH,CAAC;AACD;AACA,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9B,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;AACtE,CAAC;AACD;AACA,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAChC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;AAC5C;AACA,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/D,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE;AACnE,EAAE,CAAC;AACH;AACA,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AACnE,MAAM,MAAM,CAAC,IAAI,CAAC;AAClB,IAAI,CAAC;AACL;AACA,IAAI,MAAM,CAAC,KAAK,CAAC;AACjB,EAAE,EAAE,CAAC,IAAI,EAAE;AACX;AACA,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM;AAC5E,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,MAAM,eAAe,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1C,IAAI,CAAC;AACL;AACA,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AACtE,EAAE,CAAC;AACH;AACA,EAAE,MAAM,CAAC,eAAe,CAAC;AACzB,CAAC;AACD;AACA,QAAQ,CAAC,eAAe,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AAC5C,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;AACjB,MAAM,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE;AACjE,MAAM,GAAG,CAAC;AACV;AACA,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACvD,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;AACrB;AACA,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE;AACjE,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvB,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AAC3C,EAAE,CAAC;AACH;AACA,EAAE,MAAM,CAAC,KAAK,CAAC;AACf,CAAC;AACD,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC;AACjB;AACA,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5B;AACA,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACpF,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5B;AACA,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,aAAa,GAAG;AACvF;AACA,QAAQ,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACvC,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;AAC3D;AACA,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE;AACzC;AACA,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACpD,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG;AACtC,EAAE,CAAC;AACH;AACA,EAAE,MAAM,CAAC,MAAM,CAAC;AAChB,CAAC;AACD;AACA,KAAK,CAAC,YAAY,CAAC,CAAC;AACpB,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAClC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACtC,MAAM,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE;AAChD,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACnD,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,IAAI;AACjF,IAAI,CAAC;AACL;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACvB,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACrB,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI;AACrE;AACA,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ;AACjD,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG;AACzB,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;AACrB;AACA,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACzB,MAAM,IAAI,CAAC,CAAC,CAAC;AACb,QAAQ,IAAI,CAAC,CAAC,GAAG;AACjB,QAAQ,WAAW,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE;AAChE,QAAQ,OAAO,CAAC,CAAC,KAAK;AACtB,MAAM,EAAE;AACR,MAAM,MAAM,CAAC,CAAC,CAAC;AACf,QAAQ,IAAI,CAAC,CAAC,GAAG;AACjB,QAAQ,OAAO,CAAC,CAAC,KAAK;AACtB,MAAM,EAAE;AACR,MAAM,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ;AACvG,MAAM,IAAI,CAAC,CAAC,GAAG;AACf,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACtG,MAAM,mBAAmB,CAAC,CAAC,GAAG;AAC9B,MAAM,cAAc,CAAC,CAAC,GAAG;AACzB,MAAM,UAAU,CAAC,CAAC,CAAC;AACnB,QAAQ,UAAU,CAAC,CAAC,KAAK;AACzB,MAAM,EAAE;AACR,MAAM,WAAW,CAAC,CAAC,KAAK,CAAC;AACzB,MAAM,OAAO,CAAC,CAAC,CAAC;AAChB,QAAQ,UAAU,CAAC,CAAC,GAAG;AACvB,QAAQ,eAAe,CAAC,CAAC,CAAC;AAC1B,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACxB,YAAY,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC;AACrC,cAAc,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG;AACxD,YAAY,EAAE,CAAC,GAAG,EAAE;AACpB,UAAU,CAAC;AACX,QAAQ,CAAC;AACT,MAAM,CAAC;AACP,IAAI,EAAE;AACN;AACA,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;AACvB;AACA,IAAI,IAAI,CAAC,IAAI,GAAG;AAChB;AACA,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE;AACnC,EAAE,CAAC;AACH;AACA,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;AACvC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACpC,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;AAChD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG;AACrF,IAAI,MAAM,CAAC,OAAO,CAAC;AACnB,EAAE,CAAC;AACH;AACA,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC9C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AAC1C,QAAQ,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;AAChC,MAAM,CAAC;AACP,IAAI,EAAE;AACN,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;AACjD,EAAE,CAAC;AACH;AACA,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACxB,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACnD,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC;AACpB,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC;AACvB,MAAM,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI;AAC5B,IAAI,GAAG;AACP,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE;AACtC,IAAI,MAAM,CAAC,KAAK,CAAC;AACjB,EAAE,CAAC;AACH;AACA,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;AACxF,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9C,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE;AAC3B,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;AAChD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE;AAClF,EAAE,CAAC;AACH;AACA,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACtB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;AAChC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACf,MAAM,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;AACzE,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;AAC9B,IAAI,CAAC;AACL,EAAE,CAAC;AACH,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC;AACnB;AACA,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;AACX,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,GAAG;AAC7C,QAAQ,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AAC/B,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AAC5B;AACA,IAAI,QAAQ,GAAG;AACf,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC5C;AACA,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG;AAC9C;AACA,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC1C,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AAC5C;AACA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;AAClD,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,IAAI,CAAC;AACL;AACA,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG;AAC5C;AACA,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU;AAC7F,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE;AAC1E,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;AACtE;AACA,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU;AACzG,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;AACtD,MAAM,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE;AAC5C,IAAI,CAAC;AACL;AACA,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG;AACnE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG;AAC3G,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC3E,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,GAAG;AACvD,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG;AACtD,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG;AAChJ,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG;AAC3E;AACA,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG;AACjD;AACA,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAChC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AACxB,MAAM,IAAI,CAAC,SAAS,GAAG;AACvB;AACA,MAAM,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACzC,QAAQ,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG;AAC7B,MAAM,GAAG;AACT,IAAI,GAAG;AACP;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE;AAC9F;AACA,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;AAC9C,IAAI,CAAC;AACL;AACA,IAAI,IAAI,CAAC,aAAa,GAAG;AACzB,IAAI,IAAI,CAAC,aAAa,GAAG;AACzB;AACA,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,GAAG;AACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;AAC9C;AACA,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ;AAC/D,IAAI,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,IAAI,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAClC,MAAM,IAAI,CAAC,kBAAkB,GAAG;AAChC,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;AAC1C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACZ,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;AAC1C,IAAI,CAAC;AACL;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG;AACpB,IAAI,IAAI,CAAC,QAAQ,GAAG;AACpB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC5D,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;AAC7B,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK;AAC9B,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;AACvC,YAAY,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9D;AACA,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACtF,QAAQ,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE;AAChE,QAAQ,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,MAAM,CAAC;AACP,IAAI,GAAG;AACP;AACA,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM;AACnE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG;AACzC,IAAI,GAAG;AACP,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG;AAC3C,IAAI,GAAG;AACP,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;AACrB,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG;AACzC,IAAI,GAAG;AACP,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG;AAC1C,IAAI,GAAG;AACP;AACA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,GAAG,CAAC,CAAC;AAC3C,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACrD,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG;AAChD;AACA,QAAQ,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC1C,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM;AACvF,UAAU,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG;AAChD,UAAU,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE;AAChF,QAAQ,EAAE;AACV,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE;AACpE;AACA,QAAQ,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACtC,UAAU,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK;AACxE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,GAAG;AACtF,UAAU,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE;AAC/E,QAAQ,EAAE;AACV,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE;AACnE;AACA,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAClC,UAAU,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG;AAC/B,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG;AAC9B,UAAU,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;AACtE,QAAQ,EAAE;AACV,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;AAC1D,MAAM,GAAG;AACT,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACf,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC3C,QAAQ,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC3C,UAAU,IAAI,CAAC,MAAM,GAAG;AACxB,QAAQ,GAAG;AACX,MAAM,GAAG;AACT,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;AACrB,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;AACjF,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG;AAChF,QAAQ,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG;AACtF,QAAQ,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG;AAC5G,QAAQ,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG;AACnH,QAAQ,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG;AAC9E,QAAQ,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG;AACvD,QAAQ,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;AACnE;AACA,IAAI,EAAE,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AACxG,MAAM,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;AACnE,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,QAAQ;AACf,IAAI,GAAG,CAAC,IAAI,CAAC;AACb,QAAQ,MAAM,CAAC,CAAC,CAAC,GAAG;AACpB,QAAQ,SAAS,CAAC,CAAC,CAAC,GAAG;AACvB,QAAQ,UAAU,CAAC,CAAC,CAAC,GAAG;AACxB,QAAQ,UAAU,CAAC,CAAC,CAAC,GAAG;AACxB,QAAQ,WAAW,CAAC,CAAC,CAAC,GAAG;AACzB;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,MAAM,MAAM,CAAC,CAAC;AACd,UAAU,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5D,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC;AACpF,cAAc,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACnC,UAAU,GAAG,GAAG,GAAG;AACnB,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAClC,MAAM,SAAS,CAAC,CAAC;AACjB,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC;AACxC,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;AAC5E,cAAc,CAAC;AACf,gBAAgB,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;AACnD,gBAAgB,CAAC;AACjB,gBAAgB,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAAG;AAC1E,cAAc,CAAC,CAAC,CAAC;AACjB,cAAc,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC;AACtH,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACrC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE;AAC/F,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC;AACrB,UAAU,GAAG,GAAG,GAAG;AACnB,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AACnD,MAAM,UAAU,CAAC,CAAC;AAClB,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC;AACzC,YAAY,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;AACpD,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7G,gBAAgB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAC5C,cAAc,GAAG,MAAM,EAAE,CAAC,CAAC;AAC3B,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/G,gBAAgB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAC9C,cAAc,GAAG,MAAM,EAAE,CAAC,CAAC;AAC3B,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC;AACtB,UAAU,GAAG,GAAG,GAAG;AACnB,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AACnD,MAAM,UAAU,CAAC,CAAC;AAClB,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC;AACzC,YAAY,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;AACvC,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC1F,gBAAgB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAC7C,cAAc,GAAG,MAAM,EAAE,CAAC,CAAC;AAC3B,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC;AACtB,UAAU,GAAG,GAAG,GAAG;AACnB,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAClC,MAAM,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG;AAC/H,IAAI,CAAC;AACL;AACA,IAAI,IAAI,CAAC,CAAC;AACV,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAChI,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;AACzD,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,YAAY,QAAQ,CAAC,WAAW,CAAC,CAAC;AAClC,YAAY,SAAS,CAAC,CAAC;AACvB,YAAY,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;AAC5C,YAAY,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3B,YAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC;AAChE,YAAY,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3C,cAAc,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AACnD,gBAAgB,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;AACvE,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC;AACtB,YAAY,WAAW,CAAC,CAAC;AACzB,YAAY,GAAG,IAAI,EAAE,CAAC,CAAC;AACvB,UAAU,GAAG,MAAM,EAAE,CAAC,CAAC;AACvB,UAAU,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACnD,YAAY,MAAM,CAAC,CAAC;AACpB,YAAY,SAAS,CAAC,CAAC;AACvB,YAAY,UAAU,CAAC,CAAC;AACxB,YAAY,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3I,gBAAgB,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,GAAG,CAAC,CAAC;AAC1G,gBAAgB,GAAG,EAAE,EAAE,CAAC,CAAC;AACzB,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC;AACtB,YAAY,UAAU,CAAC,CAAC;AACxB,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC;AACpB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB;AACzD,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE;AACvF,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC;AACnB,QAAQ,GAAG,GAAG,GAAG;AACjB;AACA,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE;AAChC,EAAE,CAAC;AACH;AACA,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK;AAChD,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1D,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;AAChC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/D,MAAM,IAAI,CAAC,OAAO,GAAG;AACrB,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;AACtB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG;AAC7C,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC;AACvD;AACA,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACrE,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;AACjD,UAAU,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9B;AACA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAClC,QAAQ,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7B,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;AAChD,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;AAChD,QAAQ,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7B,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;AACvD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC3C,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5C;AACA,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE;AAC7D;AACA,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG;AACtC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;AAClD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AACjH,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;AAC/F,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;AAChB,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;AAC/J,EAAE,CAAC;AACH;AACA,EAAE,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9C,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB,QAAQ,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB;AACA,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;AAChD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AAChG;AACA,IAAI,IAAI,CAAC,eAAe,GAAG;AAC3B;AACA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAClB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACpB,QAAQ,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;AAC7C,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClC,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AACnC,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC;AACnF;AACA,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/E,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACxE,cAAc,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC;AAC/D;AACA,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzB,YAAY,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AAClG,UAAU,CAAC;AACX,QAAQ,CAAC;AACT,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE;AAC5B;AACA,IAAI,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC7E,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;AAC3D,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5B,IAAI,GAAG;AACP;AACA,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACvC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AACvD,UAAU,MAAM,CAAC,CAAC,CAAC,GAAG;AACtB,UAAU,SAAS,CAAC;AACpB,UAAU,UAAU,CAAC;AACrB,UAAU,UAAU,CAAC;AACrB,UAAU,SAAS,CAAC;AACpB,UAAU,YAAY,CAAC;AACvB,UAAU,aAAa,CAAC;AACxB,UAAU,mBAAmB,CAAC;AAC9B,UAAU,gBAAgB,CAAC;AAC3B,UAAU,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,UAAU,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG;AACvC;AACA,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD;AACA,MAAM,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;AACzE,MAAM,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM;AACxE;AACA,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAQ,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7C;AACA,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,UAAU,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5B,QAAQ,CAAC;AACT;AACA,QAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AACzC,UAAU,UAAU;AACpB,QAAQ,EAAE;AACV;AACA,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC;AACzB;AACA,QAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;AACrJ,UAAU,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,QAAQ,CAAC;AACT,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD;AACA,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE;AAC3F;AACA,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM;AAC1D,MAAM,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;AACjD,MAAM,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;AAC7D;AACA,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AAC7G,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AAClH;AACA,MAAM,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AAC3I;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AAC7C,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACnB,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;AAC5D,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE;AACjD,UAAU,CAAC;AACX,UAAU,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AACzC,QAAQ,CAAC;AACT;AACA,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;AAC1D,UAAU,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE;AACjD,QAAQ,CAAC;AACT,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;AACrJ,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE;AACjD,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7E,QAAQ,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG;AACxH;AACA,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAClC,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;AACtF,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AAChB,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE;AAChK,QAAQ,CAAC;AACT;AACA,QAAQ,IAAI,CAAC,eAAe,GAAG;AAC/B;AACA,QAAQ,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG;AAClG,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ;AAC7C,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE;AAC/I;AACA,QAAQ,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;AAC3D,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;AAC9D,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;AAC9D,UAAU,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;AACzC,cAAc,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,GAAG;AAC/D,cAAc,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE;AAChE,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC;AAChE,cAAc,UAAU,CAAC,CAAC,CAAC,GAAG;AAC9B;AACA,UAAU,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACxF,UAAU,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE;AAClE;AACA,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC9F,YAAY,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE;AACtC,gBAAgB,MAAM,CAAC;AACvB,gBAAgB,WAAW,CAAC;AAC5B;AACA,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxC,cAAc,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;AACzC;AACA,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3B,gBAAgB,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE;AACnG;AACA,gBAAgB,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACnF,kBAAkB,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE;AAC1C,kBAAkB,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,gBAAgB,CAAC;AACjB,cAAc,CAAC;AACf,YAAY,CAAC;AACb;AACA,YAAY,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE;AAC9C,UAAU,CAAC;AACX;AACA,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3D,YAAY,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACtF,UAAU,CAAC;AACX;AACA,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,YAAY,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;AACrJ,YAAY,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;AACjN;AACA,YAAY,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;AACpE,YAAY,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;AAC1E,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;AAClB,YAAY,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,YAAY,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,UAAU,CAAC;AACX;AACA,UAAU,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,EAAE;AACzD;AACA,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW;AACrH,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AACjE,YAAY,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC;AACvE;AACA,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;AAC9I,cAAc,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;AAC7F,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;AACjF,cAAc,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI;AACrD,cAAc,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C;AACA,cAAc,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC;AACrE;AACA,cAAc,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;AACxE,gBAAgB,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC;AACpE,gBAAgB,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;AAC/F,cAAc,CAAC;AACf;AACA,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO;AAC7C,cAAc,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;AAC5C,YAAY,CAAC;AACb,UAAU,CAAC;AACX,QAAQ,CAAC;AACT;AACA,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9K,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO;AAClE,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS;AACpG,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,YAAY,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI;AACpH,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9G;AACA,YAAY,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACxC,cAAc,IAAI,CAAC,MAAM,GAAG;AAC5B,cAAc,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;AAChD,cAAc,IAAI,CAAC,eAAe,GAAG;AACrC,cAAc,MAAM,CAAC,SAAS,EAAE;AAChC,YAAY,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE;AACxH,UAAU,CAAC;AACX,QAAQ,CAAC;AACT,MAAM,CAAC;AACP;AACA,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;AAClD;AACA,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG;AAC/B,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACvC,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,YAAY,SAAS,CAAC;AACtB;AACA,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;AAC1D,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE;AACjF,QAAQ,CAAC;AACT;AACA,QAAQ,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;AAClE;AACA,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE;AAC/D;AACA,QAAQ,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC;AACnF;AACA,QAAQ,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;AAClC,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACrE,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE;AACzE;AACA,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;AACrD,IAAI,GAAG;AACP,EAAE,CAAC;AACH;AACA,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACnC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACb,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG;AACxH,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;AAC5B;AACA,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,QAAQ,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE;AACpE,QAAQ,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;AACzD;AACA,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/B,UAAU,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;AACzE,UAAU,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG;AACrC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG;AACpC,QAAQ,CAAC;AACT,MAAM,CAAC;AACP,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpB,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACb,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG;AACpC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG;AAClE,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;AACrB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB,QAAQ,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5B;AACA,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClF,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG;AACrH;AACA,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;AAC/F,MAAM,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;AAC5G,MAAM,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;AACzB;AACA,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AACjC,UAAU,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC;AACpC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;AAC5E,UAAU,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;AAChD,UAAU,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;AAC1D,UAAU,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,IAAI;AAC/E,UAAU,oBAAoB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,UAAU,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,EAAE,UAAU,GAAG;AAC/F,UAAU,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU;AACxG,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAClJ;AACA,MAAM,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC7B,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACnD,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE;AACzE,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;AACtD;AACA,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;AAC3H,QAAQ,iBAAiB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE;AACpI,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,QAAQ,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE;AACrF,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM;AACjD,MAAM,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAClD,QAAQ,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACtD,QAAQ,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO;AAC7G,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK;AAC/D,QAAQ,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACzD,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG;AACrF,QAAQ,GAAG;AACX,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,MAAM,CAAC,WAAW,CAAC;AACvB,EAAE,CAAC;AACH;AACA,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AACjD,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACrB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;AAC1B;AACA,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;AACzC,QAAQ,SAAS,CAAC;AAClB;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACf,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC;AACA,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACvC,QAAQ,IAAI,CAAC,IAAI,CAAC;AAClB,UAAU,IAAI,CAAC;AACf,UAAU,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAC7C,YAAY,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG;AACnF,YAAY,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,YAAY,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;AAC5C,YAAY,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AACnD,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE;AAC3C,YAAY,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG;AAClC,UAAU,EAAE;AACZ,UAAU,IAAI,CAAC;AACf,UAAU,WAAW;AACrB,QAAQ,EAAE;AACV,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AACvC,QAAQ,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AAC/C,QAAQ,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE;AACvC,MAAM,CAAC;AACP,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACZ,MAAM,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;AAC9C,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE;AACrC,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1B,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC;AAC9F;AACA,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK;AAClG,QAAQ,QAAQ,CAAC,CAAC,CAAC,GAAG;AACtB,QAAQ,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,QAAQ,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI;AACzI;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5B,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AACtD,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAG;AACvE;AACA,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE;AAC9H;AACA,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAClC,MAAM,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;AACvD;AACA,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ;AAC7D,MAAM,EAAE,CAAC,CAAC;AACV,QAAQ,YAAY,CAAC,EAAE;AACvB,UAAU,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;AAC5C,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;AAC9C,MAAM,CAAC,CAAC,CAAC;AACT,QAAQ,MAAM,CAAC;AACf,MAAM,CAAC;AACP;AACA,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;AAC5B,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;AAC9B;AACA,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;AAC5B,IAAI,CAAC;AACL;AACA,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACvC,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;AAC5B;AACA,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG;AACnD;AACA,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACpC,QAAQ,UAAU,EAAE;AACpB,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK;AAC7B,QAAQ,GAAG;AACX,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACjD,YAAY,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;AAChD,YAAY,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG;AAC7D,YAAY,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI;AAChF;AACA,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AAC7D;AACA,QAAQ,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,GAAG;AAChD,QAAQ,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;AACzC;AACA,QAAQ,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG;AAC/C,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;AACjD,QAAQ,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG;AACrD,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG;AACnD,QAAQ,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG;AACrD,QAAQ,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG;AAC/C;AACA,QAAQ,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;AACvD,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AACzE,QAAQ,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;AAC/B,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/B;AACA,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM;AACnG,QAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AACxC,QAAQ,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;AAC1C,QAAQ,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;AAC7D;AACA,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AACpE,YAAY,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE;AAChG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;AAClB,YAAY,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACzE,UAAU,CAAC;AACX,QAAQ,CAAC;AACT;AACA,QAAQ,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;AAC9B,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AACjD,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE;AAC1C,UAAU,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM;AACpC,UAAU,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AAC/E,UAAU,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AAC1C,UAAU,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE;AAC/H;AACA,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AAClC;AACA,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpB,YAAY,OAAO,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;AAC3D,YAAY,OAAO,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG;AACrD,YAAY,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG;AAC/C,YAAY,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE;AACnC,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI;AAC5D,YAAY,QAAQ,CAAC,CAAC,QAAQ;AAC9B,UAAU,EAAE;AACZ,UAAU,WAAW,CAAC;AACtB,UAAU,SAAS,CAAC;AACpB;AACA,MAAM,KAAK,GAAG;AACd;AACA,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrB,QAAQ,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG;AACrC,MAAM,CAAC;AACP;AACA,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3B;AACA,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;AAC5B;AACA,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3D,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;AAChC;AACA,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,UAAU,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,UAAU,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;AACxC,QAAQ,CAAC;AACT;AACA,QAAQ,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3B,UAAU,WAAW,CAAC,CAAC,WAAW,CAAC;AACnC,UAAU,SAAS,CAAC,CAAC,SAAS,CAAC;AAC/B,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAC9B,UAAU,aAAa,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;AAC9C,UAAU,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ;AACrC,QAAQ,GAAG;AACX,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,QAAQ,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG;AACrC,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,GAAG,CAAC,IAAI,CAAC;AACb;AACA,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACxE,MAAM,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE;AAC9B,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;AACnC;AACA,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACxC,QAAQ,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE;AACjD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI;AACvC,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACnB,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACpB,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3C,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;AAC3C,QAAQ,CAAC;AACT,QAAQ,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;AAC1E,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;AACrE,QAAQ,KAAK,CAAC;AACd,MAAM,CAAC;AACP,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACtB,QAAQ,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;AAC5E,QAAQ,KAAK,CAAC;AACd,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,MAAM,CAAC,QAAQ,CAAC;AACpB,EAAE,CAAC;AACH;AACA,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/B,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB,QAAQ,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;AAC7F,QAAQ,YAAY,CAAC,CAAC,CAAC,GAAG;AAC1B,QAAQ,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjD,MAAM,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;AAC3F,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC;AAC7C,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;AAC9E;AACA,MAAM,EAAE,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;AACnD,QAAQ,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE;AACnE,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,MAAM,GAAG,CAAC,SAAS,CAAC;AACpB,UAAU,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B;AACA,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1B,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE;AACvB,UAAU,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC;AACxC,YAAY,KAAK,CAAC;AAClB,YAAY,UAAU,CAAC,OAAO,CAAC;AAC/B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,UAAU,EAAE;AACZ;AACA,UAAU,KAAK,CAAC;AAChB;AACA,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE;AACtB,UAAU,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC;AACxC,YAAY,cAAc,CAAC,CAAC,CAAC;AAC7B,cAAc,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AACnD,cAAc,IAAI,CAAC,WAAW,CAAC;AAC/B,cAAc,IAAI,CAAC,WAAW;AAC9B,YAAY,EAAE;AACd,YAAY,GAAG;AACf,YAAY,IAAI,CAAC,KAAK;AACtB,UAAU,EAAE;AACZ;AACA,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;AACrC,YAAY,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AACvE,UAAU,CAAC;AACX;AACA,UAAU,KAAK,CAAC;AAChB;AACA,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE;AAC9B,UAAU,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC;AACxC,YAAY,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AAClD,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;AACnD,YAAY,IAAI,CAAC,KAAK;AACtB,UAAU,EAAE;AACZ;AACA,UAAU,KAAK,CAAC;AAChB,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/C;AACA,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1B,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACjC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;AACrD,MAAM,CAAC;AACP,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACtC;AACA,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK;AAClG,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AAC9D,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AAC9D,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO;AACnE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC;AACA,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAChD,QAAQ,kBAAkB,CAAC,CAAC,CAAC,cAAc,CAAC;AAC5C;AACA,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM;AAC3C,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;AACpF,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B;AACA,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACrE,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE;AAC/B;AACA,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE;AACvC,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACf,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACtB,QAAQ,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE;AACpF,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE;AAClF,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7E,MAAM,CAAC;AACP,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACZ,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACtB,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;AACzD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;AAC5F,MAAM,CAAC;AACP,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;AACd,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG;AAC1D,EAAE,CAAC;AACH;AACA,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB,QAAQ,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AAC/B,QAAQ,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe;AACpG,QAAQ,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AACnF,QAAQ,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE;AACxD,QAAQ,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;AAC/C,QAAQ,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE;AACrE,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7B,QAAQ,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG;AACzE,QAAQ,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;AACpF,QAAQ,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE;AACnE,QAAQ,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,QAAQ,SAAS,CAAC;AAClB,QAAQ,QAAQ,CAAC;AACjB,QAAQ,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3B;AACA,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACpC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1B,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AACtC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACzD,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE;AAC1C,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO;AACxE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3C,MAAM,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE;AAC1C,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE;AAC9D;AACA,MAAM,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AACjF,IAAI,CAAC;AACL;AACA,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE;AACxH;AACA,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;AAC7D,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACvD,MAAM,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;AAC/F,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACZ,MAAM,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9H;AACA,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;AACvF,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AACrC,QAAQ,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,MAAM;AAC9D,QAAQ,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE;AAC1H,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;AAC3E,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAChC,QAAQ,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACnC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC;AACvF,YAAY,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACrC,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,aAAa,EAAE;AAC1D,kBAAkB,YAAY,CAAC,CAAC,CAAC,GAAG;AACpC;AACA,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3B,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,kBAAkB,aAAa,CAAC,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,GAAG;AAChF,gBAAgB,CAAC;AACjB;AACA,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnC,kBAAkB,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AACnD,gBAAgB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AACxE,kBAAkB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG;AACnE,kBAAkB,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC;AACxB,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC9C,oBAAoB,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;AACpD,kBAAkB,CAAC;AACnB,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAChI,kBAAkB,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG;AACzD,gBAAgB,CAAC;AACjB;AACA,gBAAgB,aAAa,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,GAAG;AAC9F,cAAc,CAAC;AACf,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;AACpB,cAAc,KAAK,CAAC;AACpB,YAAY,CAAC;AACb,UAAU,CAAC;AACX;AACA,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ;AACzB,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACnC,YAAY,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,SAAS;AACtE,UAAU,CAAC;AACX,QAAQ,CAAC;AACT,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK;AACjI,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAG;AAC3E;AACA,QAAQ,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC;AACrG,QAAQ,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC;AAC/J,YAAY,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;AAC3K;AACA,QAAQ,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG;AACvG,QAAQ,EAAE,CAAC,IAAI,EAAE;AACjB,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB;AAClH,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3C,MAAM,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtD,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB;AACjG,MAAM,EAAE,CAAC,IAAI,EAAE;AACf,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI;AAC9F,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG;AAC7E;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AAC9C,MAAM,YAAY,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACrF,IAAI,CAAC;AACL;AACA,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;AAC/B,IAAI,WAAW,CAAC,WAAW,CAAC,aAAa,EAAE;AAC3C;AACA,IAAI,IAAI,CAAC,aAAa,GAAG;AACzB;AACA,IAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG;AAC3B,EAAE,CAAC;AACH;AACA,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;AACpB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AAClG,EAAE,CAAC;AACH;AACA,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;AACpB,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,GAAG,CAAC,MAAM,CAAC;AACtC;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;AAC7B,MAAM,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE;AAC1D,UAAU,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;AACpE;AACA,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;AACxC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;AAC1D,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE;AACtE;AACA,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACxD,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE;AACtC,YAAY,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG;AAC3D,YAAY,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE;AAC9F,YAAY,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,GAAG;AACrD,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,GAAG;AACnD,YAAY,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,GAAG;AACpD,YAAY,IAAI,CAAC;AACjB;AACA,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;AACpC,QAAQ,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;AAC5C,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;AACrE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC/B,QAAQ,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;AAClE,QAAQ,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE;AAC3D,QAAQ,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;AACvC;AACA,QAAQ,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;AACvD;AACA,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjD,UAAU,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,GAAG;AAChD,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9F,UAAU,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,GAAG;AACnD,UAAU,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE;AACpC,QAAQ,CAAC;AACT;AACA,QAAQ,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;AACnD,QAAQ,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE;AACrD,QAAQ,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE;AACnC;AACA,QAAQ,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;AACrD,QAAQ,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,GAAG;AACnD,QAAQ,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;AACtC;AACA,QAAQ,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE;AACzC,QAAQ,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE;AACxC,QAAQ,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,EAAE;AACpD,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,IAAI,CAAC,oBAAoB,GAAG;AAChC;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AACjF,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACzB,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC;AAC3B,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC;AACzC;AACA,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;AACjE,QAAQ,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,GAAG;AACxD,QAAQ,UAAU,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE;AACzC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;AACrD,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,eAAe,EAAE;AACzD;AACA,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AACjD,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC;AAC/E;AACA,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AACrB,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE;AACzG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,eAAe,EAAE;AACjF,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACZ,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG;AAC/C,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG;AACnE,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACtC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;AACzD,QAAQ,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE;AACpC;AACA,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC9C,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;AAC9B;AACA,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7E,QAAQ,MAAM,CAAC,MAAM,CAAC;AACtB,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,MAAM,CAAC,IAAI,CAAC;AAChB,EAAE,CAAC;AACH;AACA,EAAE,uBAAuB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AACzC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;AACxE,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;AAChE,UAAU,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,QAAQ,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;AAC/F;AACA,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC9C,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;AAC9B;AACA,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;AAC7C;AACA,MAAM,EAAE,CAAC,CAAC;AACV,QAAQ,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;AACnG,QAAQ,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;AACpG,QAAQ,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,gBAAgB;AACjG,MAAM,CAAC,CAAC,CAAC;AACT,QAAQ,MAAM,CAAC,MAAM,CAAC;AACtB,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,MAAM,CAAC,IAAI,CAAC;AAChB,EAAE,CAAC;AACH;AACA,EAAE,mBAAmB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AACpC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG;AAClD;AACA,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;AACvF,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;AACxF;AACA,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;AACtE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;AAC1D,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE;AACpF,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE;AACjF,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE;AACpF,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE;AAC3E,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD;AACA,IAAI,MAAM,CAAC,MAAM,CAAC;AAClB,EAAE,CAAC;AACH;AACA,EAAE,0BAA0B,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AAC5C,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACzD;AACA,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;AACrB;AACA,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACvE,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,EAAE;AACvD;AACA,MAAM,EAAE,CAAC,CAAC;AACV,QAAQ,YAAY,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,EAAE;AAC3J,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;AAC5E,MAAM,CAAC,CAAC,CAAC;AACT,QAAQ,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;AAC7B,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG;AAC1D,EAAE,CAAC;AACH;AACA,EAAE,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AACjC,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE;AAC/C,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;AAC3F,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;AACzF;AACA,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5F,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE;AACtD,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/B;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE;AACrC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,GAAG;AAC5D,QAAQ,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE;AACtC;AACA,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE;AACvD;AACA,IAAI,MAAM,CAAC,WAAW,CAAC;AACvB,EAAE,CAAC;AACH;AACA,EAAE,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;AAC/C;AACA,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;AAC5C;AACA,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;AAC/C;AACA,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE;AACpC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE;AACxD,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG;AAC1C;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG;AACxD,EAAE,CAAC;AACH;AACA,EAAE,gBAAgB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AAClC,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,GAAG;AACzG;AACA,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;AACxE;AACA,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE;AACnE;AACA,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;AACzB,MAAM,EAAE,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrC,QAAQ,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;AAC3D;AACA,QAAQ,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE;AAC/C,QAAQ,gBAAgB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE;AAC3E,QAAQ,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG;AAC9C,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG;AAC1D,MAAM,MAAM,CAAC;AACb,IAAI,CAAC;AACL;AACA,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB,QAAQ,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;AAC/C,QAAQ,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AACnD;AACA,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,IAAI,IAAI,CAAC,oBAAoB,GAAG;AAChC;AACA,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AACvC,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;AACtD;AACA,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7F,QAAQ,IAAI,CAAC,oBAAoB,GAAG;AACpC,QAAQ,MAAM,CAAC;AACf,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE;AACzE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9C,QAAQ,aAAa,CAAC,CAAC,CAAC,CAAC;AACzB,UAAU,IAAI,CAAC,CAAC,aAAa,CAAC;AAC9B,UAAU,KAAK,CAAC,CAAC,aAAa;AAC9B,QAAQ,EAAE;AACV,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,QAAQ,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;AACzC,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;AACtF,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;AACrF;AACA,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,IAAI,EAAE;AACnH;AACA,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AACpB,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE;AACtD,MAAM,CAAC;AACP;AACA,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;AACrC;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE;AACjG;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3B,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;AAClC,MAAM,CAAC;AACP;AACA,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG;AAClD,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;AACzC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;AAC7C,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;AAC7B;AACA,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE;AACzD,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG;AAC5C;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG;AAC1D,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC9C,MAAM,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;AAC3E;AACA,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxE,QAAQ,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE;AACtC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AAChD,QAAQ,QAAQ,CAAC,cAAc,EAAE;AACjC,MAAM,CAAC;AACP,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACZ,MAAM,QAAQ,EAAE;AAChB,QAAQ,IAAI,CAAC,CAAC,WAAW,CAAC;AAC1B,QAAQ,KAAK,CAAC,CAAC,WAAW;AAC1B,MAAM,GAAG;AACT,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,GAAG;AACL,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;AACxB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;AACtB,KAAK,EAAE;AACP,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/B,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7B,QAAQ,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;AACrC,QAAQ,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG;AAC1C,QAAQ,WAAW,CAAC;AACpB;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,GAAG,CAAC,CAAC;AAC7C,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,GAAG,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG;AACxI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK;AAC1F,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnB,MAAM,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG;AACpC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACZ,MAAM,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1B,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC3B,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,IAAI;AAC5F,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACrC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,IAAI;AAC/F,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACZ,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI;AACnF,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,IAAI;AAC5F,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACtB,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC;AAC/F;AACA,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE;AAC3D,QAAQ,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE;AACrD,QAAQ,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE;AAC1D,QAAQ,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,GAAG;AACtD,QAAQ,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE;AACvD,QAAQ,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9D,QAAQ,EAAE,CAAC;AACX,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE;AAChD,QAAQ,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACtD,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/L,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,SAAS,EAAE;AACpF,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;AACpE,UAAU,CAAC,CAAC,IAAI,CAAC;AACjB,QAAQ,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzL,QAAQ,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5L,QAAQ,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE;AAC9C;AACA,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;AAC5D;AACA,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AAC5B,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;AAChF,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;AAClF,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW;AAC5G,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;AAC7D,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;AACrD,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;AAC7E,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;AAC3C,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE;AACjD;AACA,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,GAAG,KAAK,IAAI;AACxD;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAChD,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACvE,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;AACrD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5G,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5B,UAAU,KAAK,CAAC;AAChB,QAAQ,CAAC;AACT,MAAM,CAAC;AACP,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACZ,MAAM,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE;AAChD,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE;AAC1B,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE;AACxB,IAAI,CAAC;AACL;AACA,IAAI,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG;AACrD;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AAC9C,MAAM,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,GAAG;AACtF,IAAI,CAAC;AACL;AACA,IAAI,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE;AACnC,IAAI,cAAc,CAAC,WAAW,CAAC,OAAO,EAAE;AACxC,IAAI,cAAc,CAAC,WAAW,CAAC,cAAc,EAAE;AAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AACzC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AACzC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;AAC3C,IAAI,SAAS,CAAC,WAAW,CAAC,cAAc,EAAE;AAC1C,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;AAChC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;AACjD,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE;AACjC;AACA,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;AAC1C;AACA,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC;AACnC,QAAQ,oBAAoB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,QAAQ,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,QAAQ,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,QAAQ,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,QAAQ,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,QAAQ,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE;AACnD,QAAQ,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE;AAClD,QAAQ,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,QAAQ,WAAW,CAAC,CAAC,CAAC,CAAC;AACvB,UAAU,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;AACjD,kBAAkB,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;AACtD,kBAAkB,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;AACvD,kBAAkB,SAAS,CAAC,SAAS,CAAC,iBAAiB,EAAE;AACzD,UAAU,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;AACnD,kBAAkB,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;AACrD,kBAAkB,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;AACxD,kBAAkB,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC;AACvD,QAAQ,EAAE;AACV,QAAQ,UAAU,CAAC,CAAC,CAAC,CAAC;AACtB,UAAU,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAClC,kBAAkB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;AAClD,kBAAkB,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,UAAU,KAAK,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACpC,kBAAkB,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;AACnD,kBAAkB,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,QAAQ,EAAE;AACV,QAAQ,cAAc,CAAC;AACvB;AACA,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;AACzC;AACA,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD;AACA,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;AAC1C;AACA,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC;AAC9D,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;AAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;AAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;AAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC;AACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;AAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;AAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;AAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC;AACtE,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;AAC3D,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;AAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;AAC9D;AACA,IAAI,IAAI,CAAC,eAAe,GAAG;AAC3B,EAAE,CAAC;AACH;AACA,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC;AACxB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB,QAAQ,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;AAC1C,QAAQ,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;AAC3C,QAAQ,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;AAC1D,QAAQ,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC;AACxD,QAAQ,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;AACtC;AACA,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;AAC3D,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC3G,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;AAC9D,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;AAC5G,EAAE,CAAC;AACH;AACA,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACxB,IAAI,IAAI,CAAC,iBAAiB,GAAG;AAC7B;AACA,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;AAChD,QAAQ,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC1C,QAAQ,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;AAClD,QAAQ,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;AAClD,QAAQ,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;AACpD,QAAQ,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;AAC1D,QAAQ,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;AAChD,QAAQ,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;AAChD,QAAQ,eAAe,CAAC;AACxB,QAAQ,UAAU,CAAC;AACnB,QAAQ,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,QAAQ,SAAS,CAAC;AAClB,QAAQ,UAAU,CAAC;AACnB,QAAQ,SAAS,CAAC;AAClB,QAAQ,kBAAkB,CAAC;AAC3B,QAAQ,QAAQ,CAAC;AACjB,QAAQ,QAAQ,CAAC;AACjB;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAClC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AACjE,MAAM,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;AACrF;AACA,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;AAChM;AACA,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;AAC7F,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,QAAQ,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AAC5C,MAAM,CAAC;AACP;AACA,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;AACpE,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1C,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACvC,MAAM,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClI,MAAM,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;AACjF,MAAM,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC9F,MAAM,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;AACtE;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AAClE,QAAQ,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;AACnF,MAAM,CAAC;AACP;AACA,MAAM,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;AAC7B,MAAM,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;AACvH,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACpI,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACnD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,GAAG;AAC9E,MAAM,CAAC;AACP;AACA,MAAM,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;AAC3F,MAAM,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;AACtD,MAAM,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC9F,MAAM,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG;AAC1C,IAAI,CAAC;AACL;AACA,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1B,MAAM,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;AAClC,MAAM,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE;AACzB,MAAM,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjC,IAAI,GAAG;AACP;AACA,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/B,MAAM,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;AACxC,MAAM,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;AAC9B,MAAM,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1C,IAAI,GAAG;AACP;AACA,IAAI,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU;AAC/G,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;AACjE;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;AACtK,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;AAC5F,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACrD,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,GAAG;AACzM,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG;AAC/E,EAAE,CAAC;AACH;AACA,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AAC3B;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACtC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACtB;AACA,MAAM,IAAI,CAAC,WAAW,GAAG;AACzB;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AACpC,QAAQ,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAChF,UAAU,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG;AACpC,QAAQ,GAAG;AACX,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACzC,QAAQ,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC7C,UAAU,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG;AACpC,QAAQ,EAAE;AACV,QAAQ,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,iBAAiB,EAAE;AAChF,QAAQ,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,iBAAiB,EAAE;AAChF,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACtI,QAAQ,IAAI,CAAC,YAAY,EAAE,iBAAiB,GAAG;AAC/C,QAAQ,IAAI,CAAC,YAAY,EAAE,iBAAiB,GAAG;AAC/C,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE;AAC1C,EAAE,CAAC;AACH;AACA,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;AACf,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;AAClC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;AACrC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG;AAClD;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AACvC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,GAAG;AACjD,MAAM,MAAM,CAAC;AACb,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9D,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AACvD,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;AACrB,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,GAAG,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK;AACtE;AACA,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB,QAAQ,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;AAC7D,QAAQ,GAAG,CAAC;AACZ,QAAQ,YAAY,CAAC;AACrB,QAAQ,YAAY,CAAC;AACrB,QAAQ,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3C,UAAU,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,GAAG;AACvC,cAAc,iBAAiB,CAAC,CAAC,CAAC,GAAG;AACrC,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG;AAC/F,cAAc,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE;AACtG;AACA,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,GAAG,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG;AACxG,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,KAAK;AACpH,UAAU,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG;AAC9G,UAAU,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;AAChC;AACA,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5C,YAAY,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE;AAC7C,YAAY,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE;AACpE,YAAY,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;AAC/F,YAAY,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC;AAClG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;AAClB,YAAY,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;AAC/C,UAAU,CAAC;AACX;AACA,UAAU,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;AAClG;AACA,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW;AACzD,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACrC,YAAY,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;AAC9E,YAAY,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;AAClE,UAAU,CAAC;AACX;AACA,UAAU,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;AACxD;AACA,UAAU,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACvC,YAAY,GAAG,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG;AACzF,YAAY,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG;AAC5F,YAAY,KAAK,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjD,UAAU,GAAG;AACb,QAAQ,EAAE;AACV;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAChD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AAC9B,QAAQ,MAAM,CAAC;AACf,MAAM,CAAC;AACP;AACA,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE;AACpC;AACA,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE;AAC9C,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG;AAC3G,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE;AAC9C,IAAI,GAAG;AACP;AACA,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACrC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE;AACzE;AACA,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE;AAClD,IAAI,EAAE;AACN,IAAI,IAAI,CAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE;AAC3E,IAAI,IAAI,CAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE;AAC3E;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC5D,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE;AAChD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE;AACjG,IAAI,GAAG;AACP,EAAE,CAAC;AACH;AACA,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7B,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AACvD;AACA,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE;AACtG,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;AAC1E,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;AAC3C;AACA,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7B;AACA,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AAC7C,QAAQ,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;AAC5C,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AACzB,QAAQ,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AACpC,MAAM,CAAC;AACP;AACA,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAC3B;AACA,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE;AAC7D,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,eAAe,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AAClC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB;AACA,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1B;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;AAClG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/E,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE;AAC1F,YAAY,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AACnC;AACA,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACrB,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACtC,YAAY,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AACrC,UAAU,CAAC;AACX;AACA,UAAU,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AACnC,QAAQ,CAAC;AACT,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;AACtF,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE;AACjG,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,GAAG;AACL,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO;AACvE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU;AAClG,KAAK,EAAE;AACP,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClC,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnE;AACA,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAC5B,QAAQ,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;AAC9D,QAAQ,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;AACjD,QAAQ,UAAU,CAAC;AACnB,QAAQ,CAAC,CAAC;AACV,QAAQ,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,kBAAkB,EAAE;AACzF;AACA,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AACjC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AACjC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC3D,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/C,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE;AACvC,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;AACpB;AACA,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;AACtB;AACA,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnB,MAAM,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;AAChC,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE;AAC9C;AACA,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AACrB,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;AACjC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;AAChD,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACZ,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;AAC3B,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE;AAC/C;AACA,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrB,QAAQ,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;AAC9C,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5B,UAAU,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;AACjD,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AAChB,UAAU,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,GAAG;AAC7C,QAAQ,CAAC;AACT,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AACjG,MAAM,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;AAC1C;AACA,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;AACnC,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,GAAG;AACL,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ;AACjE,KAAK,EAAE;AACP,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACxB,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;AACnC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAC5B,QAAQ,CAAC,CAAC;AACV;AACA,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;AACpB;AACA,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;AACtB;AACA,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;AACvD;AACA,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;AACxD;AACA,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrB,QAAQ,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;AAClD,QAAQ,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;AACvC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,GAAG;AAC3C,QAAQ,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE;AACtC,MAAM,CAAC;AACP,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;AACjB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AACjC,EAAE,CAAC;AACH;AACA,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;AACpB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE;AACzD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE;AACrD,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;AACtD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACZ,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChE,QAAQ,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE;AAC9D,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE;AAC1D,QAAQ,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;AACzD,MAAM,CAAC;AACP,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;AACpB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB;AACA,IAAI,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5B;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;AACnE,QAAQ,CAAC,CAAC,cAAc,GAAG;AAC3B,QAAQ,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;AAChC,MAAM,CAAC;AACP,IAAI,GAAG;AACP;AACA,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1B,QAAQ,IAAI,CAAC,WAAW,GAAG;AAC3B,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AACnC,YAAY,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;AACtC,YAAY,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;AAC9C,YAAY,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE;AACpD,YAAY,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5F;AACA,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvB,UAAU,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE;AAC5C,QAAQ,CAAC;AACT;AACA,QAAQ,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC;AACA,QAAQ,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE;AACzD,QAAQ,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG;AAC9C,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI;AAChD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AAChE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AACtC,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG;AACjC,QAAQ,CAAC;AACT;AACA,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;AAC/B,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAClC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC9B,YAAY,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;AAC3C;AACA,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7E,UAAU,CAAC,CAAC,wBAAwB,GAAG;AACvC,UAAU,cAAc,CAAC,CAAC,EAAE;AAC5B,QAAQ,CAAC;AACT,MAAM,GAAG;AACT,IAAI,CAAC;AACL;AACA,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC1B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AACpC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG;AAC/B,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG;AAC/B,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;AACnC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAClF,QAAQ,QAAQ,GAAG;AACnB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,qBAAqB,CAAC,iBAAiB,EAAE;AACjD,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC7D,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC1E,QAAQ,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AACpE,MAAM,CAAC;AACP;AACA,MAAM,qBAAqB,CAAC,iBAAiB,EAAE;AAC/C,IAAI,GAAG;AACP;AACA,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;AACrF,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACrE,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;AACvC,UAAU,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,UAAU,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;AACxF,UAAU,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE;AACxE;AACA,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE;AAC/C,IAAI,GAAG;AACP;AACA,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;AAClC,IAAI,GAAG;AACP;AACA,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5L,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1D,QAAQ,CAAC,CAAC,cAAc,GAAG;AAC3B,QAAQ,CAAC,CAAC,eAAe,GAAG;AAC5B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC;AAC5H,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG;AACjC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AAChB,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG;AAC9B,QAAQ,CAAC;AACT,MAAM,CAAC;AACP,IAAI,GAAG;AACP;AACA,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,MAAM,CAAC,CAAC,cAAc,GAAG;AACzB,MAAM,CAAC,CAAC,eAAe,GAAG;AAC1B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AACpC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG;AAC/B,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG;AAC5B,MAAM,CAAC;AACP,IAAI,GAAG;AACP;AACA,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC9I,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG;AAC3B,IAAI,GAAG;AACP;AACA,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,MAAM,CAAC,CAAC,cAAc,GAAG;AACzB,MAAM,CAAC,CAAC,eAAe,GAAG;AAC1B,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI;AACrE,IAAI,GAAG;AACP;AACA,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,MAAM,CAAC,CAAC,cAAc,GAAG;AACzB,MAAM,CAAC,CAAC,eAAe,GAAG;AAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI;AACpE,IAAI,GAAG;AACP;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AACzB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,QAAQ,CAAC,CAAC,eAAe,GAAG;AAC5B,MAAM,GAAG;AACT,IAAI,CAAC;AACL;AACA,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AACpC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG;AAC/B,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG;AAC5B,MAAM,CAAC;AACP;AACA,MAAM,CAAC,CAAC,cAAc,GAAG;AACzB,MAAM,CAAC,CAAC,eAAe,GAAG;AAC1B;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;AACrD,QAAQ,IAAI,CAAC,SAAS,GAAG;AACzB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,IAAI,CAAC,WAAW,GAAG;AAC3B,MAAM,CAAC;AACP,IAAI,GAAG;AACP;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,GAAG;AAC3D;AACA,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO;AACpD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACvE,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO;AAC/G,QAAQ,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE;AAChD,QAAQ,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO;AACpE,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;AAClD,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnD,MAAM,CAAC;AACP,IAAI,GAAG;AACP;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ;AAC/C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACzE,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC/E,QAAQ,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;AAC1C,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,MAAM,CAAC;AACP,IAAI,GAAG;AACP;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAClD,MAAM,IAAI,CAAC,MAAM,GAAG;AACpB,MAAM,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAChD,QAAQ,YAAY,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE;AAC1C,QAAQ,UAAU,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE;AACxC,QAAQ,aAAa,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC1C,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AAChB,MAAM,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9B,IAAI,GAAG;AACP;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACjD,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG;AACpD,IAAI,GAAG;AACP,EAAE,CAAC;AACH;AACA,EAAE,aAAa,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AAClD,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB,QAAQ,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AAC/B,QAAQ,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC;AACzC,QAAQ,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,QAAQ,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;AAC9H,QAAQ,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;AAC7C,QAAQ,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;AAC/C,QAAQ,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;AAC1C,QAAQ,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE;AAChD,QAAQ,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACxF,QAAQ,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7B;AACA,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;AACvC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,MAAM,CAAC,CAAC,eAAe,GAAG;AAC1B,IAAI,CAAC;AACL;AACA,IAAI,CAAC,CAAC,cAAc,GAAG;AACvB;AACA,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ;AAC1C,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC5E,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;AACtC,UAAU,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;AAClC,UAAU,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/E,YAAY,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE;AACxF,UAAU,GAAG;AACb,UAAU,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,UAAU,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC;AAC7G,UAAU,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC1D,UAAU,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACzD,UAAU,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;AAC5F;AACA,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;AACrE;AACA,MAAM,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;AAC1B,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;AACpD,QAAQ,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AACvC,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM;AAC/F,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE;AACxD,QAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE;AAC5C,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;AAC5D,QAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE;AAC9C,QAAQ,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG;AACnC;AACA,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAC7E,cAAc,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC;AACA,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC9C,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAChE,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,oBAAoB,GAAG;AACxE,YAAY,CAAC;AACb,UAAU,CAAC;AACX;AACA,UAAU,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC;AACnE;AACA,UAAU,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;AAC/E,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,cAAc,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,cAAc,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;AACzC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAChE,gBAAgB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE;AACjD,gBAAgB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE;AACzF,cAAc,CAAC;AACf;AACA,cAAc,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE;AAClD,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;AACpB,cAAc,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;AAC9K,kBAAkB,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;AACpI,kBAAkB,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE;AACvE,kBAAkB,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE;AAC7E,kBAAkB,MAAM,CAAC,CAAC,CAAC,cAAc,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI;AACxE;AACA,cAAc,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AAC5C;AACA,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AAC7C,gBAAgB,MAAM,CAAC,WAAW,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK;AAChF,gBAAgB,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;AACtC,gBAAgB,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG;AACzC,cAAc,CAAC;AACf;AACA,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AACnD,gBAAgB,MAAM,CAAC,WAAW,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK;AACnF,gBAAgB,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;AACtC,gBAAgB,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG;AAC5C,cAAc,CAAC;AACf;AACA,cAAc,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACtC,gBAAgB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE;AACrD,cAAc,EAAE,CAAC,EAAE,EAAE;AACrB;AACA,cAAc,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG;AAC9C;AACA,cAAc,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACtC,gBAAgB,MAAM,CAAC,MAAM,GAAG;AAChC,cAAc,EAAE,CAAC,IAAI,EAAE;AACvB,YAAY,CAAC;AACb,UAAU,CAAC;AACX,QAAQ,CAAC;AACT,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE;AACjG;AACA,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/E,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG;AAC5B,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAC3C,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG;AAC/B,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AAChC,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AAC1B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;AACnE,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE;AACxE,UAAU,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG;AAChD,QAAQ,CAAC;AACT,MAAM,CAAC;AACP,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;AACzB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,MAAM,CAAC,CAAC,eAAe,GAAG;AAC1B,IAAI,GAAG;AACP,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,MAAM,CAAC,CAAC,eAAe,GAAG;AAC1B,IAAI,GAAG;AACP,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,MAAM,CAAC,CAAC,eAAe,GAAG;AAC1B,IAAI,GAAG;AACP,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACtI,QAAQ,CAAC,CAAC,cAAc,GAAG;AAC3B,QAAQ,CAAC,CAAC,eAAe,GAAG;AAC5B,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACpD,MAAM,CAAC;AACP,IAAI,GAAG;AACP;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACnD,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC7C;AACA,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;AAC7C,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;AACzC;AACA,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AACxB,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;AAC7D;AACA,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACzC,UAAU,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACtC,YAAY,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE;AACzD,YAAY,IAAI,CAAC,MAAM,GAAG;AAC1B,YAAY,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE;AAC5C,YAAY,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,YAAY,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,YAAY,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AAClC,YAAY,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;AACjF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACvC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AAChB,UAAU,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG;AAC/B,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,GAAG;AAC5C,cAAc,KAAK,CAAC,CAAC,CAAC,GAAG;AACzB,cAAc,QAAQ,CAAC,CAAC,CAAC,GAAG;AAC5B,cAAc,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG;AAChD,cAAc,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;AACjE;AACA,UAAU,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE;AACtD;AACA,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACxE,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;AACpD;AACA,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5B,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,eAAe,EAAE;AAC3E,YAAY,CAAC;AACb;AACA,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtG,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,gBAAgB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,gBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;AAClD,cAAc,CAAC;AACf;AACA,cAAc,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,cAAc,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;AAC5C;AACA,cAAc,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,YAAY,CAAC;AACb;AACA,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE;AAC3E,UAAU,CAAC;AACX;AACA,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1E,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE;AACpC,gBAAgB,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5C,gBAAgB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AAC5D,gBAAgB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AAChE;AACA,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACxI,cAAc,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACzD,cAAc,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG;AACvE,YAAY,CAAC;AACb,UAAU,CAAC;AACX;AACA,UAAU,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AACzC,UAAU,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/B,UAAU,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,UAAU,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;AAC1D,UAAU,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AAChC,UAAU,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE;AAC7D,QAAQ,CAAC;AACT,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AAC1D,QAAQ,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;AAC/B,MAAM,CAAC;AACP;AACA,MAAM,IAAI,CAAC,oBAAoB,GAAG;AAClC,IAAI,GAAG;AACP,EAAE,CAAC;AACH;AACA,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;AACnB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;AACtD,EAAE,CAAC;AACH;AACA,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;AACf,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AAC/B;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxB,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;AACtB,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACxD,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE;AAC/E,MAAM,CAAC;AACP,MAAM,MAAM,CAAC,MAAM,CAAC;AACpB,IAAI,CAAC;AACL;AACA,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;AACzB,EAAE,CAAC;AACH;AACA,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACf,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AAC/B;AACA,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;AACvC,MAAM,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE;AAC1D,UAAU,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE;AAClE;AACA,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE;AACjD;AACA,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;AACnD;AACA,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE;AACxB;AACA,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACxD,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE;AACtC;AACA,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,UAAU,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE;AACxC,QAAQ,CAAC;AACT,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM;AACpE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1D,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,UAAU,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AACvC,UAAU,MAAM,CAAC,IAAI,CAAC;AACtB,QAAQ,CAAC;AACT;AACA,QAAQ,MAAM,CAAC,KAAK,CAAC;AACrB,MAAM,EAAE,CAAC,IAAI,EAAE;AACf;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE;AAC5F;AACA,MAAM,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAChD,QAAQ,YAAY,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE;AAC1C,QAAQ,UAAU,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE;AACxC,QAAQ,aAAa,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC1C,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AAChB;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AAChE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5B,UAAU,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;AACrC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AAChB,UAAU,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC;AACvF;AACA,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACpD,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE;AACpF,UAAU,CAAC;AACX,QAAQ,CAAC;AACT,MAAM,CAAC;AACP;AACA,MAAM,IAAI,CAAC,MAAM,GAAG;AACpB;AACA,MAAM,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9B;AACA,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACZ,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG;AAC7B,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACtB,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;AAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD;AACA,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AAC/B,QAAQ,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,QAAQ,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,QAAQ,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;AAC/C;AACA,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG;AAC9C;AACA,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7F,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;AAC3B,UAAU,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AACjC;AACA,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACpE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,GAAG;AAChD,QAAQ,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AACjC,QAAQ,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe,GAAG;AAC/C,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG;AACjD;AACA,IAAI,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;AACrD;AACA,IAAI,IAAI,CAAC,eAAe,GAAG;AAC3B;AACA,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE;AAC/C;AACA,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG;AAC1C,EAAE,CAAC;AACH;AACA,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;AAChB,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;AAChC,EAAE,CAAC;AACH;AACA,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;AAClB,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACjC,EAAE,CAAC;AACH;AACA,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACrB,IAAI,GAAG,CAAC,QAAQ,CAAC;AACjB,QAAQ,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;AAC5C;AACA,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG;AACpD;AACA,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAClC,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE;AACrE,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE;AACvG,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG;AAC9C,EAAE,CAAC;AACH;AACA,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AACzB,EAAE,CAAC;AACH;AACA,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;AAC1B,EAAE,CAAC;AACH;AACA,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACrC,QAAQ,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG;AAC5D,QAAQ,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG;AAC/B,QAAQ,KAAK,CAAC;AACd,QAAQ,QAAQ,CAAC;AACjB,QAAQ,QAAQ,CAAC;AACjB,QAAQ,QAAQ,CAAC;AACjB,QAAQ,SAAS,CAAC;AAClB,QAAQ,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7B,QAAQ,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;AACrF,QAAQ,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;AAC3D,QAAQ,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;AAC7C,QAAQ,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG;AACrC,QAAQ,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E;AACA,IAAI,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO;AAC9C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAC7C;AACA,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE;AAC7D;AACA,IAAI,EAAE,CAAC,CAAC;AACR,MAAM,CAAC,QAAQ,CAAC,EAAE;AAClB,QAAQ,CAAC;AACT,UAAU,UAAU,CAAC,EAAE;AACvB,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AACzC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;AAC1C,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;AACtC,QAAQ,CAAC;AACT,IAAI,CAAC,CAAC,CAAC;AACP,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG;AAC3B;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AACpC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG;AAC/B,QAAQ,MAAM,CAAC;AACf,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChD,MAAM,CAAC,CAAC,cAAc,GAAG;AACzB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG;AAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG;AAC1B,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI;AACtC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AAChC;AACA,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;AACpC,MAAM,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtG;AACA,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;AACnC,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;AAC9C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;AAClC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;AACzD;AACA,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;AACtE,UAAU,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChH,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,QAAQ,CAAC;AACT,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI;AACtE,QAAQ,KAAK,GAAG;AAChB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC;AAChI;AACA,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;AACtE,UAAU,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE;AAC7G,QAAQ,CAAC;AACT,MAAM,CAAC;AACP;AACA,MAAM,CAAC,CAAC,cAAc,GAAG;AACzB;AACA,MAAM,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5C;AACA,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;AAC9C,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM;AACrD,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,UAAU,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;AACjE;AACA,UAAU,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AAChB,UAAU,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE;AACnE;AACA,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK;AACnD,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzB,YAAY,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC5D;AACA,YAAY,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,UAAU,CAAC;AACX,QAAQ,CAAC;AACT,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI;AACtE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM;AACnD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;AACnE,UAAU,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC;AACA,UAAU,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC;AACrE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AAChB,UAAU,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE;AACnE;AACA,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK;AACnD,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzB,YAAY,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;AAC1E;AACA,YAAY,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,UAAU,CAAC;AACX,QAAQ,CAAC;AACT,MAAM,CAAC;AACP;AACA,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE;AACnE;AACA,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC;AACzF;AACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;AAC/B;AACA,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD;AACA,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AACpC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG;AAC/B,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,EAAE,CAAC,KAAK,GAAG;AACnB,MAAM,CAAC;AACP,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACf,MAAM,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE;AACpE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC;AAC1E,IAAI,CAAC,CAAC,CAAC;AACP,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;AACvB,UAAU,UAAU,CAAC;AACrB;AACA,MAAM,CAAC,CAAC,cAAc,GAAG;AACzB;AACA,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE;AAChE;AACA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE;AAC3H,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG;AAC3G;AACA,MAAM,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC;AACxD;AACA,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS;AAC/F,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;AACxC,QAAQ,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE;AAC1C,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO;AACrB,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACvE,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;AACnD,YAAY,QAAQ,CAAC;AACrB;AACA,QAAQ,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE;AACpE;AACA,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;AACjE,UAAU,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;AACnC,QAAQ,CAAC;AACT,MAAM,CAAC;AACP;AACA,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3B,QAAQ,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B;AACA,QAAQ,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG;AAC1C,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG;AAC1E,QAAQ,GAAG;AACX;AACA,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;AAC5E,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,UAAU,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE;AAC3D;AACA,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,YAAY,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;AAClB,YAAY,UAAU,GAAG;AACzB,UAAU,CAAC;AACX,QAAQ,CAAC;AACT;AACA,QAAQ,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI;AAC7G;AACA,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvB,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,YAAY,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC5D,YAAY,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;AAChC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;AAClB,YAAY,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;AAC1E,YAAY,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI;AACrG,YAAY,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;AACzF,UAAU,CAAC;AACX,QAAQ,CAAC;AACT;AACA,QAAQ,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE;AACvC;AACA,QAAQ,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtC;AACA,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;AACjC;AACA,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG;AAClD;AACA,QAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D;AACA,QAAQ,EAAE,CAAC,KAAK,GAAG;AACnB,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACpH,IAAI,EAAE,CAAC,CAAC;AACR,MAAM,QAAQ,CAAC,EAAE;AACjB,QAAQ,CAAC;AACT,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE;AAChF,UAAU,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACrC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;AAC9D,QAAQ,CAAC;AACT,IAAI,CAAC,CAAC,CAAC;AACP,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG;AACvD;AACA,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACjE,QAAQ,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,GAAG;AACrE,QAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;AAC3F,QAAQ,EAAE,CAAC,KAAK,GAAG;AACnB;AACA,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AACvC,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ;AACxE,UAAU,CAAC,CAAC,cAAc,GAAG;AAC7B,UAAU,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;AAClE,UAAU,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,QAAQ,CAAC;AACT,MAAM,CAAC;AACP,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AACb,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;AAC3E,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,GAAG;AAChD,EAAE,CAAC;AACH;AACA,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;AACpB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;AACrC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;AACzC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3C,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;AACvC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;AAC3C,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7C,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;AACjE,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;AACzE,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9C,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1C,EAAE,CAAC;AACH;AACA,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;AACd,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;AAC1D,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,IAAI;AACnI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AAC1B;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,MAAM,IAAI,CAAC,MAAM,GAAG;AACpB,MAAM,IAAI,CAAC,SAAS,GAAG;AACvB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACZ,MAAM,IAAI,CAAC,aAAa,GAAG;AAC3B,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAClC,QAAQ,IAAI,CAAC,MAAM,GAAG;AACtB,QAAQ,IAAI,CAAC,SAAS,GAAG;AACzB,MAAM,GAAG;AACT,IAAI,CAAC;AACL;AACA,IAAI,IAAI,CAAC,aAAa,GAAG;AACzB,IAAI,IAAI,CAAC,QAAQ,GAAG;AACpB,IAAI,IAAI,CAAC,QAAQ,GAAG;AACpB;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACvB;AACA,IAAI,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG;AAC5B,EAAE,CAAC;AACH;AACA,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;AACX,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AAC3C,EAAE,CAAC;AACH;AACA,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;AACX,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;AACvC,EAAE,CAAC;AACH;AACA,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AACb,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE;AAC5F,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;AACrC,EAAE,CAAC;AACH;AACA,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;AACd,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;AACrE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;AACrC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;AAC7E,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE;AAC9D,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC3B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE;AACjG,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACnD,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE;AAClD,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;AAC9F,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE;AACpG,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS;AACzC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACtD,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE;AACjC,MAAM,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;AAC7D,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG;AACzB;AACA,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAClC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AACnE,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE;AAC/B,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACvE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG;AAC9B,IAAI,CAAC;AACL;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG;AACvF;AACA,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;AACrC,EAAE,CAAC;AACH,CAAC;AACD;AACA,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ;AAC1C,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG;AAChC;AACA,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE;AACnC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AAC/B;AACA,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;AACvF,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7B;AACA,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;AAClF,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzB,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE;AACvC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;AAC5C,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7C,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;AAC3E,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG;AACvF,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;AACpG,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;AAC9B,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE;AAClC,EAAE,MAAM,CAAC,CAAC,CAAC;AACX,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC;AACjB,IAAI,MAAM,CAAC,CAAC,IAAI;AAChB,EAAE,EAAE;AACJ,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;AAChB,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC;AACpB,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,EAAE;AAC1B,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE;AAC1B,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;AAChC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;AACf,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC;AACpB,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC;AACpB,EAAE,kBAAkB,CAAC,CAAC,CAAC,MAAM,EAAE;AAC/B,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC;AACf,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC;AACtB,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC;AACrB,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC;AACpB,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC;AACnB,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC;AAChB,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC;AACpB,EAAE,qBAAqB,CAAC,CAAC,IAAI,CAAC;AAC9B,EAAE,mBAAmB,CAAC,CAAC,KAAK,CAAC;AAC7B,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE;AAC9B,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC;AACrB,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI;AAClC,EAAE,kBAAkB,CAAC,CAAC,CAAC,SAAS,EAAE;AAClC,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC;AACpB,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;AAChC,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;AAChC,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC;AAClB,EAAE,gBAAgB,CAAC,CAAC,KAAK,CAAC;AAC1B,EAAE,kBAAkB,CAAC,CAAC,CAAC,IAAI,EAAE;AAC7B,EAAE,sBAAsB,CAAC,CAAC,CAAC,MAAM,EAAE;AACnC,EAAE,QAAQ,CAAC,CAAC,CAAC;AACb,IAAI,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE;AACxC,EAAE,EAAE;AACJ,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC;AACpB,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC;AACpB,EAAE,kBAAkB,CAAC,CAAC,KAAK,CAAC;AAC5B,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC;AACrB,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC;AACnB,EAAE,SAAS,CAAC,CAAC,gBAAgB;AAC7B,EAAE;AACF;AACA,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACzD,EAAE,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI;AAC/C;AACA,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,OAAO,GAAG;AAChE;AACA,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AACxC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3H,MAAM,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE;AACtC,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI;AACtE;AACA,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE;AAC7H,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC9I,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE;AAC7G;AACA,EAAE,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;AAC7C,EAAE;AACF;AACA,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AACnD,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,WAAW,GAAG;AACrG,EAAE;AACF;AACA,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE;AAC7E,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;AAC1C,EAAE;AACF;AACA,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAChE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE;AAC7E,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;AAC5D;AACA,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE;AAC1C;AACA,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,IAAI,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE;AAC3C;AACA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACjD,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/D,UAAU,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;AAC3C,QAAQ,CAAC;AACT,MAAM,CAAC;AACP,IAAI,CAAC;AACL;AACA,IAAI,MAAM,CAAC,QAAQ,CAAC;AACpB,EAAE,CAAC;AACH;AACA,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;AAC/E,EAAE;AACF;AACA,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE;AACjE,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE;AACrJ;AACA,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO;AAC1E,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK;AACvE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI;AAC3E,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;AAC5E,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI;AACxE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAC1E,MAAM,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACxB,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;AACzC;AACA,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS;AAC/E,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;AACzE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG;AAClE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC;AACtB;AACA,EAAE,CAAC,CAAC,wBAAwB,GAAG;AAC/B;AACA,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE;AACjD,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC;AACvB;AACA,EAAE,GAAG,CAAC,QAAQ,CAAC;AACf,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;AAC7D,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;AACvC,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;AAC9C,MAAM,KAAK,CAAC;AACZ,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;AAC9C,EAAE,CAAC,IAAI,EAAE;AACT;AACA,QAAQ,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACxB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACrE,IAAI,CAAC,CAAC,eAAe,GAAG;AACxB,EAAE,CAAC;AACH,GAAG;AACH;AACA,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACrB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,GAAG,YAAY,GAAG;AAC3D,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3D,IAAI,YAAY,CAAC,mBAAmB,CAAC,MAAM,EAAE;AAC7C,EAAE,GAAG;AACL,CAAC;AACD;AACA,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACxC,EAAE,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,OAAO,EAAE;AACzD,CAAC,CAAC,IAAI,CAAC,CAAC;AACR,EAAE,OAAO,GAAG;AACZ,CAAC;AACD,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC;AACjB;AACA,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;AACpC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;AACrC,CAAC;AACD;AACA,MAAM,CAAC,YAAY,CAAC","file":"bootstrap-select.esm.mjs","sourcesContent":["'use strict';\n\n// Resolve Bootstrap's Dropdown component (Bootstrap 5+). It may be provided\n// by the UMD factory (`bootstrap`), or available as a global.\nfunction getDropdown () {\n var bs = bootstrap || (typeof window !== 'undefined' ? window.bootstrap : undefined);\n return (bs && bs.Dropdown) || (typeof window !== 'undefined' ? window.Dropdown : undefined);\n}\n\n// \nfunction createFromHTML (html) {\n var wrapper = document.createElement('div');\n wrapper.innerHTML = html.trim();\n return wrapper.firstChild;\n}\n\nfunction toInteger (value) {\n return parseInt(value, 10) || 0;\n}\n\nfunction offset (el) {\n var rect = el.getBoundingClientRect();\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset\n };\n}\n\n// Resolves a container option (selector string or element) to an element.\nfunction resolveContainer (container) {\n if (!container) return null;\n return typeof container === 'string' ? document.querySelector(container) : container;\n}\n\nfunction outerHeight (el, includeMargin) {\n var height = el.offsetHeight;\n if (includeMargin) {\n var style = window.getComputedStyle(el);\n height += toInteger(style.marginTop) + toInteger(style.marginBottom);\n }\n return height;\n}\n\nfunction setStyles (el, styles) {\n for (var prop in styles) {\n if (Object.prototype.hasOwnProperty.call(styles, prop)) {\n el.style[prop] = styles[prop];\n }\n }\n}\n\nfunction triggerNative (el, eventName) {\n el.dispatchEvent(new Event(eventName, { bubbles: true }));\n}\n\n// shallow array comparison\nfunction isEqual (array1, array2) {\n return array1.length === array2.length && array1.every(function (element, index) {\n return element === array2[index];\n });\n}\n\nfunction toKebabCase (str) {\n return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, function ($, ofs) {\n return (ofs ? '-' : '') + $.toLowerCase();\n });\n}\n\nfunction toCamelCase (str) {\n return str.replace(/-([a-z])/g, function (m, letter) {\n return letter.toUpperCase();\n });\n}\n\n// Read options from data-* attributes using native values where possible.\nfunction convertDataValue (value) {\n if (value === 'true') return true;\n if (value === 'false') return false;\n if (value === 'null') return null;\n if (value === +value + '') return +value;\n if (/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/.test(value)) {\n try {\n return JSON.parse(value);\n } catch (e) {\n return value;\n }\n }\n return value;\n}\n\nfunction getDataset (el) {\n var dataset = {},\n attributes = el.attributes;\n\n for (var i = 0; i < attributes.length; i++) {\n var name = attributes[i].name;\n if (name.indexOf('data-') === 0) {\n dataset[toCamelCase(name.slice(5))] = convertDataValue(attributes[i].value);\n }\n }\n\n return dataset;\n}\n// \n\n// \nvar DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\n\nvar uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n];\n\nvar ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n\nvar DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', 'tabindex', 'style', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n};\n\n// A pattern that recognizes a commonly useful subset of URLs that are safe.\nvar SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;\n\n// A pattern that matches safe data URLs. Only matches image, video and audio types.\nvar DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;\n\nvar ParseableAttributes = ['placeholder']; // attributes to use as settings, can add others in the future\n\nfunction applyLegacyOptions (element, config) {\n if (!config.placeholder) {\n var title = element.getAttribute('title');\n if (title) config.placeholder = title;\n }\n\n return config;\n}\n\nfunction allowedAttribute (attr, allowedAttributeList) {\n var attrName = attr.nodeName.toLowerCase();\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));\n }\n\n return true;\n }\n\n var regExp = allowedAttributeList.filter(function (value) {\n return value instanceof RegExp;\n });\n\n // Check if a regular expression validates the attribute.\n for (var i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction sanitizeHtml (unsafeElements, whiteList, sanitizeFn) {\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeElements);\n }\n\n var whitelistKeys = Object.keys(whiteList);\n\n for (var i = 0, len = unsafeElements.length; i < len; i++) {\n var elements = unsafeElements[i].querySelectorAll('*');\n\n for (var j = 0, len2 = elements.length; j < len2; j++) {\n var el = elements[j];\n var elName = el.nodeName.toLowerCase();\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el);\n\n continue;\n }\n\n var attributeList = [].slice.call(el.attributes);\n var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\n\n for (var k = 0, len3 = attributeList.length; k < len3; k++) {\n var attr = attributeList[k];\n\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName);\n }\n }\n }\n }\n}\n// \n\nfunction getAttributesObject (element) {\n var attributesObject = {},\n attrVal;\n\n ParseableAttributes.forEach(function (item) {\n attrVal = element.getAttribute(item);\n if (attrVal) attributesObject[item] = attrVal;\n });\n\n return attributesObject;\n}\n\n// \nfunction stringSearch (li, searchString, method, normalize) {\n var stringTypes = [\n 'display',\n 'subtext',\n 'tokens'\n ],\n searchSuccess = false;\n\n for (var i = 0; i < stringTypes.length; i++) {\n var stringType = stringTypes[i],\n string = li[stringType];\n\n if (string) {\n string = string.toString();\n\n // Strip HTML tags. This isn't perfect, but it's much faster than any other method\n if (stringType === 'display') {\n string = string.replace(/<[^>]+>/g, '');\n }\n\n if (normalize) string = normalizeToBase(string);\n string = string.toUpperCase();\n\n if (typeof method === 'function') {\n searchSuccess = method(string, searchString);\n } else if (method === 'contains') {\n searchSuccess = string.indexOf(searchString) >= 0;\n } else {\n searchSuccess = string.startsWith(searchString);\n }\n\n if (searchSuccess) break;\n }\n }\n\n return searchSuccess;\n}\n\nfunction normalizeSearchInput (value, normalize) {\n if (value === undefined || value === null) value = '';\n value = value.toString().trim();\n\n if (normalize && value) value = normalizeToBase(value);\n\n return value.toUpperCase();\n}\n\nfunction getOptionLabelText (option) {\n if (!option) return '';\n\n return option.title || option.text || option.value || '';\n}\n\n// Borrowed from Lodash (_.deburr)\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboMarksExtendedRange = '\\\\u1ab0-\\\\u1aff',\n rsComboMarksSupplementRange = '\\\\u1dc0-\\\\u1dff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange + rsComboMarksExtendedRange + rsComboMarksSupplementRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\nvar reComboMark = RegExp(rsCombo, 'g');\n\nfunction deburrLetter (key) {\n return deburredLetters[key];\n}\n\nfunction normalizeToBase (string) {\n string = string.toString();\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\n// List of HTML entities for escaping.\nvar escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n};\n\nvar createEscaper = function (map) {\n var escaper = function (match) {\n return map[match];\n };\n var source = '(?:' + Object.keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function (string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n};\n\nvar htmlEscape = createEscaper(escapeMap);\n// \n\n// \nvar keyCodeMap = {\n 32: ' ', 48: '0', 49: '1', 50: '2', 51: '3', 52: '4', 53: '5', 54: '6',\n 55: '7', 56: '8', 57: '9', 59: ';',\n 65: 'A', 66: 'B', 67: 'C', 68: 'D', 69: 'E', 70: 'F', 71: 'G', 72: 'H',\n 73: 'I', 74: 'J', 75: 'K', 76: 'L', 77: 'M', 78: 'N', 79: 'O', 80: 'P',\n 81: 'Q', 82: 'R', 83: 'S', 84: 'T', 85: 'U', 86: 'V', 87: 'W', 88: 'X',\n 89: 'Y', 90: 'Z',\n 96: '0', 97: '1', 98: '2', 99: '3', 100: '4', 101: '5', 102: '6',\n 103: '7', 104: '8', 105: '9'\n};\n\nvar keyCodes = {\n ESCAPE: 27,\n ENTER: 13,\n SPACE: 32,\n TAB: 9,\n ARROW_UP: 38,\n ARROW_DOWN: 40\n};\n\nvar selectId = 0;\n\nvar EVENT_KEY = '.bs.select';\n\n// Bootstrap 5 class names.\nvar classNames = {\n DISABLED: 'disabled',\n DIVIDER: 'dropdown-divider',\n SHOW: 'show',\n DROPUP: 'dropup',\n MENU: 'dropdown-menu',\n MENUEND: 'dropdown-menu-end',\n BUTTONCLASS: 'btn-light',\n POPOVERHEADER: 'popover-header',\n ICONBASE: '',\n TICKICON: 'bs-ok-default'\n};\n\nvar Selector = {\n MENU: '.' + classNames.MENU,\n DATA_TOGGLE: 'data-bs-toggle=\"dropdown\"'\n};\n\nvar elementTemplates = {\n div: document.createElement('div'),\n span: document.createElement('span'),\n i: document.createElement('i'),\n subtext: document.createElement('small'),\n a: document.createElement('a'),\n li: document.createElement('li'),\n whitespace: document.createTextNode('\\u00A0'),\n fragment: document.createDocumentFragment(),\n option: document.createElement('option')\n};\n\nelementTemplates.selectedOption = elementTemplates.option.cloneNode(false);\nelementTemplates.selectedOption.setAttribute('selected', true);\n\nelementTemplates.noResults = elementTemplates.li.cloneNode(false);\nelementTemplates.noResults.className = 'no-results';\n\nelementTemplates.a.setAttribute('role', 'option');\nelementTemplates.a.className = 'dropdown-item';\n\nelementTemplates.subtext.className = 'text-muted';\n\nelementTemplates.text = elementTemplates.span.cloneNode(false);\nelementTemplates.text.className = 'text';\n\nelementTemplates.checkMark = elementTemplates.span.cloneNode(false);\n\nvar REGEXP_ARROW = new RegExp(keyCodes.ARROW_UP + '|' + keyCodes.ARROW_DOWN);\nvar REGEXP_TAB_OR_ESCAPE = new RegExp('^' + keyCodes.TAB + '$|' + keyCodes.ESCAPE);\n\nvar generateOption = {\n li: function (content, classes, optgroup) {\n var li = elementTemplates.li.cloneNode(false);\n\n if (content) {\n if (content.nodeType === 1 || content.nodeType === 11) {\n li.appendChild(content);\n } else {\n li.innerHTML = content;\n }\n }\n\n if (typeof classes !== 'undefined' && classes !== '') li.className = classes;\n if (typeof optgroup !== 'undefined' && optgroup !== null) li.classList.add('optgroup-' + optgroup);\n\n return li;\n },\n\n a: function (text, classes, inline) {\n var a = elementTemplates.a.cloneNode(true);\n\n if (text) {\n if (text.nodeType === 11) {\n a.appendChild(text);\n } else {\n a.insertAdjacentHTML('beforeend', text);\n }\n }\n\n if (typeof classes !== 'undefined' && classes !== '') a.classList.add.apply(a.classList, classes.split(/\\s+/));\n if (inline) a.setAttribute('style', inline);\n\n return a;\n },\n\n text: function (options, useFragment) {\n var textElement = elementTemplates.text.cloneNode(false),\n subtextElement,\n iconElement;\n\n if (options.content) {\n textElement.innerHTML = options.content;\n } else {\n textElement.textContent = options.text;\n\n if (options.icon) {\n var whitespace = elementTemplates.whitespace.cloneNode(false);\n\n // need to use for icons in the button to prevent a breaking change\n iconElement = (useFragment === true ? elementTemplates.i : elementTemplates.span).cloneNode(false);\n iconElement.className = this.options.iconBase + ' ' + options.icon;\n\n elementTemplates.fragment.appendChild(iconElement);\n elementTemplates.fragment.appendChild(whitespace);\n }\n\n if (options.subtext) {\n subtextElement = elementTemplates.subtext.cloneNode(false);\n subtextElement.textContent = options.subtext;\n textElement.appendChild(subtextElement);\n }\n }\n\n if (useFragment === true) {\n while (textElement.childNodes.length > 0) {\n elementTemplates.fragment.appendChild(textElement.childNodes[0]);\n }\n } else {\n elementTemplates.fragment.appendChild(textElement);\n }\n\n return elementTemplates.fragment;\n },\n\n label: function (options) {\n var textElement = elementTemplates.text.cloneNode(false),\n subtextElement,\n iconElement;\n\n textElement.innerHTML = options.display;\n\n if (options.icon) {\n var whitespace = elementTemplates.whitespace.cloneNode(false);\n\n iconElement = elementTemplates.span.cloneNode(false);\n iconElement.className = this.options.iconBase + ' ' + options.icon;\n\n elementTemplates.fragment.appendChild(iconElement);\n elementTemplates.fragment.appendChild(whitespace);\n }\n\n if (options.subtext) {\n subtextElement = elementTemplates.subtext.cloneNode(false);\n subtextElement.textContent = options.subtext;\n textElement.appendChild(subtextElement);\n }\n\n elementTemplates.fragment.appendChild(textElement);\n\n return elementTemplates.fragment;\n }\n};\n\nvar getOptionData = {\n fromOption: function (option, type) {\n var value;\n\n switch (type) {\n case 'divider':\n value = option.getAttribute('data-divider') === 'true';\n break;\n\n case 'text':\n value = option.textContent;\n break;\n\n case 'label':\n value = option.label;\n break;\n\n case 'style':\n value = option.style.cssText;\n break;\n\n case 'title':\n value = option.title;\n break;\n\n default:\n value = option.getAttribute('data-' + toKebabCase(type));\n break;\n }\n\n return value;\n },\n fromDataSource: function (option, type) {\n var value;\n\n switch (type) {\n case 'text':\n case 'label':\n value = option.text || option.value || '';\n break;\n\n default:\n value = option[type];\n break;\n }\n\n return value;\n }\n};\n\nfunction showNoResults (searchMatch, searchValue) {\n if (!searchMatch.length) {\n elementTemplates.noResults.innerHTML = this.options.noneResultsText.replace('{0}', '\"' + htmlEscape(searchValue) + '\"');\n this.menuInner.firstChild.appendChild(elementTemplates.noResults);\n }\n}\n\nfunction filterHidden (item) {\n return !(item.hidden || this.options.hideDisabled && item.disabled);\n}\n\nfunction getSelectedOptions () {\n var options = this.selectpicker.main.data;\n\n if (this.options.source.data || this.options.source.search) {\n options = Object.values(this.selectpicker.optionValuesDataMap);\n }\n\n var selectedOptions = options.filter(function (item) {\n if (item.selected) {\n if (this.options.hideDisabled && item.disabled) return false;\n return true;\n }\n\n return false;\n }, this);\n\n // ensure only 1 option is selected if multiple are set in the data source\n if (this.options.source.data && !this.multiple && selectedOptions.length > 1) {\n for (var i = 0; i < selectedOptions.length - 1; i++) {\n selectedOptions[i].selected = false;\n }\n\n selectedOptions = [ selectedOptions[selectedOptions.length - 1] ];\n }\n\n return selectedOptions;\n}\n\nfunction getSelectValues (selectedOptions) {\n var value = [],\n options = selectedOptions || getSelectedOptions.call(this),\n opt;\n\n for (var i = 0, len = options.length; i < len; i++) {\n opt = options[i];\n\n if (!opt.disabled) {\n value.push(opt.value === undefined ? opt.text : opt.value);\n }\n }\n\n if (!this.multiple) {\n return !value.length ? null : value[0];\n }\n\n return value;\n}\n// \n\nvar changedArguments = null;\n\n// shared flag for spacebar selection handling (mirrors original document data flag)\nvar spaceSelectFlag = false;\n\nvar REMOVED_OPTIONS = ['container', 'display', 'mobile', 'styleBase', 'windowPadding'];\n\nfunction stripRemovedOptions (source) {\n if (!source || typeof source !== 'object') return source;\n\n var result = Object.assign({}, source);\n\n for (var i = 0; i < REMOVED_OPTIONS.length; i++) {\n delete result[REMOVED_OPTIONS[i]];\n }\n\n return result;\n}\n\nclass Selectpicker {\n constructor (element, options) {\n if (typeof element === 'string') {\n element = document.querySelector(element);\n }\n\n if (!element || element.tagName !== 'SELECT') {\n throw new TypeError('Selectpicker requires a select element or selector.');\n }\n\n this.element = element;\n this.newElement = null;\n this.button = null;\n this.menu = null;\n this.options = Selectpicker._buildConfig(element, options || {});\n\n // tracked event listeners for clean teardown\n this._listeners = [];\n this._named = {};\n\n this.selectpicker = {\n main: {\n data: [],\n optionQueue: elementTemplates.fragment.cloneNode(false),\n hasMore: false\n },\n search: {\n data: [],\n hasMore: false\n },\n current: {}, // current is either equal to main or search depending on if a search is in progress\n view: {},\n // map of option values and their respective data (only used in conjunction with options.source)\n optionValuesDataMap: {},\n createdOptions: [],\n openOption: {\n isCreating: false\n },\n isSearching: false,\n keydown: {\n keyHistory: '',\n resetKeyHistory: {\n start: () => {\n return setTimeout(() => {\n this.selectpicker.keydown.keyHistory = '';\n }, 800);\n }\n }\n }\n };\n\n this.sizeInfo = {};\n\n this.init();\n\n instanceMap.set(element, this);\n }\n\n // \n _on (el, type, handler, options) {\n el.addEventListener(type, handler, options);\n this._listeners.push({ el: el, type: type, handler: handler, options: options });\n return handler;\n }\n\n _delegate (el, type, selector, handler, options) {\n var listener = function (e) {\n var target = e.target.closest(selector);\n if (target && el.contains(target)) {\n handler.call(target, e);\n }\n };\n return this._on(el, type, listener, options);\n }\n\n _emit (name, detail) {\n var event = new CustomEvent(name + EVENT_KEY, {\n bubbles: true,\n cancelable: true,\n detail: detail || null\n });\n this.element.dispatchEvent(event);\n return event;\n }\n\n // adds an event listener that replaces any previously-registered listener under `key`\n _replace (key, el, type, handler, options) {\n this._removeNamed(key);\n el.addEventListener(type, handler, options);\n this._named[key] = { el: el, type: type, handler: handler, options: options };\n }\n\n _removeNamed (key) {\n var prev = this._named[key];\n if (prev) {\n prev.el.removeEventListener(prev.type, prev.handler, prev.options);\n delete this._named[key];\n }\n }\n // \n\n init () {\n var that = this,\n id = this.element.getAttribute('id'),\n element = this.element,\n form = element.form;\n\n selectId++;\n this.selectId = 'bs-select-' + selectId;\n\n element.classList.add('bs-select-hidden');\n\n this.multiple = this.element.multiple;\n this.autofocus = this.element.autofocus;\n\n if (element.classList.contains('show-tick')) {\n this.options.showTick = true;\n }\n\n this.newElement = this.createDropdown();\n\n // insert newElement after element, then move element to be the first child of newElement\n element.parentNode.insertBefore(this.newElement, element.nextSibling);\n this.newElement.insertBefore(element, this.newElement.firstChild);\n\n // ensure select is associated with form element if it got unlinked after moving it inside newElement\n if (form && element.form === null) {\n if (!form.id) form.id = 'form-' + this.selectId;\n element.setAttribute('form', form.id);\n }\n\n this.button = this.newElement.querySelector(':scope > button');\n if (this.options.allowClear) this.clearButton = this.button.querySelector('.bs-select-clear-selected');\n this.menu = this.newElement.querySelector(':scope > ' + Selector.MENU);\n this.menuInner = this.menu.querySelector('.inner');\n this.searchbox = this.menu.querySelector('input');\n this.selectedItems = this.newElement.querySelector(':scope > .bs-selected-items-external') || this.menu.querySelector('.bs-selected-items');\n this.createOptionButton = this.menu.querySelector('.bs-create-option');\n\n element.classList.remove('bs-select-hidden');\n\n this.fetchData(function () {\n that.render(true);\n that.buildList();\n\n requestAnimationFrame(function () {\n that._emit('loaded');\n });\n });\n\n if (this.options.dropdownAlignRight === true) this.menu.classList.add(classNames.MENUEND);\n\n if (typeof id !== 'undefined' && id !== null) {\n this.button.setAttribute('data-id', id);\n }\n\n this.checkDisabled();\n this.clickListener();\n\n var Dropdown = getDropdown();\n this.dropdown = new Dropdown(this.button);\n\n // store a reference to the instance for delegated handlers\n this.newElement.bootstrapSelectInstance = this;\n this.menu.bootstrapSelectInstance = this;\n\n if (this.options.liveSearch) {\n this.liveSearchListener();\n this.focusedParent = this.searchbox;\n } else {\n this.focusedParent = this.menuInner;\n }\n\n this.setStyle();\n this.setWidth();\n this._on(this.element, 'hide' + EVENT_KEY, function () {\n if (that.isVirtual()) {\n // empty menu on close\n var menuInner = that.menuInner,\n emptyMenu = menuInner.firstChild.cloneNode(false);\n\n // replace the existing UL with an empty one - this is faster than emptying it\n menuInner.replaceChild(emptyMenu, menuInner.firstChild);\n menuInner.scrollTop = 0;\n }\n });\n\n // re-emit Bootstrap dropdown events as bootstrap-select events\n this._on(this.newElement, 'hide.bs.dropdown', function (e) {\n that._emit('hide', { bsEvent: e });\n });\n this._on(this.newElement, 'hidden.bs.dropdown', function (e) {\n that._emit('hidden', { bsEvent: e });\n });\n this._on(this.newElement, 'show.bs.dropdown', function (e) {\n that.onShow(e);\n that._emit('show', { bsEvent: e });\n });\n this._on(this.newElement, 'shown.bs.dropdown', function (e) {\n that._emit('shown', { bsEvent: e });\n });\n\n if (element.hasAttribute('required')) {\n this._on(this.element, 'invalid', function () {\n that.button.classList.add('bs-invalid');\n\n var onShownInvalid = function () {\n // set the value to hide the validation message in Chrome when menu is opened\n triggerNative(that.element, 'change');\n that.element.removeEventListener('shown' + EVENT_KEY, onShownInvalid);\n };\n that._on(that.element, 'shown' + EVENT_KEY, onShownInvalid);\n\n var onRendered = function () {\n // if select is no longer invalid, remove the bs-invalid class\n if (that.element.validity.valid) that.button.classList.remove('bs-invalid');\n that.element.removeEventListener('rendered' + EVENT_KEY, onRendered);\n };\n that._on(that.element, 'rendered' + EVENT_KEY, onRendered);\n\n var onBlur = function () {\n that.element.focus();\n that.element.blur();\n that.button.removeEventListener('blur' + EVENT_KEY, onBlur);\n };\n that._on(that.button, 'blur' + EVENT_KEY, onBlur);\n });\n }\n\n if (form) {\n this._on(form, 'reset', function () {\n requestAnimationFrame(function () {\n that.render();\n });\n });\n }\n }\n\n createDropdown () {\n // If we are multiple or showTick option is set, then add the show-tick class\n var showTick = (this.multiple || this.options.showTick) ? ' show-tick' : '',\n showSelectedTags = this.options.showSelectedTags ? ' show-selected-tags' : '',\n selectedItemsStyle = this.options.selectedItemsStyle === 'list' ? ' selected-items-style-list' : '',\n selectionIndicator = this.options.selectionIndicator === 'checkbox' ? ' selection-indicator-checkbox' : '',\n multiselectable = this.multiple ? ' aria-multiselectable=\"true\"' : '',\n autofocus = this.autofocus ? ' autofocus' : '',\n liveSearchPlaceholder = this.options.liveSearchPlaceholder;\n\n if (liveSearchPlaceholder === null && (this.options.showSelectedTags || this.options.openOptions)) {\n liveSearchPlaceholder = this.options.placeholder || 'Search';\n }\n\n // Elements\n var drop,\n header = '',\n searchbox = '',\n actionsbox = '',\n donebutton = '',\n clearButton = '';\n\n if (this.options.header) {\n header =\n '
    ' +\n '' +\n this.options.header +\n '
    ';\n }\n\n if (this.options.liveSearch) {\n searchbox =\n '
    ' +\n '' +\n (this.options.openOptions\n ? ''\n : '') +\n '
    ';\n }\n\n if (this.multiple && this.options.actionsBox) {\n actionsbox =\n '
    ' +\n '
    ' +\n '' +\n '' +\n '
    ' +\n '
    ';\n }\n\n if (this.multiple && this.options.doneButton) {\n donebutton =\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ';\n }\n\n if (this.options.allowClear) {\n clearButton = '×';\n }\n\n drop =\n '
    ' +\n '' +\n '
    ' +\n header +\n searchbox +\n actionsbox +\n '
    ' +\n '
      ' +\n '
    ' +\n '
    ' +\n donebutton +\n '
    ' +\n (this.multiple && this.options.showSelectedTags\n ? ''\n : '') +\n '
    ';\n\n return createFromHTML(drop);\n }\n\n // runs when the dropdown is about to be shown\n onShow () {\n if (this.options.liveSearch && this.searchbox.value) {\n this.searchbox.value = '';\n this.selectpicker.search.previousValue = undefined;\n }\n\n if (!this.newElement.classList.contains(classNames.SHOW)) {\n this.setSize();\n }\n }\n\n setPositionData () {\n this.selectpicker.view.canHighlight = [];\n this.selectpicker.view.size = 0;\n this.selectpicker.view.firstHighlightIndex = false;\n\n for (var i = 0; i < this.selectpicker.current.data.length; i++) {\n var li = this.selectpicker.current.data[i],\n canHighlight = true;\n\n if (li.type === 'divider') {\n canHighlight = false;\n li.height = this.sizeInfo.dividerHeight;\n } else if (li.type === 'optgroup-label') {\n canHighlight = false;\n li.height = this.sizeInfo.dropdownHeaderHeight;\n } else {\n li.height = this.sizeInfo.liHeight;\n }\n\n if (li.disabled) canHighlight = false;\n\n this.selectpicker.view.canHighlight.push(canHighlight);\n\n if (canHighlight) {\n this.selectpicker.view.size++;\n li.posinset = this.selectpicker.view.size;\n if (this.selectpicker.view.firstHighlightIndex === false) this.selectpicker.view.firstHighlightIndex = i;\n }\n\n li.position = (i === 0 ? 0 : this.selectpicker.current.data[i - 1].position) + li.height;\n }\n }\n\n isVirtual () {\n return (this.options.virtualScroll !== false) && (this.selectpicker.main.data.length >= this.options.virtualScroll) || this.options.virtualScroll === true;\n }\n\n createView (isSearching, setSize, refresh) {\n var that = this,\n scrollTop = 0;\n\n this.selectpicker.isSearching = isSearching;\n this.selectpicker.current = isSearching ? this.selectpicker.search : this.selectpicker.main;\n\n this.setPositionData();\n\n if (setSize) {\n if (refresh) {\n scrollTop = this.menuInner.scrollTop;\n } else if (!that.multiple) {\n var element = that.element,\n selectedIndex = (element.options[element.selectedIndex] || {}).liIndex;\n\n if (typeof selectedIndex === 'number' && that.options.size !== false) {\n var selectedData = that.selectpicker.main.data[selectedIndex],\n position = selectedData && selectedData.position;\n\n if (position) {\n scrollTop = position - ((that.sizeInfo.menuInnerHeight + that.sizeInfo.liHeight) / 2);\n }\n }\n }\n }\n\n scroll(scrollTop, true);\n\n this._replace('createViewScroll', this.menuInner, 'scroll', function () {\n if (!that.noScroll) scroll(that.menuInner.scrollTop);\n that.noScroll = false;\n });\n\n function scroll (scrollTop, init) {\n var size = that.selectpicker.current.data.length,\n chunks = [],\n chunkSize,\n chunkCount,\n firstChunk,\n lastChunk,\n currentChunk,\n prevPositions,\n positionIsDifferent,\n previousElements,\n menuIsDifferent = true,\n isVirtual = that.isVirtual();\n\n that.selectpicker.view.scrollTop = scrollTop;\n\n chunkSize = that.options.chunkSize; // number of options in a chunk\n chunkCount = Math.ceil(size / chunkSize) || 1; // number of chunks\n\n for (var i = 0; i < chunkCount; i++) {\n var endOfChunk = (i + 1) * chunkSize;\n\n if (i === chunkCount - 1) {\n endOfChunk = size;\n }\n\n chunks[i] = [\n (i) * chunkSize + (!i ? 0 : 1),\n endOfChunk\n ];\n\n if (!size) break;\n\n if (currentChunk === undefined && scrollTop - 1 <= that.selectpicker.current.data[endOfChunk - 1].position - that.sizeInfo.menuInnerHeight) {\n currentChunk = i;\n }\n }\n\n if (currentChunk === undefined) currentChunk = 0;\n\n prevPositions = [that.selectpicker.view.position0, that.selectpicker.view.position1];\n\n // always display previous, current, and next chunks\n firstChunk = Math.max(0, currentChunk - 1);\n lastChunk = Math.min(chunkCount - 1, currentChunk + 1);\n\n that.selectpicker.view.position0 = isVirtual === false ? 0 : (Math.max(0, chunks[firstChunk][0]) || 0);\n that.selectpicker.view.position1 = isVirtual === false ? size : (Math.min(size, chunks[lastChunk][1]) || 0);\n\n positionIsDifferent = prevPositions[0] !== that.selectpicker.view.position0 || prevPositions[1] !== that.selectpicker.view.position1;\n\n if (that.activeElement !== undefined) {\n if (init) {\n if (that.activeElement !== that.selectedElement) {\n that.defocusItem(that.activeElement);\n }\n that.activeElement = undefined;\n }\n\n if (that.activeElement !== that.selectedElement) {\n that.defocusItem(that.selectedElement);\n }\n }\n\n if (that.prevActiveElement !== undefined && that.prevActiveElement !== that.activeElement && that.prevActiveElement !== that.selectedElement) {\n that.defocusItem(that.prevActiveElement);\n }\n\n if (init || positionIsDifferent || that.selectpicker.current.hasMore) {\n previousElements = that.selectpicker.view.visibleElements ? that.selectpicker.view.visibleElements.slice() : [];\n\n if (isVirtual === false) {\n that.selectpicker.view.visibleElements = that.selectpicker.current.elements;\n } else {\n that.selectpicker.view.visibleElements = that.selectpicker.current.elements.slice(that.selectpicker.view.position0, that.selectpicker.view.position1);\n }\n\n that.setOptionStatus();\n\n // if searching, check to make sure the list has actually been updated before updating DOM\n // this prevents unnecessary repaints\n if (isSearching || (isVirtual === false && init)) menuIsDifferent = !isEqual(previousElements, that.selectpicker.view.visibleElements);\n\n // if virtual scroll is disabled and not searching,\n // menu should never need to be updated more than once\n if ((init || isVirtual === true) && menuIsDifferent) {\n var menuInner = that.menuInner,\n menuFragment = document.createDocumentFragment(),\n emptyMenu = menuInner.firstChild.cloneNode(false),\n marginTop,\n marginBottom,\n elements = that.selectpicker.view.visibleElements,\n toSanitize = [];\n\n // replace the existing UL with an empty one - this is faster than emptying it\n menuInner.replaceChild(emptyMenu, menuInner.firstChild);\n\n for (var i = 0, visibleElementsLen = elements.length; i < visibleElementsLen; i++) {\n var element = elements[i],\n elText,\n elementData;\n\n if (that.options.sanitize) {\n elText = element.lastChild;\n\n if (elText) {\n elementData = that.selectpicker.current.data[i + that.selectpicker.view.position0];\n\n if (elementData && elementData.content && !elementData.sanitized) {\n toSanitize.push(elText);\n elementData.sanitized = true;\n }\n }\n }\n\n menuFragment.appendChild(element);\n }\n\n if (that.options.sanitize && toSanitize.length) {\n sanitizeHtml(toSanitize, that.options.whiteList, that.options.sanitizeFn);\n }\n\n if (isVirtual === true) {\n marginTop = (that.selectpicker.view.position0 === 0 ? 0 : that.selectpicker.current.data[that.selectpicker.view.position0 - 1].position);\n marginBottom = (that.selectpicker.view.position1 > size - 1 ? 0 : that.selectpicker.current.data[size - 1].position - that.selectpicker.current.data[that.selectpicker.view.position1 - 1].position);\n\n menuInner.firstChild.style.marginTop = marginTop + 'px';\n menuInner.firstChild.style.marginBottom = marginBottom + 'px';\n } else {\n menuInner.firstChild.style.marginTop = 0;\n menuInner.firstChild.style.marginBottom = 0;\n }\n\n menuInner.firstChild.appendChild(menuFragment);\n\n // if an option is encountered that is wider than the current menu width, update the menu width accordingly\n if (isVirtual === true && that.sizeInfo.hasScrollBar) {\n var menuInnerInnerWidth = menuInner.firstChild.offsetWidth;\n\n if (init && menuInnerInnerWidth < that.sizeInfo.menuInnerInnerWidth && that.sizeInfo.totalMenuWidth > that.sizeInfo.selectWidth) {\n menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px';\n } else if (menuInnerInnerWidth > that.sizeInfo.menuInnerInnerWidth) {\n // set to 0 to get actual width of menu\n that.menu.style.minWidth = 0;\n\n var actualMenuWidth = menuInner.firstChild.offsetWidth;\n\n if (actualMenuWidth > that.sizeInfo.menuInnerInnerWidth) {\n that.sizeInfo.menuInnerInnerWidth = actualMenuWidth;\n menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px';\n }\n\n // reset to default CSS styling\n that.menu.style.minWidth = '';\n }\n }\n }\n\n if ((!isSearching && that.options.source.data || isSearching && that.options.source.search) && that.selectpicker.current.hasMore && currentChunk === chunkCount - 1) {\n // Don't load the next chunk until scrolling has started\n // This prevents unnecessary requests while the user is typing if pageSize is <= chunkSize\n if (scrollTop > 0) {\n // Chunks use 0-based indexing, but pages use 1-based. Add 1 to convert and add 1 again to get next page\n var page = Math.floor((currentChunk * that.options.chunkSize) / that.options.source.pageSize) + 2;\n\n that.fetchData(function () {\n that.render();\n that.buildList(size, isSearching);\n that.setPositionData();\n scroll(scrollTop);\n }, isSearching ? 'search' : 'data', page, isSearching ? that.selectpicker.search.previousValue : undefined);\n }\n }\n }\n\n that.prevActiveElement = that.activeElement;\n\n if (!that.options.liveSearch) {\n that.menuInner.focus();\n } else if (isSearching && init) {\n var index = 0,\n newActive;\n\n if (!that.selectpicker.view.canHighlight[index]) {\n index = 1 + that.selectpicker.view.canHighlight.slice(1).indexOf(true);\n }\n\n newActive = that.selectpicker.view.visibleElements[index];\n\n that.defocusItem(that.selectpicker.view.currentActive);\n\n that.activeElement = (that.selectpicker.current.data[index] || {}).element;\n\n that.focusItem(newActive);\n }\n }\n\n this._replace('createViewResize', window, 'resize', function () {\n var isActive = that.newElement.classList.contains(classNames.SHOW);\n\n if (isActive) scroll(that.menuInner.scrollTop);\n });\n }\n\n focusItem (li, liData, noStyle) {\n if (li) {\n liData = liData || this.selectpicker.current.data[this.selectpicker.current.elements.indexOf(this.activeElement)];\n var a = li.firstChild;\n\n if (a) {\n a.setAttribute('aria-setsize', this.selectpicker.view.size);\n a.setAttribute('aria-posinset', liData.posinset);\n\n if (noStyle !== true) {\n this.focusedParent.setAttribute('aria-activedescendant', a.id);\n li.classList.add('active');\n a.classList.add('active');\n }\n }\n }\n }\n\n defocusItem (li) {\n if (li) {\n li.classList.remove('active');\n if (li.firstChild) li.firstChild.classList.remove('active');\n }\n }\n\n setPlaceholder () {\n var that = this,\n updateIndex = false;\n\n if ((this.options.placeholder || this.options.allowClear) && !this.multiple) {\n if (!this.selectpicker.view.titleOption) this.selectpicker.view.titleOption = document.createElement('option');\n\n // this option doesn't create a new
  • element, but does add a new option at the start,\n // so startIndex should increase to prevent having to check every option for the bs-title-option class\n updateIndex = true;\n\n var element = this.element,\n selectTitleOption = false,\n titleNotAppended = !this.selectpicker.view.titleOption.parentNode,\n selectedIndex = element.selectedIndex,\n selectedOption = element.options[selectedIndex],\n firstSelectable = element.querySelector('select > *:not(:disabled)'),\n firstSelectableIndex = firstSelectable ? firstSelectable.index : 0,\n navigation = window.performance && window.performance.getEntriesByType('navigation'),\n // Safari doesn't support getEntriesByType('navigation') - fall back to performance.navigation\n isNotBackForward = (navigation && navigation.length) ? navigation[0].type !== 'back_forward' : window.performance.navigation.type !== 2;\n\n if (titleNotAppended) {\n // Use native JS to prepend option (faster)\n this.selectpicker.view.titleOption.className = 'bs-title-option';\n this.selectpicker.view.titleOption.value = '';\n\n // Check if selected or data-selected attribute is already set on an option. If not, select the titleOption option.\n selectTitleOption = !selectedOption || (selectedIndex === firstSelectableIndex && selectedOption.defaultSelected === false);\n }\n\n if (titleNotAppended || this.selectpicker.view.titleOption.index !== 0) {\n element.insertBefore(this.selectpicker.view.titleOption, element.firstChild);\n }\n\n // Set selected *after* appending to select\n if (selectTitleOption && isNotBackForward) {\n element.selectedIndex = 0;\n } else if (document.readyState !== 'complete') {\n // if navigation type is back_forward, there's a chance the select will have its value set by BFCache\n // wait for that value to be set, then run render again\n window.addEventListener('pageshow', function () {\n if (that.selectpicker.view.displayedValue !== element.value) that.render();\n });\n }\n }\n\n return updateIndex;\n }\n\n fetchData (callback, type, page, searchValue) {\n page = page || 1;\n type = type || 'data';\n\n var that = this,\n data = this.options.source[type],\n builtData;\n\n if (data) {\n this.options.virtualScroll = true;\n\n if (typeof data === 'function') {\n data.call(\n this,\n function (data, more, totalItems) {\n var current = that.selectpicker[type === 'search' ? 'search' : 'main'];\n current.hasMore = more;\n current.totalItems = totalItems;\n builtData = that.buildData(data, type);\n callback.call(that, builtData);\n that._emit('fetched');\n },\n page,\n searchValue\n );\n } else if (Array.isArray(data)) {\n builtData = that.buildData(data, type);\n callback.call(that, builtData);\n }\n } else {\n builtData = this.buildData(false, type);\n callback.call(that, builtData);\n }\n }\n\n buildData (data, type) {\n var that = this;\n var dataGetter = data === false ? getOptionData.fromOption : getOptionData.fromDataSource;\n\n var optionSelector = ':not([hidden]):not([data-hidden=\"true\"]):not([style*=\"display: none\"])',\n mainData = [],\n startLen = this.selectpicker.main.data ? this.selectpicker.main.data.length : 0,\n optID = 0,\n startIndex = this.setPlaceholder() && !data ? 1 : 0; // append the titleOption if necessary and skip the first option in the loop\n\n if (type === 'search') {\n startLen = this.selectpicker.search.data.length;\n }\n\n if (this.options.hideDisabled) optionSelector += ':not(:disabled)';\n\n var selectOptions = data ? data.filter(filterHidden, this) : this.element.querySelectorAll('select > *' + optionSelector);\n\n function addDivider (config) {\n var previousData = mainData[mainData.length - 1];\n\n // ensure optgroup doesn't create back-to-back dividers\n if (\n previousData &&\n previousData.type === 'divider' &&\n (previousData.optID || config.optID)\n ) {\n return;\n }\n\n config = config || {};\n config.type = 'divider';\n\n mainData.push(config);\n }\n\n function addOption (item, config) {\n config = config || {};\n\n config.divider = dataGetter(item, 'divider');\n\n if (config.divider === true) {\n addDivider({\n optID: config.optID\n });\n } else {\n var liIndex = mainData.length + startLen,\n cssText = dataGetter(item, 'style'),\n inlineStyle = cssText ? htmlEscape(cssText) : '',\n optionClass = (item.className || '') + (config.optgroupClass || '');\n\n if (config.optID) optionClass = 'opt ' + optionClass;\n\n config.optionClass = optionClass.trim();\n config.inlineStyle = inlineStyle;\n\n config.text = dataGetter(item, 'text');\n config.title = dataGetter(item, 'title');\n config.content = dataGetter(item, 'content');\n config.tokens = dataGetter(item, 'tokens');\n config.subtext = dataGetter(item, 'subtext');\n config.icon = dataGetter(item, 'icon');\n\n config.display = config.content || config.text;\n config.value = item.value === undefined ? item.text : item.value;\n config.type = 'option';\n config.index = liIndex;\n\n config.option = !item.option ? item : item.option; // reference option element if it exists\n config.option.liIndex = liIndex;\n config.selected = !!item.selected;\n config.disabled = config.disabled || !!item.disabled;\n\n if (data !== false) {\n if (that.selectpicker.optionValuesDataMap[config.value]) {\n config = Object.assign(that.selectpicker.optionValuesDataMap[config.value], config);\n } else {\n that.selectpicker.optionValuesDataMap[config.value] = config;\n }\n }\n\n mainData.push(config);\n }\n }\n\n function addOptgroup (index, selectOptions) {\n var optgroup = selectOptions[index],\n // skip placeholder option\n previous = index - 1 < startIndex ? false : selectOptions[index - 1],\n next = selectOptions[index + 1],\n options = data ? optgroup.children.filter(filterHidden, this) : optgroup.querySelectorAll('option' + optionSelector);\n\n if (!options.length) return;\n\n var config = {\n display: htmlEscape(dataGetter(item, 'label')),\n subtext: dataGetter(optgroup, 'subtext'),\n icon: dataGetter(optgroup, 'icon'),\n type: 'optgroup-label',\n optgroupClass: ' ' + (optgroup.className || ''),\n optgroup: optgroup\n },\n headerIndex,\n lastIndex;\n\n optID++;\n\n if (previous) {\n addDivider({ optID: optID });\n }\n\n config.optID = optID;\n\n mainData.push(config);\n\n for (var j = 0, len = options.length; j < len; j++) {\n var option = options[j];\n\n if (j === 0) {\n headerIndex = mainData.length - 1;\n lastIndex = headerIndex + len;\n }\n\n addOption(option, {\n headerIndex: headerIndex,\n lastIndex: lastIndex,\n optID: config.optID,\n optgroupClass: config.optgroupClass,\n disabled: optgroup.disabled\n });\n }\n\n if (next) {\n addDivider({ optID: optID });\n }\n }\n\n var item;\n\n for (var len = selectOptions.length, i = startIndex; i < len; i++) {\n item = selectOptions[i];\n var children = item.children;\n\n if (children && children.length) {\n addOptgroup.call(this, i, selectOptions);\n } else {\n addOption.call(this, item, {});\n }\n }\n\n switch (type) {\n case 'data': {\n if (!this.selectpicker.main.data) {\n this.selectpicker.main.data = [];\n }\n Array.prototype.push.apply(this.selectpicker.main.data, mainData);\n this.selectpicker.current.data = this.selectpicker.main.data;\n break;\n }\n case 'search': {\n Array.prototype.push.apply(this.selectpicker.search.data, mainData);\n break;\n }\n }\n\n return mainData;\n }\n\n buildList (size, searching) {\n var that = this,\n selectData = searching ? this.selectpicker.search.data : this.selectpicker.main.data,\n mainElements = [],\n widestOptionLength = 0;\n\n if (that.options.showTick || that.multiple) {\n elementTemplates.checkMark.className = this.options.selectionIndicator === 'checkbox'\n ? 'check-mark bs-selection-indicator'\n : this.options.iconBase + ' ' + that.options.tickIcon + ' check-mark';\n\n if (!elementTemplates.checkMark.parentNode) {\n elementTemplates.a.appendChild(elementTemplates.checkMark);\n }\n }\n\n function buildElement (mainElements, item) {\n var liElement,\n combinedLength = 0;\n\n switch (item.type) {\n case 'divider':\n liElement = generateOption.li(\n false,\n classNames.DIVIDER,\n (item.optID ? item.optID + 'div' : undefined)\n );\n\n break;\n\n case 'option':\n liElement = generateOption.li(\n generateOption.a(\n generateOption.text.call(that, item),\n item.optionClass,\n item.inlineStyle\n ),\n '',\n item.optID\n );\n\n if (liElement.firstChild) {\n liElement.firstChild.id = that.selectId + '-' + item.index;\n }\n\n break;\n\n case 'optgroup-label':\n liElement = generateOption.li(\n generateOption.label.call(that, item),\n 'dropdown-header' + item.optgroupClass,\n item.optID\n );\n\n break;\n }\n\n if (item.content) item.sanitized = false;\n\n if (!item.element) {\n item.element = liElement;\n } else {\n item.element.innerHTML = liElement.innerHTML;\n }\n mainElements.push(item.element);\n\n // count the number of characters in the option - not perfect, but should work in most cases\n if (item.display) combinedLength += item.display.length;\n if (item.subtext) combinedLength += item.subtext.length;\n // if there is an icon, ensure this option's width is checked\n if (item.icon) combinedLength += 1;\n\n if (combinedLength > widestOptionLength) {\n widestOptionLength = combinedLength;\n\n // guess which option is the widest\n that.selectpicker.view.widestOption = mainElements[mainElements.length - 1];\n }\n }\n\n var startIndex = size || 0;\n\n for (var len = selectData.length, i = startIndex; i < len; i++) {\n var item = selectData[i];\n\n buildElement(mainElements, item);\n }\n\n if (size) {\n if (searching) {\n Array.prototype.push.apply(this.selectpicker.search.elements, mainElements);\n } else {\n Array.prototype.push.apply(this.selectpicker.main.elements, mainElements);\n this.selectpicker.current.elements = this.selectpicker.main.elements;\n }\n } else {\n if (searching) {\n this.selectpicker.search.elements = mainElements;\n } else {\n this.selectpicker.main.elements = this.selectpicker.current.elements = mainElements;\n }\n }\n }\n\n findLis () {\n return this.menuInner.querySelectorAll('.inner > li');\n }\n\n render (init) {\n var that = this,\n element = this.element,\n // ensure titleOption is appended and selected (if necessary) before getting selectedOptions\n placeholderSelected = this.setPlaceholder() && element.selectedIndex === 0,\n selectedOptions = getSelectedOptions.call(this),\n selectedCount = selectedOptions.length,\n selectedValues = getSelectValues.call(this, selectedOptions),\n button = this.button,\n buttonInner = button.querySelector('.filter-option-inner-inner'),\n multipleSeparator = document.createTextNode(this.options.multipleSeparator),\n titleFragment = elementTemplates.fragment.cloneNode(false),\n forceCount = this.multiple && this.options.showSelectedTags && selectedCount > 0,\n showCount,\n countMax,\n hasContent = false;\n\n function createSelected (item) {\n if (item.selected) {\n that.createOption(item, true);\n } else if (item.children && item.children.length) {\n item.children.map(createSelected);\n }\n }\n\n // create selected option elements to ensure select value is correct\n if (this.options.source.data && init) {\n selectedOptions.map(createSelected);\n element.appendChild(this.selectpicker.main.optionQueue);\n\n if (placeholderSelected) placeholderSelected = element.selectedIndex === 0;\n }\n\n button.classList.toggle('bs-placeholder', that.multiple ? !selectedCount : !selectedValues && selectedValues !== 0);\n\n if (!that.multiple && selectedOptions.length === 1) {\n that.selectpicker.view.displayedValue = selectedValues;\n }\n\n if (this.options.selectedTextFormat === 'static') {\n titleFragment = generateOption.text.call(this, { text: this.options.placeholder }, true);\n } else {\n showCount = forceCount || this.multiple && this.options.selectedTextFormat.indexOf('count') !== -1 && selectedCount > 0;\n\n // determine if the number of selected options will be shown (showCount === true)\n if (showCount && !forceCount) {\n countMax = this.options.selectedTextFormat.split('>');\n showCount = (countMax.length > 1 && selectedCount > countMax[1]) || (countMax.length === 1 && selectedCount >= 2);\n }\n\n // only loop through all selected options if the count won't be shown\n if (showCount === false) {\n if (!placeholderSelected) {\n for (var selectedIndex = 0; selectedIndex < selectedCount; selectedIndex++) {\n if (selectedIndex < 50) {\n var option = selectedOptions[selectedIndex],\n titleOptions = {};\n\n if (option) {\n if (this.multiple && selectedIndex > 0) {\n titleFragment.appendChild(multipleSeparator.cloneNode(false));\n }\n\n if (option.title) {\n titleOptions.text = option.title;\n } else if (option.content && that.options.showContent) {\n titleOptions.content = option.content.toString();\n hasContent = true;\n } else {\n if (that.options.showIcon) {\n titleOptions.icon = option.icon;\n }\n if (that.options.showSubtext && !that.multiple && option.subtext) titleOptions.subtext = ' ' + option.subtext;\n titleOptions.text = option.text.trim();\n }\n\n titleFragment.appendChild(generateOption.text.call(this, titleOptions, true));\n }\n } else {\n break;\n }\n }\n\n // add ellipsis\n if (selectedCount > 49) {\n titleFragment.appendChild(document.createTextNode('...'));\n }\n }\n } else {\n var optionSelector = ':not([hidden]):not([data-hidden=\"true\"]):not([data-divider=\"true\"]):not([style*=\"display: none\"])';\n if (this.options.hideDisabled) optionSelector += ':not(:disabled)';\n\n // If this is a multiselect, and selectedTextFormat is count, then show 1 of 2 selected, etc.\n var totalCount = this.element.querySelectorAll('select > option' + optionSelector + ', optgroup' + optionSelector + ' option' + optionSelector).length,\n tr8nText = (typeof this.options.countSelectedText === 'function') ? this.options.countSelectedText(selectedCount, totalCount) : this.options.countSelectedText;\n\n titleFragment = generateOption.text.call(this, {\n text: tr8nText.replace('{0}', selectedCount.toString()).replace('{1}', totalCount.toString())\n }, true);\n }\n }\n\n // If the select doesn't have a title, then use the default, or if nothing is set at all, use noneSelectedText\n if (!titleFragment.childNodes.length) {\n titleFragment = generateOption.text.call(this, {\n text: this.options.placeholder ? this.options.placeholder : this.options.noneSelectedText\n }, true);\n }\n\n // if the select has a title, apply it to the button, and if not, apply titleFragment text\n button.title = titleFragment.textContent.replace(/<[^>]*>?/g, '').trim();\n\n if (this.options.sanitize && hasContent) {\n sanitizeHtml([titleFragment], that.options.whiteList, that.options.sanitizeFn);\n }\n\n buttonInner.innerHTML = '';\n buttonInner.appendChild(titleFragment);\n\n this.syncTagEditor();\n\n this._emit('rendered');\n }\n\n usesTagEditor () {\n return this.options.liveSearch && (this.options.showSelectedTags || this.options.openOptions);\n }\n\n syncTagEditor () {\n if (!this.usesTagEditor()) return;\n\n if (this.selectedItems) {\n var selectedOptions = getSelectedOptions.call(this),\n useListStyle = this.options.selectedItemsStyle === 'list';\n\n this.selectedItems.innerHTML = '';\n this.selectedItems.hidden = !selectedOptions.length;\n this.selectedItems.classList.toggle('list-group', useListStyle);\n\n for (var i = 0; i < selectedOptions.length; i++) {\n var item = selectedOptions[i],\n selectedTag = document.createElement('button'),\n removeText = this.options.selectedTagRemoveLabel + ' ' + getOptionLabelText(item),\n content = document.createElement('span'),\n label = document.createElement('span'),\n remove = document.createElement('span'),\n icon;\n\n selectedTag.type = 'button';\n selectedTag.className = useListStyle\n ? 'bs-selected-item list-group-item list-group-item-action'\n : 'bs-selected-item';\n selectedTag.setAttribute('data-option-value', item.value);\n selectedTag.setAttribute('aria-label', removeText);\n selectedTag.title = removeText;\n\n content.className = 'bs-selected-item-content';\n\n if (item.icon && this.options.showIcon) {\n icon = document.createElement('span');\n icon.className = 'bs-selected-item-icon ' + this.options.iconBase + ' ' + item.icon;\n icon.setAttribute('aria-hidden', 'true');\n content.appendChild(icon);\n }\n\n label.className = 'bs-selected-item-label';\n label.textContent = getOptionLabelText(item);\n content.appendChild(label);\n\n remove.className = 'bs-selected-item-remove';\n remove.setAttribute('aria-hidden', 'true');\n remove.textContent = '\\u00d7';\n\n selectedTag.appendChild(content);\n selectedTag.appendChild(remove);\n this.selectedItems.appendChild(selectedTag);\n }\n }\n\n this.syncOpenOptionButton();\n\n if (this.newElement && this.newElement.classList.contains(classNames.SHOW)) {\n this.setSize(true);\n }\n }\n\n syncOpenOptionButton () {\n if (!this.createOptionButton) return;\n\n var searchValue = this.searchbox ? this.searchbox.value : '',\n normalizedValue = searchValue.toString().trim(),\n shouldShow = !!normalizedValue &&\n !this.selectpicker.openOption.isCreating &&\n !this.findOptionBySearchValue(normalizedValue);\n\n this.createOptionButton.hidden = !shouldShow;\n this.createOptionButton.disabled = this.selectpicker.openOption.isCreating;\n\n if (shouldShow) {\n this.createOptionButton.textContent = this.options.openOptionsText.replace('{0}', normalizedValue);\n this.createOptionButton.setAttribute('data-search-value', normalizedValue);\n } else {\n this.createOptionButton.textContent = '';\n this.createOptionButton.removeAttribute('data-search-value');\n }\n }\n\n findOptionByValue (value, dataSet) {\n var options = dataSet || this.selectpicker.main.data,\n stringValue = String(value);\n\n for (var i = 0; i < options.length; i++) {\n var option = options[i];\n\n if (option.type === 'option' && String(option.value) === stringValue) {\n return option;\n }\n }\n\n return null;\n }\n\n findOptionBySearchValue (searchValue) {\n var options = this.options.source.data || this.options.source.search\n ? Object.values(this.selectpicker.optionValuesDataMap)\n : this.selectpicker.main.data,\n normalizedSearch = normalizeSearchInput(searchValue, this.options.liveSearchNormalize);\n\n for (var i = 0; i < options.length; i++) {\n var option = options[i];\n\n if (option.type !== 'option') continue;\n\n if (\n normalizeSearchInput(option.text, this.options.liveSearchNormalize) === normalizedSearch ||\n normalizeSearchInput(option.value, this.options.liveSearchNormalize) === normalizedSearch ||\n normalizeSearchInput(option.title, this.options.liveSearchNormalize) === normalizedSearch\n ) {\n return option;\n }\n }\n\n return null;\n }\n\n createOptionElement (optionData) {\n var option = document.createElement('option');\n\n option.value = optionData.value === undefined ? optionData.text : optionData.value;\n option.textContent = optionData.text === undefined ? option.value : optionData.text;\n\n if (optionData.className) option.className = optionData.className;\n if (optionData.title) option.title = optionData.title;\n if (optionData.content) option.setAttribute('data-content', optionData.content);\n if (optionData.tokens) option.setAttribute('data-tokens', optionData.tokens);\n if (optionData.subtext) option.setAttribute('data-subtext', optionData.subtext);\n if (optionData.icon) option.setAttribute('data-icon', optionData.icon);\n if (optionData.disabled) option.disabled = true;\n if (optionData.hidden) option.hidden = true;\n\n return option;\n }\n\n appendCreatedSearchResults (searchValue) {\n if (!this.selectpicker.createdOptions.length) return;\n\n var matches = [];\n\n for (var i = 0; i < this.selectpicker.createdOptions.length; i++) {\n var option = this.selectpicker.createdOptions[i];\n\n if (\n stringSearch(option, normalizeSearchInput(searchValue, this.options.liveSearchNormalize), this._searchStyle(), this.options.liveSearchNormalize) &&\n !this.findOptionByValue(option.value, this.selectpicker.search.data)\n ) {\n matches.push(option);\n }\n }\n\n if (matches.length) this.buildData(matches, 'search');\n }\n\n addCreatedOption (optionData) {\n optionData = Object.assign({}, optionData);\n optionData.value = optionData.value === undefined ? optionData.text : optionData.value;\n optionData.text = optionData.text === undefined ? optionData.value : optionData.text;\n\n var size = this.selectpicker.main.elements ? this.selectpicker.main.elements.length : 0,\n option = this.createOptionElement(optionData);\n optionData.option = option;\n\n this.element.appendChild(option);\n var builtOptions = this.buildData([optionData], 'data'),\n builtOption = builtOptions[0];\n\n this.buildList(size);\n this.selectpicker.createdOptions.push(builtOption);\n\n return builtOption;\n }\n\n removeSelectedTag (value) {\n var option = this.findOptionByValue(value);\n\n if (!option || !option.selected) return;\n\n var prevValue = getSelectValues.call(this);\n\n this.setSelected(option, false);\n changedArguments = [option.index, false, prevValue];\n triggerNative(this.element, 'change');\n\n if (this.options.liveSearch) this.searchbox.focus();\n }\n\n createOpenOption (searchValue) {\n searchValue = searchValue === undefined || searchValue === null ? '' : searchValue.toString().trim();\n\n if (!searchValue || this.selectpicker.openOption.isCreating) return;\n\n var existingOption = this.findOptionBySearchValue(searchValue);\n\n if (existingOption) {\n if (!existingOption.selected) {\n var prevSelectedValue = getSelectValues.call(this);\n\n this.setSelected(existingOption, true);\n changedArguments = [existingOption.index, true, prevSelectedValue];\n triggerNative(this.element, 'change');\n }\n\n if (this.options.liveSearch) this.searchbox.focus();\n return;\n }\n\n var that = this,\n prevValue = getSelectValues.call(this),\n createHandler = this.options.source.create;\n\n this.selectpicker.openOption.isCreating = true;\n this.syncOpenOptionButton();\n\n function finalize (createdOption) {\n that.selectpicker.openOption.isCreating = false;\n\n if (createdOption === undefined || createdOption === null || createdOption === false) {\n that.syncOpenOptionButton();\n return;\n }\n\n if (Array.isArray(createdOption)) createdOption = createdOption[0];\n if (typeof createdOption !== 'object') {\n createdOption = {\n text: createdOption,\n value: createdOption\n };\n }\n\n if (!createdOption.text && !createdOption.value) {\n createdOption.text = searchValue;\n }\n\n if (createdOption.value === undefined) createdOption.value = createdOption.text;\n if (createdOption.text === undefined) createdOption.text = createdOption.value;\n\n var option = that.findOptionByValue(createdOption.value) || that.findOptionBySearchValue(createdOption.text);\n\n if (!option) {\n option = that.addCreatedOption(createdOption);\n }\n\n that.setSelected(option, true);\n\n if (that.options.source.data) that.element.appendChild(that.selectpicker.main.optionQueue);\n\n if (that.searchbox) {\n that.searchbox.value = '';\n }\n\n that.selectpicker.search.previousValue = '';\n that.selectpicker.search.data = [];\n that.selectpicker.search.elements = [];\n that.createView(false);\n\n changedArguments = [option.index, true, prevValue];\n triggerNative(that.element, 'change');\n\n if (that.options.liveSearch) that.searchbox.focus();\n }\n\n if (typeof createHandler === 'function') {\n var returnedOption = createHandler.call(this, finalize, searchValue);\n\n if (returnedOption && typeof returnedOption.then === 'function') {\n returnedOption.then(finalize);\n } else if (returnedOption !== undefined) {\n finalize(returnedOption);\n }\n } else {\n finalize({\n text: searchValue,\n value: searchValue\n });\n }\n }\n\n /**\n * @param [newStyle]\n * @param [status]\n */\n setStyle (newStyle, status) {\n var button = this.button,\n newElement = this.newElement,\n style = this.options.style.trim(),\n buttonClass;\n\n if (this.element.getAttribute('class')) {\n var extra = this.element.getAttribute('class').replace(/selectpicker|mobile-device|bs-select-hidden|validate\\[.*\\]/gi, '').trim();\n if (extra) newElement.classList.add.apply(newElement.classList, extra.split(/\\s+/));\n }\n\n if (newStyle) {\n buttonClass = newStyle.trim();\n } else {\n buttonClass = style;\n }\n\n if (status === 'add') {\n if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' '));\n } else if (status === 'remove') {\n if (buttonClass) button.classList.remove.apply(button.classList, buttonClass.split(' '));\n } else {\n if (style) button.classList.remove.apply(button.classList, style.split(' '));\n if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' '));\n }\n }\n\n liHeight (refresh) {\n if (!refresh && (this.options.size === false || Object.keys(this.sizeInfo).length)) return;\n\n var newElement = elementTemplates.div.cloneNode(false),\n menu = elementTemplates.div.cloneNode(false),\n menuInner = elementTemplates.div.cloneNode(false),\n menuInnerInner = document.createElement('ul'),\n divider = elementTemplates.li.cloneNode(false),\n dropdownHeader = elementTemplates.li.cloneNode(false),\n li,\n a = elementTemplates.a.cloneNode(false),\n text = elementTemplates.span.cloneNode(false),\n header = this.options.header && this.menu.querySelectorAll('.' + classNames.POPOVERHEADER).length > 0 ? this.menu.querySelector('.' + classNames.POPOVERHEADER).cloneNode(true) : null,\n search = this.options.liveSearch && this.menu.querySelector('.bs-searchbox')\n ? this.menu.querySelector('.bs-searchbox').cloneNode(true)\n : null,\n actions = this.options.actionsBox && this.multiple && this.menu.querySelectorAll('.bs-actionsbox').length > 0 ? this.menu.querySelector('.bs-actionsbox').cloneNode(true) : null,\n doneButton = this.options.doneButton && this.multiple && this.menu.querySelectorAll('.bs-donebutton').length > 0 ? this.menu.querySelector('.bs-donebutton').cloneNode(true) : null,\n firstOption = this.element.options[0];\n\n this.sizeInfo.selectWidth = this.newElement.offsetWidth;\n\n text.className = 'text';\n a.className = 'dropdown-item ' + (firstOption ? firstOption.className : '');\n newElement.className = this.menu.parentNode.className + ' ' + classNames.SHOW;\n newElement.style.width = 0; // ensure button width doesn't affect natural width of menu when calculating\n menu.className = classNames.MENU + ' ' + classNames.SHOW;\n menuInner.className = 'inner ' + classNames.SHOW;\n menuInnerInner.className = classNames.MENU + ' inner ' + classNames.SHOW;\n divider.className = classNames.DIVIDER;\n dropdownHeader.className = 'dropdown-header';\n\n text.appendChild(document.createTextNode('\\u200b'));\n\n if (this.selectpicker.current.data.length) {\n for (var i = 0; i < this.selectpicker.current.data.length; i++) {\n var data = this.selectpicker.current.data[i];\n if (data.type === 'option' && window.getComputedStyle(data.element.firstChild).display !== 'none') {\n li = data.element;\n break;\n }\n }\n } else {\n li = elementTemplates.li.cloneNode(false);\n a.appendChild(text);\n li.appendChild(a);\n }\n\n dropdownHeader.appendChild(text.cloneNode(true));\n\n if (this.selectpicker.view.widestOption) {\n menuInnerInner.appendChild(this.selectpicker.view.widestOption.cloneNode(true));\n }\n\n menuInnerInner.appendChild(li);\n menuInnerInner.appendChild(divider);\n menuInnerInner.appendChild(dropdownHeader);\n if (header) menu.appendChild(header);\n if (search) menu.appendChild(search);\n if (actions) menu.appendChild(actions);\n menuInner.appendChild(menuInnerInner);\n menu.appendChild(menuInner);\n if (doneButton) menu.appendChild(doneButton);\n newElement.appendChild(menu);\n\n document.body.appendChild(newElement);\n\n var liHeight = li.offsetHeight,\n dropdownHeaderHeight = dropdownHeader ? dropdownHeader.offsetHeight : 0,\n headerHeight = header ? header.offsetHeight : 0,\n searchHeight = search ? search.offsetHeight : 0,\n actionsHeight = actions ? actions.offsetHeight : 0,\n doneButtonHeight = doneButton ? doneButton.offsetHeight : 0,\n dividerHeight = outerHeight(divider, true),\n menuStyle = window.getComputedStyle(menu),\n menuWidth = menu.offsetWidth,\n menuPadding = {\n vert: toInteger(menuStyle.paddingTop) +\n toInteger(menuStyle.paddingBottom) +\n toInteger(menuStyle.borderTopWidth) +\n toInteger(menuStyle.borderBottomWidth),\n horiz: toInteger(menuStyle.paddingLeft) +\n toInteger(menuStyle.paddingRight) +\n toInteger(menuStyle.borderLeftWidth) +\n toInteger(menuStyle.borderRightWidth)\n },\n menuExtras = {\n vert: menuPadding.vert +\n toInteger(menuStyle.marginTop) +\n toInteger(menuStyle.marginBottom) + 2,\n horiz: menuPadding.horiz +\n toInteger(menuStyle.marginLeft) +\n toInteger(menuStyle.marginRight) + 2\n },\n scrollBarWidth;\n\n menuInner.style.overflowY = 'scroll';\n\n scrollBarWidth = menu.offsetWidth - menuWidth;\n\n document.body.removeChild(newElement);\n\n this.sizeInfo.liHeight = liHeight;\n this.sizeInfo.dropdownHeaderHeight = dropdownHeaderHeight;\n this.sizeInfo.headerHeight = headerHeight;\n this.sizeInfo.searchHeight = searchHeight;\n this.sizeInfo.actionsHeight = actionsHeight;\n this.sizeInfo.doneButtonHeight = doneButtonHeight;\n this.sizeInfo.dividerHeight = dividerHeight;\n this.sizeInfo.menuPadding = menuPadding;\n this.sizeInfo.menuExtras = menuExtras;\n this.sizeInfo.menuWidth = menuWidth;\n this.sizeInfo.menuInnerInnerWidth = menuWidth - menuPadding.horiz;\n this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth;\n this.sizeInfo.scrollBarWidth = scrollBarWidth;\n this.sizeInfo.selectHeight = this.newElement.offsetHeight;\n\n this.setPositionData();\n }\n\n getSelectPosition () {\n var that = this,\n winScrollTop = window.pageYOffset,\n winScrollLeft = window.pageXOffset,\n winHeight = document.documentElement.clientHeight,\n winWidth = document.documentElement.clientWidth,\n pos = offset(that.newElement);\n\n this.sizeInfo.selectOffsetTop = pos.top - winScrollTop;\n this.sizeInfo.selectOffsetBot = winHeight - this.sizeInfo.selectOffsetTop - this.sizeInfo.selectHeight;\n this.sizeInfo.selectOffsetLeft = pos.left - winScrollLeft;\n this.sizeInfo.selectOffsetRight = winWidth - this.sizeInfo.selectOffsetLeft - this.sizeInfo.selectWidth;\n }\n\n setMenuSize (isAuto) {\n this.getSelectPosition();\n\n var selectWidth = this.sizeInfo.selectWidth,\n liHeight = this.sizeInfo.liHeight,\n headerHeight = this.sizeInfo.headerHeight,\n searchHeight = this.sizeInfo.searchHeight,\n actionsHeight = this.sizeInfo.actionsHeight,\n doneButtonHeight = this.sizeInfo.doneButtonHeight,\n divHeight = this.sizeInfo.dividerHeight,\n menuPadding = this.sizeInfo.menuPadding,\n menuInnerHeight,\n menuHeight,\n divLength = 0,\n minHeight,\n _minHeight,\n maxHeight,\n menuInnerMinHeight,\n estimate,\n isDropup;\n\n if (this.options.dropupAuto) {\n // Get the estimated height of the menu without scrollbars.\n estimate = liHeight * this.selectpicker.current.data.length + menuPadding.vert;\n\n isDropup = this.sizeInfo.selectOffsetTop - this.sizeInfo.selectOffsetBot > this.sizeInfo.menuExtras.vert && estimate + this.sizeInfo.menuExtras.vert + 50 > this.sizeInfo.selectOffsetBot;\n\n // ensure dropup doesn't change while searching (so menu doesn't bounce back and forth)\n if (this.selectpicker.isSearching === true) {\n isDropup = this.selectpicker.dropup;\n }\n\n this.newElement.classList.toggle(classNames.DROPUP, isDropup);\n this.selectpicker.dropup = isDropup;\n }\n\n if (this.options.size === 'auto') {\n _minHeight = this.selectpicker.current.data.length > 3 ? this.sizeInfo.liHeight * 3 + this.sizeInfo.menuExtras.vert - 2 : 0;\n menuHeight = this.sizeInfo.selectOffsetBot - this.sizeInfo.menuExtras.vert;\n minHeight = _minHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight;\n menuInnerMinHeight = Math.max(_minHeight - menuPadding.vert, 0);\n\n if (this.newElement.classList.contains(classNames.DROPUP)) {\n menuHeight = this.sizeInfo.selectOffsetTop - this.sizeInfo.menuExtras.vert;\n }\n\n maxHeight = menuHeight;\n menuInnerHeight = menuHeight - headerHeight - searchHeight - actionsHeight - doneButtonHeight - menuPadding.vert;\n } else if (this.options.size && this.options.size !== 'auto' && this.selectpicker.current.elements.length > this.options.size) {\n for (var i = 0; i < this.options.size; i++) {\n if (this.selectpicker.current.data[i].type === 'divider') divLength++;\n }\n\n menuHeight = liHeight * this.options.size + divLength * divHeight + menuPadding.vert;\n menuInnerHeight = menuHeight - menuPadding.vert;\n maxHeight = menuHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight;\n minHeight = menuInnerMinHeight = '';\n }\n\n setStyles(this.menu, {\n maxHeight: maxHeight + 'px',\n overflow: 'hidden',\n minHeight: minHeight + 'px'\n });\n\n setStyles(this.menuInner, {\n maxHeight: menuInnerHeight + 'px',\n overflow: 'hidden auto',\n minHeight: menuInnerMinHeight + 'px'\n });\n\n // ensure menuInnerHeight is always a positive number to prevent issues calculating chunkSize in createView\n this.sizeInfo.menuInnerHeight = Math.max(menuInnerHeight, 1);\n\n if (this.selectpicker.current.data.length && this.selectpicker.current.data[this.selectpicker.current.data.length - 1].position > this.sizeInfo.menuInnerHeight) {\n this.sizeInfo.hasScrollBar = true;\n this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth + this.sizeInfo.scrollBarWidth;\n }\n\n if (this.options.dropdownAlignRight === 'auto') {\n this.menu.classList.toggle(classNames.MENUEND, this.sizeInfo.selectOffsetLeft > this.sizeInfo.selectOffsetRight && this.sizeInfo.selectOffsetRight < (this.sizeInfo.totalMenuWidth - selectWidth));\n }\n\n if (this.dropdown && this.dropdown._popper) this.dropdown._popper.update();\n }\n\n setSize (refresh) {\n this.liHeight(refresh);\n\n if (this.options.header) this.menu.style.paddingTop = 0;\n\n if (this.options.size !== false) {\n var that = this;\n\n this.setMenuSize();\n\n if (this.options.liveSearch) {\n this._replace('setMenuSizeInput', this.searchbox, 'input', function () {\n return that.setMenuSize();\n });\n }\n\n if (this.options.size === 'auto') {\n var windowSizeHandler = function () {\n return that.setMenuSize();\n };\n this._replace('setMenuSizeResize', window, 'resize', windowSizeHandler);\n this._replace('setMenuSizeScroll', window, 'scroll', windowSizeHandler);\n } else if (this.options.size && this.options.size !== 'auto' && this.selectpicker.current.elements.length > this.options.size) {\n this._removeNamed('setMenuSizeResize');\n this._removeNamed('setMenuSizeScroll');\n }\n }\n\n this.createView(false, true, refresh);\n }\n\n setWidth () {\n this.menu.style.minWidth = '';\n this.newElement.style.width = '';\n this.newElement.classList.remove('fit-width');\n\n if (this.options.width === 'fit') {\n this.newElement.classList.add('fit-width');\n return;\n }\n\n if (this.options.width && this.options.width !== 'auto') {\n this.newElement.style.width = this.options.width;\n }\n }\n\n selectPosition () {\n this.bsContainer = createFromHTML('
    ');\n\n var that = this,\n container = resolveContainer(this.options.container),\n pos,\n containerPos,\n actualHeight,\n getPlacement = function (element) {\n var Dropdown = getDropdown(),\n containerPosition = {},\n // fall back to dropdown's default display setting if display is not manually set\n display = that.options.display || (Dropdown.Default ? Dropdown.Default.display : false);\n\n var extraClass = element.getAttribute('class').replace(/form-control|fit-width/gi, '').trim();\n if (extraClass) that.bsContainer.classList.add.apply(that.bsContainer.classList, extraClass.split(/\\s+/));\n that.bsContainer.classList.toggle(classNames.DROPUP, element.classList.contains(classNames.DROPUP));\n pos = offset(element);\n\n if (container !== document.body) {\n containerPos = offset(container);\n var containerStyle = window.getComputedStyle(container);\n containerPos.top += toInteger(containerStyle.borderTopWidth) - container.scrollTop;\n containerPos.left += toInteger(containerStyle.borderLeftWidth) - container.scrollLeft;\n } else {\n containerPos = { top: 0, left: 0 };\n }\n\n actualHeight = element.classList.contains(classNames.DROPUP) ? 0 : element.offsetHeight;\n\n // Bootstrap 5 uses Popper for menu positioning\n if (display === 'static') {\n containerPosition.top = pos.top - containerPos.top + actualHeight;\n containerPosition.left = pos.left - containerPos.left;\n }\n\n containerPosition.width = element.offsetWidth;\n\n setStyles(that.bsContainer, {\n top: containerPosition.top !== undefined ? containerPosition.top + 'px' : '',\n left: containerPosition.left !== undefined ? containerPosition.left + 'px' : '',\n width: containerPosition.width + 'px'\n });\n };\n\n this._on(this.button, 'click', function () {\n if (that.isDisabled()) {\n return;\n }\n\n getPlacement(that.newElement);\n\n container.appendChild(that.bsContainer);\n that.bsContainer.classList.toggle(classNames.SHOW, !that.button.classList.contains(classNames.SHOW));\n that.bsContainer.appendChild(that.menu);\n });\n\n var windowHandler = function () {\n var isActive = that.newElement.classList.contains(classNames.SHOW);\n\n if (isActive) getPlacement(that.newElement);\n };\n this._replace('selectPositionResize', window, 'resize', windowHandler);\n this._replace('selectPositionScroll', window, 'scroll', windowHandler);\n\n this._on(this.element, 'hide' + EVENT_KEY, function () {\n that._menuHeight = outerHeight(that.menu);\n if (that.bsContainer.parentNode) that.bsContainer.parentNode.removeChild(that.bsContainer);\n });\n }\n\n createOption (data, init) {\n var optionData = !data.option ? data : data.option;\n\n if (optionData && optionData.nodeType !== 1) {\n var option = (init ? elementTemplates.selectedOption : elementTemplates.option).cloneNode(true);\n if (optionData.value !== undefined) option.value = optionData.value;\n option.textContent = optionData.text;\n\n option.selected = true;\n\n if (optionData.liIndex !== undefined) {\n option.liIndex = optionData.liIndex;\n } else if (!init) {\n option.liIndex = data.index;\n }\n\n data.option = option;\n\n this.selectpicker.main.optionQueue.appendChild(option);\n }\n }\n\n setOptionStatus (selectedOnly) {\n var that = this;\n\n that.noScroll = false;\n\n if (that.selectpicker.view.visibleElements && that.selectpicker.view.visibleElements.length) {\n for (var i = 0; i < that.selectpicker.view.visibleElements.length; i++) {\n var liData = that.selectpicker.current.data[i + that.selectpicker.view.position0],\n option = liData.option;\n\n if (option) {\n if (selectedOnly !== true) {\n that.setDisabled(liData);\n }\n\n that.setSelected(liData);\n }\n }\n\n // append optionQueue (documentFragment with option elements for select options)\n if (this.options.source.data) this.element.appendChild(this.selectpicker.main.optionQueue);\n }\n }\n\n /**\n * @param {Object} liData - the option object that is being changed\n * @param {boolean} selected - true if the option is being selected, false if being deselected\n */\n setSelected (liData, selected) {\n selected = selected === undefined ? liData.selected : selected;\n\n var li = liData.element,\n activeElementIsSet = this.activeElement !== undefined,\n thisIsActive = this.activeElement === li,\n prevActive,\n a,\n keepActive = thisIsActive || (selected && !this.multiple && !activeElementIsSet);\n\n if (selected !== undefined) {\n liData.selected = selected;\n if (liData.option) liData.option.selected = selected;\n }\n\n if (selected && this.options.source.data) {\n this.createOption(liData, false);\n }\n\n if (!li) return;\n\n a = li.firstChild;\n\n if (selected) {\n this.selectedElement = li;\n }\n\n li.classList.toggle('selected', selected);\n\n if (keepActive) {\n this.focusItem(li, liData);\n this.selectpicker.view.currentActive = li;\n this.activeElement = li;\n } else {\n this.defocusItem(li);\n }\n\n if (a) {\n a.classList.toggle('selected', selected);\n\n if (selected) {\n a.setAttribute('aria-selected', true);\n } else {\n if (this.multiple) {\n a.setAttribute('aria-selected', false);\n } else {\n a.removeAttribute('aria-selected');\n }\n }\n }\n\n if (!keepActive && !activeElementIsSet && selected && this.prevActiveElement !== undefined) {\n prevActive = this.prevActiveElement;\n\n this.defocusItem(prevActive);\n }\n }\n\n /**\n * @param {Object} liData - the option that is being disabled\n */\n setDisabled (liData) {\n var disabled = liData.disabled,\n li = liData.element,\n a;\n\n if (!li) return;\n\n a = li.firstChild;\n\n li.classList.toggle(classNames.DISABLED, disabled);\n\n if (a) {\n a.classList.toggle(classNames.DISABLED, disabled);\n\n if (disabled) {\n a.setAttribute('aria-disabled', disabled);\n a.setAttribute('tabindex', -1);\n } else {\n a.removeAttribute('aria-disabled');\n a.setAttribute('tabindex', 0);\n }\n }\n }\n\n isDisabled () {\n return this.element.disabled;\n }\n\n checkDisabled () {\n if (this.isDisabled()) {\n this.newElement.classList.add(classNames.DISABLED);\n this.button.classList.add(classNames.DISABLED);\n this.button.setAttribute('aria-disabled', true);\n } else {\n if (this.button.classList.contains(classNames.DISABLED)) {\n this.newElement.classList.remove(classNames.DISABLED);\n this.button.classList.remove(classNames.DISABLED);\n this.button.setAttribute('aria-disabled', false);\n }\n }\n }\n\n clickListener () {\n var that = this;\n\n spaceSelectFlag = false;\n\n this._on(this.button, 'keyup', function (e) {\n if (/(32)/.test(e.keyCode.toString(10)) && spaceSelectFlag) {\n e.preventDefault();\n spaceSelectFlag = false;\n }\n });\n\n function clearSelection (e) {\n if (that.multiple) {\n that.deselectAll();\n } else {\n var element = that.element,\n prevValue = element.value,\n prevIndex = element.selectedIndex,\n prevOption = element.options[prevIndex],\n prevData = prevOption ? that.selectpicker.main.data[prevOption.liIndex] : false;\n\n if (prevData) {\n that.setSelected(prevData, false);\n }\n\n element.selectedIndex = 0;\n\n changedArguments = [prevIndex, false, prevValue];\n triggerNative(that.element, 'change');\n }\n\n // remove selected styling if menu is open\n if (that.newElement.classList.contains(classNames.SHOW)) {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n }\n\n that.createView(false);\n }\n }\n\n if (this.options.allowClear) {\n this._on(this.button, 'click', function (e) {\n var target = e.target,\n clearButton = that.clearButton;\n\n if (target === clearButton || target.parentElement === clearButton) {\n e.stopImmediatePropagation();\n clearSelection(e);\n }\n });\n }\n\n function setFocus () {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.menuInner.focus();\n }\n }\n\n function checkPopperExists () {\n if (that.dropdown && that.dropdown._popper && that.dropdown._popper.state) {\n setFocus();\n } else {\n requestAnimationFrame(checkPopperExists);\n }\n }\n\n this._on(this.element, 'shown' + EVENT_KEY, function () {\n if (that.menuInner.scrollTop !== that.selectpicker.view.scrollTop) {\n that.menuInner.scrollTop = that.selectpicker.view.scrollTop;\n }\n\n requestAnimationFrame(checkPopperExists);\n });\n\n // ensure posinset and setsize are correct before selecting an option via a click\n this._delegate(this.menuInner, 'mouseover', 'li a', function () {\n var hoverLi = this.parentElement,\n position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0,\n index = Array.prototype.indexOf.call(hoverLi.parentElement.children, hoverLi),\n hoverData = that.selectpicker.current.data[index + position0];\n\n that.focusItem(hoverLi, hoverData, true);\n });\n\n this._delegate(this.menuInner, 'click', 'li a', function (e) {\n that.onOptionClick(this, e);\n });\n\n this._delegate(this.menu, 'click', 'li.' + classNames.DISABLED + ' a, .' + classNames.POPOVERHEADER + ', .' + classNames.POPOVERHEADER + ' :not(.btn-close):not(.close)', function (e) {\n if (e.currentTarget === this || e.target === this) {\n e.preventDefault();\n e.stopPropagation();\n if (that.options.liveSearch && !e.target.classList.contains('btn-close') && !e.target.classList.contains('close')) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n }\n });\n\n this._delegate(this.menuInner, 'click', '.divider, .dropdown-header', function (e) {\n e.preventDefault();\n e.stopPropagation();\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n });\n\n this._delegate(this.menu, 'click', '.' + classNames.POPOVERHEADER + ' .btn-close, .' + classNames.POPOVERHEADER + ' .close', function () {\n that.dropdown.hide();\n });\n\n this._delegate(this.newElement, 'click', '.bs-selected-item', function (e) {\n e.preventDefault();\n e.stopPropagation();\n that.removeSelectedTag(this.getAttribute('data-option-value'));\n });\n\n this._delegate(this.menu, 'click', '.bs-create-option', function (e) {\n e.preventDefault();\n e.stopPropagation();\n that.createOpenOption(this.getAttribute('data-search-value'));\n });\n\n if (this.searchbox) {\n this._on(this.searchbox, 'click', function (e) {\n e.stopPropagation();\n });\n }\n\n this._delegate(this.menu, 'click', '.actions-btn', function (e) {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (this.classList.contains('bs-select-all')) {\n that.selectAll();\n } else {\n that.deselectAll();\n }\n });\n\n this._on(this.button, 'focus', function (e) {\n var tabindex = that.element.getAttribute('tabindex');\n\n // only change when button is actually focused\n if (tabindex !== undefined && tabindex !== null && e.isTrusted) {\n // apply select element's tabindex to ensure correct order is followed when tabbing to the next element\n this.setAttribute('tabindex', tabindex);\n // set element's tabindex to -1 to allow for reverse tabbing\n that.element.setAttribute('tabindex', -1);\n that.selectpicker.view.tabindex = tabindex;\n }\n });\n\n this._on(this.button, 'blur', function (e) {\n // revert everything to original tabindex\n if (that.selectpicker.view.tabindex !== undefined && e.isTrusted) {\n that.element.setAttribute('tabindex', that.selectpicker.view.tabindex);\n this.setAttribute('tabindex', -1);\n that.selectpicker.view.tabindex = undefined;\n }\n });\n\n this._on(this.element, 'change', function () {\n that.render();\n that._emit('changed', changedArguments ? {\n clickedIndex: changedArguments[0],\n isSelected: changedArguments[1],\n previousValue: changedArguments[2]\n } : null);\n changedArguments = null;\n });\n\n this._on(this.element, 'focus', function () {\n if (!that.options.mobile) that.button.focus();\n });\n }\n\n onOptionClick (clickedAnchor, e, retainActive) {\n var that = this,\n element = that.element,\n li = clickedAnchor.parentElement,\n position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0,\n clickedData = that.selectpicker.current.data[Array.prototype.indexOf.call(li.parentElement.children, li) + position0],\n clickedElement = clickedData.element,\n prevValue = getSelectValues.call(that),\n prevIndex = element.selectedIndex,\n prevOption = element.options[prevIndex],\n prevData = prevOption ? that.selectpicker.main.data[prevOption.liIndex] : false,\n triggerChange = true;\n\n // Don't close on multi choice menu\n if (that.multiple && that.options.maxOptions !== 1) {\n e.stopPropagation();\n }\n\n e.preventDefault();\n\n // Don't run if the select is disabled\n if (!that.isDisabled() && !li.classList.contains(classNames.DISABLED)) {\n var option = clickedData.option,\n state = option.selected,\n optgroupData = that.selectpicker.current.data.find(function (datum) {\n return datum.optID === clickedData.optID && datum.type === 'optgroup-label';\n }),\n optgroup = optgroupData ? optgroupData.optgroup : undefined,\n dataGetter = optgroup instanceof Element ? getOptionData.fromOption : getOptionData.fromDataSource,\n optgroupOptions = optgroup && optgroup.children,\n maxOptions = parseInt(that.options.maxOptions),\n maxOptionsGrp = optgroup && parseInt(dataGetter(optgroup, 'maxOptions')) || false;\n\n if (clickedElement === that.activeElement) retainActive = true;\n\n if (!retainActive) {\n that.prevActiveElement = that.activeElement;\n that.activeElement = undefined;\n }\n\n if (!that.multiple || maxOptions === 1) { // Deselect previous option if not multi select\n if (prevData) that.setSelected(prevData, false);\n that.setSelected(clickedData, true);\n } else { // Toggle the clicked option if multi select.\n that.setSelected(clickedData, !state);\n that.focusedParent.focus();\n\n if (maxOptions !== false || maxOptionsGrp !== false) {\n var maxReached = maxOptions < getSelectedOptions.call(that).length,\n selectedGroupOptions = 0;\n\n if (optgroup && optgroup.children) {\n for (var i = 0; i < optgroup.children.length; i++) {\n if (optgroup.children[i].selected) selectedGroupOptions++;\n }\n }\n\n var maxReachedGrp = maxOptionsGrp < selectedGroupOptions;\n\n if ((maxOptions && maxReached) || (maxOptionsGrp && maxReachedGrp)) {\n if (maxOptions && maxOptions === 1) {\n element.selectedIndex = -1;\n that.setOptionStatus(true);\n } else if (maxOptionsGrp && maxOptionsGrp === 1) {\n for (var j = 0; j < optgroupOptions.length; j++) {\n var _option = optgroupOptions[j];\n that.setSelected(that.selectpicker.current.data[_option.liIndex], false);\n }\n\n that.setSelected(clickedData, true);\n } else {\n var maxOptionsText = typeof that.options.maxOptionsText === 'string' ? [that.options.maxOptionsText, that.options.maxOptionsText] : that.options.maxOptionsText,\n maxOptionsArr = typeof maxOptionsText === 'function' ? maxOptionsText(maxOptions, maxOptionsGrp) : maxOptionsText,\n maxTxt = maxOptionsArr[0].replace('{n}', maxOptions),\n maxTxtGrp = maxOptionsArr[1].replace('{n}', maxOptionsGrp),\n notify = createFromHTML('
    ');\n\n that.menu.appendChild(notify);\n\n if (maxOptions && maxReached) {\n notify.appendChild(createFromHTML('
    ' + maxTxt + '
    '));\n triggerChange = false;\n that._emit('maxReached');\n }\n\n if (maxOptionsGrp && maxReachedGrp) {\n notify.appendChild(createFromHTML('
    ' + maxTxtGrp + '
    '));\n triggerChange = false;\n that._emit('maxReachedGrp');\n }\n\n setTimeout(function () {\n that.setSelected(clickedData, false);\n }, 10);\n\n notify.classList.add('fadeOut');\n\n setTimeout(function () {\n notify.remove();\n }, 1050);\n }\n }\n }\n }\n\n if (that.options.source.data) that.element.appendChild(that.selectpicker.main.optionQueue);\n\n if (!that.multiple || (that.multiple && that.options.maxOptions === 1)) {\n that.button.focus();\n } else if (that.options.liveSearch) {\n that.searchbox.focus();\n }\n\n // Trigger select 'change'\n if (triggerChange) {\n if (that.multiple || prevIndex !== element.selectedIndex) {\n changedArguments = [option.index, option.selected, prevValue];\n triggerNative(that.element, 'change');\n }\n }\n }\n }\n\n liveSearchListener () {\n var that = this;\n\n this._on(this.searchbox, 'click', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'focus', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'touchend', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'keydown', function (e) {\n if (e.key === 'Enter' && that.createOptionButton && !that.createOptionButton.hidden && !that.selectpicker.current.data.length) {\n e.preventDefault();\n e.stopPropagation();\n that.createOpenOption(that.searchbox.value);\n }\n });\n\n this._on(this.searchbox, 'input', function () {\n var searchValue = that.searchbox.value;\n\n that.selectpicker.search.elements = [];\n that.selectpicker.search.data = [];\n\n if (searchValue) {\n that.selectpicker.search.previousValue = searchValue;\n\n if (that.options.source.search) {\n that.fetchData(function () {\n that.appendCreatedSearchResults(searchValue);\n that.render();\n that.buildList(undefined, true);\n that.noScroll = true;\n that.menuInner.scrollTop = 0;\n that.createView(true);\n showNoResults.call(that, that.selectpicker.search.data, searchValue);\n }, 'search', 0, searchValue);\n } else {\n var searchMatch = [],\n q = searchValue.toUpperCase(),\n cache = {},\n cacheArr = [],\n searchStyle = that._searchStyle(),\n normalizeSearch = that.options.liveSearchNormalize;\n\n if (normalizeSearch) q = normalizeToBase(q);\n\n for (var i = 0; i < that.selectpicker.main.data.length; i++) {\n var li = that.selectpicker.main.data[i];\n\n if (!cache[i]) {\n cache[i] = stringSearch(li, q, searchStyle, normalizeSearch);\n }\n\n if (cache[i] && li.headerIndex !== undefined && cacheArr.indexOf(li.headerIndex) === -1) {\n if (li.headerIndex > 0) {\n cache[li.headerIndex - 1] = true;\n cacheArr.push(li.headerIndex - 1);\n }\n\n cache[li.headerIndex] = true;\n cacheArr.push(li.headerIndex);\n\n cache[li.lastIndex + 1] = true;\n }\n\n if (cache[i] && li.type !== 'optgroup-label') cacheArr.push(i);\n }\n\n for (var j = 0, cacheLen = cacheArr.length; j < cacheLen; j++) {\n var index = cacheArr[j],\n prevIndex = cacheArr[j - 1],\n liData = that.selectpicker.main.data[index],\n liPrev = that.selectpicker.main.data[prevIndex];\n\n if (liData.type !== 'divider' || (liData.type === 'divider' && liPrev && liPrev.type !== 'divider' && cacheLen - 1 !== j)) {\n that.selectpicker.search.data.push(liData);\n searchMatch.push(that.selectpicker.main.elements[index]);\n }\n }\n\n that.activeElement = undefined;\n that.noScroll = true;\n that.menuInner.scrollTop = 0;\n that.selectpicker.search.elements = searchMatch;\n that.createView(true);\n showNoResults.call(that, searchMatch, searchValue);\n }\n } else if (that.selectpicker.search.previousValue) {\n that.menuInner.scrollTop = 0;\n that.createView(false);\n }\n\n that.syncOpenOptionButton();\n });\n }\n\n _searchStyle () {\n return this.options.liveSearchStyle || 'contains';\n }\n\n getValue () {\n var element = this.element;\n\n if (this.multiple) {\n var values = [];\n for (var i = 0; i < element.options.length; i++) {\n if (element.options[i].selected) values.push(element.options[i].value);\n }\n return values;\n }\n\n return element.value;\n }\n\n val (value) {\n var element = this.element;\n\n if (typeof value !== 'undefined') {\n var selectedOptions = getSelectedOptions.call(this),\n prevValue = getSelectValues.call(this, selectedOptions);\n\n changedArguments = [null, null, prevValue];\n\n if (!Array.isArray(value)) value = [ value ];\n\n value.map(String);\n\n for (var i = 0; i < selectedOptions.length; i++) {\n var item = selectedOptions[i];\n\n if (item && value.indexOf(String(item.value)) === -1) {\n this.setSelected(item, false);\n }\n }\n\n // only update selected value if it matches an existing option\n this.selectpicker.main.data.filter(function (item) {\n if (value.indexOf(String(item.value)) !== -1) {\n this.setSelected(item, true);\n return true;\n }\n\n return false;\n }, this);\n\n if (this.options.source.data) element.appendChild(this.selectpicker.main.optionQueue);\n\n this._emit('changed', changedArguments ? {\n clickedIndex: changedArguments[0],\n isSelected: changedArguments[1],\n previousValue: changedArguments[2]\n } : null);\n\n if (this.newElement.classList.contains(classNames.SHOW)) {\n if (this.multiple) {\n this.setOptionStatus(true);\n } else {\n var liSelectedIndex = (element.options[element.selectedIndex] || {}).liIndex;\n\n if (typeof liSelectedIndex === 'number') {\n this.setSelected(this.selectpicker.current.data[liSelectedIndex], true);\n }\n }\n }\n\n this.render();\n\n changedArguments = null;\n\n return this.element;\n } else {\n return this.getValue();\n }\n }\n\n changeAll (status) {\n if (!this.multiple) return;\n if (typeof status === 'undefined') status = true;\n\n var element = this.element,\n previousSelected = 0,\n currentSelected = 0,\n prevValue = getSelectValues.call(this);\n\n element.classList.add('bs-select-hidden');\n\n for (var i = 0, data = this.selectpicker.current.data, len = data.length; i < len; i++) {\n var liData = data[i],\n option = liData.option;\n\n if (option && !liData.disabled && liData.type !== 'divider') {\n if (liData.selected) previousSelected++;\n option.selected = status;\n liData.selected = status;\n if (status === true) currentSelected++;\n }\n }\n\n element.classList.remove('bs-select-hidden');\n\n if (previousSelected === currentSelected) return;\n\n this.setOptionStatus();\n\n changedArguments = [null, null, prevValue];\n\n triggerNative(this.element, 'change');\n }\n\n selectAll () {\n return this.changeAll(true);\n }\n\n deselectAll () {\n return this.changeAll(false);\n }\n\n toggle (e, state) {\n var isActive,\n triggerToggle = state === undefined;\n\n if (e && e.stopPropagation) e.stopPropagation();\n\n if (triggerToggle === false) {\n isActive = this.newElement.classList.contains(classNames.SHOW);\n triggerToggle = (state === true && isActive === false) || (state === false && isActive === true);\n }\n\n if (triggerToggle) this.dropdown.toggle();\n }\n\n open (e) {\n this.toggle(e, true);\n }\n\n close (e) {\n this.toggle(e, false);\n }\n\n _keydown (e, el) {\n var that = this,\n which = e.which || e.keyCode,\n isToggle = el.classList.contains('dropdown-toggle'),\n items = that.findLis(),\n index,\n isActive,\n liActive,\n activeLi,\n offsetVal,\n updateScroll = false,\n downOnTab = which === keyCodes.TAB && !isToggle && !that.options.selectOnTab,\n isArrowKey = REGEXP_ARROW.test(which) || downOnTab,\n scrollTop = that.menuInner.scrollTop,\n isVirtual = that.isVirtual(),\n position0 = isVirtual === true ? that.selectpicker.view.position0 : 0;\n\n // do nothing if a function key is pressed\n if (which >= 112 && which <= 123) return;\n\n isActive = that.menu.classList.contains(classNames.SHOW);\n\n if (\n !isActive &&\n (\n isArrowKey ||\n (which >= 48 && which <= 57) ||\n (which >= 96 && which <= 105) ||\n (which >= 65 && which <= 90)\n )\n ) {\n that.dropdown.show();\n\n if (that.options.liveSearch) {\n that.searchbox.focus();\n return;\n }\n }\n\n if (which === keyCodes.ESCAPE && isActive) {\n e.preventDefault();\n that.dropdown.hide();\n that.button.focus();\n }\n\n if (isArrowKey) { // if up or down\n if (!items.length) return;\n\n liActive = that.activeElement;\n index = liActive ? Array.prototype.indexOf.call(liActive.parentElement.children, liActive) : -1;\n\n if (index !== -1) {\n that.defocusItem(liActive);\n }\n\n if (which === keyCodes.ARROW_UP) { // up\n if (index !== -1) index--;\n if (index + position0 < 0) index += items.length;\n\n if (!that.selectpicker.view.canHighlight[index + position0]) {\n index = that.selectpicker.view.canHighlight.slice(0, index + position0).lastIndexOf(true) - position0;\n if (index === -1) index = items.length - 1;\n }\n } else if (which === keyCodes.ARROW_DOWN || downOnTab) { // down\n index++;\n if (index + position0 >= that.selectpicker.view.canHighlight.length) index = that.selectpicker.view.firstHighlightIndex;\n\n if (!that.selectpicker.view.canHighlight[index + position0]) {\n index = index + 1 + that.selectpicker.view.canHighlight.slice(index + position0 + 1).indexOf(true);\n }\n }\n\n e.preventDefault();\n\n var liActiveIndex = position0 + index;\n\n if (which === keyCodes.ARROW_UP) { // up\n // scroll to bottom and highlight last option\n if (position0 === 0 && index === items.length - 1) {\n that.menuInner.scrollTop = that.menuInner.scrollHeight;\n\n liActiveIndex = that.selectpicker.current.elements.length - 1;\n } else {\n activeLi = that.selectpicker.current.data[liActiveIndex];\n\n // could be undefined if no results exist\n if (activeLi) {\n offsetVal = activeLi.position - activeLi.height;\n\n updateScroll = offsetVal < scrollTop;\n }\n }\n } else if (which === keyCodes.ARROW_DOWN || downOnTab) { // down\n // scroll to top and highlight first option\n if (index === that.selectpicker.view.firstHighlightIndex) {\n that.menuInner.scrollTop = 0;\n\n liActiveIndex = that.selectpicker.view.firstHighlightIndex;\n } else {\n activeLi = that.selectpicker.current.data[liActiveIndex];\n\n // could be undefined if no results exist\n if (activeLi) {\n offsetVal = activeLi.position - that.sizeInfo.menuInnerHeight;\n\n updateScroll = offsetVal > scrollTop;\n }\n }\n }\n\n liActive = that.selectpicker.current.elements[liActiveIndex];\n\n that.activeElement = (that.selectpicker.current.data[liActiveIndex] || {}).element;\n\n that.focusItem(liActive);\n\n that.selectpicker.view.currentActive = liActive;\n\n if (updateScroll) that.menuInner.scrollTop = offsetVal;\n\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n el.focus();\n }\n } else if (\n (!el.matches('input') && !REGEXP_TAB_OR_ESCAPE.test(which)) ||\n (which === keyCodes.SPACE && that.selectpicker.keydown.keyHistory)\n ) {\n var matches = [],\n keyHistory;\n\n e.preventDefault();\n\n that.selectpicker.keydown.keyHistory += keyCodeMap[which];\n\n if (that.selectpicker.keydown.resetKeyHistory.cancel) clearTimeout(that.selectpicker.keydown.resetKeyHistory.cancel);\n that.selectpicker.keydown.resetKeyHistory.cancel = that.selectpicker.keydown.resetKeyHistory.start();\n\n keyHistory = that.selectpicker.keydown.keyHistory;\n\n // if all letters are the same, set keyHistory to just the first character when searching\n if (/^(.)\\1+$/.test(keyHistory)) {\n keyHistory = keyHistory.charAt(0);\n }\n\n // find matches\n for (var i = 0; i < that.selectpicker.current.data.length; i++) {\n var li = that.selectpicker.current.data[i],\n hasMatch;\n\n hasMatch = stringSearch(li, keyHistory, 'startsWith', true);\n\n if (hasMatch && that.selectpicker.view.canHighlight[i]) {\n matches.push(li.element);\n }\n }\n\n if (matches.length) {\n var matchIndex = 0;\n\n Array.prototype.forEach.call(items, function (item) {\n item.classList.remove('active');\n if (item.firstChild) item.firstChild.classList.remove('active');\n });\n\n // either only one key has been pressed or they are all the same key\n if (keyHistory.length === 1) {\n matchIndex = matches.indexOf(that.activeElement);\n\n if (matchIndex === -1 || matchIndex === matches.length - 1) {\n matchIndex = 0;\n } else {\n matchIndex++;\n }\n }\n\n activeLi = that.selectpicker.main.data[that.selectpicker.main.elements.indexOf(matches[matchIndex])];\n\n if (activeLi) {\n if (scrollTop - activeLi.position > 0) {\n offsetVal = activeLi.position - activeLi.height;\n updateScroll = true;\n } else {\n offsetVal = activeLi.position - that.sizeInfo.menuInnerHeight;\n // if the option is already visible at the current scroll position, just keep it the same\n updateScroll = activeLi.position > scrollTop + that.sizeInfo.menuInnerHeight;\n }\n }\n\n liActive = matches[matchIndex];\n\n that.activeElement = liActive;\n\n that.focusItem(liActive);\n\n if (liActive) liActive.firstChild.focus();\n\n if (updateScroll) that.menuInner.scrollTop = offsetVal;\n\n el.focus();\n }\n }\n\n // Select focused option if \"Enter\", \"Spacebar\" or \"Tab\" (when selectOnTab is true) are pressed inside the menu.\n if (\n isActive &&\n (\n (which === keyCodes.SPACE && !that.selectpicker.keydown.keyHistory) ||\n which === keyCodes.ENTER ||\n (which === keyCodes.TAB && that.options.selectOnTab)\n )\n ) {\n if (which !== keyCodes.SPACE) e.preventDefault();\n\n if (!that.options.liveSearch || which !== keyCodes.SPACE) {\n var activeAnchor = that.menuInner.querySelector('.active a');\n if (activeAnchor) that.onOptionClick(activeAnchor, e, true); // retain active class\n el.focus();\n\n if (!that.options.liveSearch) {\n // Prevent screen from scrolling if the user hits the spacebar\n e.preventDefault();\n // Fixes spacebar selection of dropdown items in FF & IE\n spaceSelectFlag = true;\n }\n }\n }\n }\n\n mobile () {\n // ensure mobile is set to true if mobile function is called after init\n this.options.mobile = true;\n this.element.classList.add('mobile-device');\n }\n\n resetMenuData () {\n this.selectpicker.main.data = [];\n this.selectpicker.main.elements = [];\n this.selectpicker.main.hasMore = false;\n this.selectpicker.search.data = [];\n this.selectpicker.search.elements = [];\n this.selectpicker.search.hasMore = false;\n this.selectpicker.current.data = this.selectpicker.main.data;\n this.selectpicker.current.elements = this.selectpicker.main.elements;\n this.selectpicker.current.hasMore = false;\n this.selectpicker.isSearching = false;\n }\n\n refresh () {\n var that = this;\n // update options if data attributes have been changed\n var config = stripRemovedOptions(Object.assign({}, this.options, getAttributesObject(this.element), getDataset(this.element)));\n this.options = config;\n\n if (this.options.source.data) {\n this.render();\n this.buildList();\n } else {\n this.resetMenuData();\n this.fetchData(function () {\n that.render();\n that.buildList();\n });\n }\n\n this.checkDisabled();\n this.setStyle();\n this.setWidth();\n\n this.setSize(true);\n\n this._emit('refreshed');\n }\n\n hide () {\n this.newElement.style.display = 'none';\n }\n\n show () {\n this.newElement.style.display = '';\n }\n\n remove () {\n if (this.newElement.parentNode) this.newElement.parentNode.removeChild(this.newElement);\n instanceMap.delete(this.element);\n }\n\n destroy () {\n // move the select back out of newElement, then remove newElement\n if (this.newElement.parentNode) {\n this.newElement.parentNode.insertBefore(this.element, this.newElement);\n this.newElement.parentNode.removeChild(this.newElement);\n }\n\n if (this.bsContainer) {\n if (this.bsContainer.parentNode) this.bsContainer.parentNode.removeChild(this.bsContainer);\n } else if (this.menu && this.menu.parentNode) {\n this.menu.parentNode.removeChild(this.menu);\n }\n\n if (this.selectpicker.view.titleOption && this.selectpicker.view.titleOption.parentNode) {\n this.selectpicker.view.titleOption.parentNode.removeChild(this.selectpicker.view.titleOption);\n }\n\n // remove all tracked event listeners\n for (var i = 0; i < this._listeners.length; i++) {\n var l = this._listeners[i];\n l.el.removeEventListener(l.type, l.handler, l.options);\n }\n this._listeners = [];\n\n for (var key in this._named) {\n if (Object.prototype.hasOwnProperty.call(this._named, key)) {\n this._removeNamed(key);\n }\n }\n\n if (this.dropdown && typeof this.dropdown.dispose === 'function') {\n this.dropdown.dispose();\n }\n\n this.element.classList.remove('bs-select-hidden', 'selectpicker', 'mobile-device');\n\n instanceMap.delete(this.element);\n }\n}\n\n// stores element -> Selectpicker instance\nvar instanceMap = new WeakMap();\n\nSelectpicker.NAME = 'selectpicker';\nSelectpicker.VERSION = '1.1.2';\n\n// user-provided global defaults (set via Selectpicker.setDefaults, used by i18n files)\nSelectpicker.defaults = null;\n\n// part of this is duplicated in i18n/defaults-en_US.js. Make sure to update both.\nSelectpicker.DEFAULTS = {\n noneSelectedText: 'Nothing selected',\n noneResultsText: 'No results matched {0}',\n countSelectedText: function (numSelected) {\n return (numSelected == 1) ? '{0} item selected' : '{0} items selected';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)',\n (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'\n ];\n },\n selectAllText: 'Select All',\n deselectAllText: 'Deselect All',\n source: {\n pageSize: 40,\n create: null\n },\n chunkSize: 40,\n doneButton: false,\n doneButtonText: 'Close',\n multipleSeparator: ', ',\n style: classNames.BUTTONCLASS,\n size: 'auto',\n placeholder: null,\n allowClear: false,\n selectedTextFormat: 'values',\n width: false,\n hideDisabled: false,\n showSubtext: false,\n showIcon: true,\n showContent: true,\n dropupAuto: true,\n header: false,\n liveSearch: false,\n liveSearchPlaceholder: null,\n liveSearchNormalize: false,\n liveSearchStyle: 'contains',\n openOptions: false,\n openOptionsText: 'Create \"{0}\"',\n selectionIndicator: 'checkmark',\n actionsBox: false,\n iconBase: classNames.ICONBASE,\n tickIcon: classNames.TICKICON,\n showTick: false,\n showSelectedTags: false,\n selectedItemsStyle: 'tags',\n selectedTagRemoveLabel: 'Remove',\n template: {\n caret: ''\n },\n maxOptions: false,\n selectOnTab: true,\n dropdownAlignRight: false,\n virtualScroll: 600,\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist\n};\n\nSelectpicker._buildConfig = function (element, options) {\n options = stripRemovedOptions(options || {});\n\n var dataAttributes = stripRemovedOptions(getDataset(element));\n\n for (var dataAttr in dataAttributes) {\n if (Object.prototype.hasOwnProperty.call(dataAttributes, dataAttr) && DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr];\n }\n }\n\n var userDefaults = stripRemovedOptions(Selectpicker.defaults || {});\n\n var config = Object.assign({}, Selectpicker.DEFAULTS, userDefaults, getAttributesObject(element), dataAttributes, options);\n config.template = Object.assign({}, Selectpicker.DEFAULTS.template, userDefaults.template || {}, dataAttributes.template, options.template);\n config.source = Object.assign({}, Selectpicker.DEFAULTS.source, userDefaults.source || {}, options.source);\n\n return applyLegacyOptions(element, config);\n};\n\nSelectpicker.setDefaults = function (newDefaults) {\n Selectpicker.defaults = stripRemovedOptions(Object.assign({}, Selectpicker.defaults, newDefaults));\n};\n\nSelectpicker.getInstance = function (element) {\n if (typeof element === 'string') element = document.querySelector(element);\n return instanceMap.get(element) || null;\n};\n\nSelectpicker.getOrCreateInstance = function (element, options) {\n if (typeof element === 'string') element = document.querySelector(element);\n if (!element || element.tagName !== 'SELECT') return null;\n\n var instance = instanceMap.get(element);\n\n if (instance) {\n options = stripRemovedOptions(options);\n\n if (options && typeof options === 'object') {\n for (var i in options) {\n if (Object.prototype.hasOwnProperty.call(options, i)) {\n instance.options[i] = options[i];\n }\n }\n }\n\n return instance;\n }\n\n return new Selectpicker(element, typeof options === 'object' ? options : {});\n};\n\n// \nvar KEYDOWN_SELECTOR = '.bootstrap-select [' + Selector.DATA_TOGGLE + '], .bootstrap-select [role=\"listbox\"], .bootstrap-select .bs-searchbox input';\n\n// Handle keyboard navigation ourselves. This listener runs in the capture\n// phase on `window` so it executes before Bootstrap's `document`-level\n// (capture-phase, delegated) dropdown keydown handler and prevents it from\n// processing bootstrap-select's custom menu (which would otherwise error on\n// relocated/container menus and conflict with our own navigation). This\n// replaces the upstream approach of unbinding Bootstrap's global handler.\nwindow.addEventListener('keydown', function (e) {\n var target = e.target;\n if (!target || !target.closest) return;\n\n // Any keydown originating inside a bootstrap-select widget (or its relocated\n // menu container) must not reach Bootstrap's dropdown keydown handler.\n var widget = target.closest('.bootstrap-select, .bs-container');\n if (!widget) return;\n\n e.stopImmediatePropagation();\n\n var trigger = target.closest(KEYDOWN_SELECTOR);\n if (!trigger) return;\n\n var instance;\n for (var node = trigger; node; node = node.parentElement) {\n if (node.bootstrapSelectInstance) {\n instance = node.bootstrapSelectInstance;\n break;\n }\n }\n\n if (instance) instance._keydown(e, trigger);\n}, true);\n\ndocument.addEventListener('focusin', function (e) {\n var target = e.target;\n if (target && target.closest && target.closest(KEYDOWN_SELECTOR)) {\n e.stopPropagation();\n }\n});\n\nfunction initAll () {\n var selects = document.querySelectorAll('.selectpicker');\n Array.prototype.forEach.call(selects, function (select) {\n Selectpicker.getOrCreateInstance(select);\n });\n}\n\nif (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', initAll);\n} else {\n initAll();\n}\n// \n\nif (typeof window !== 'undefined') {\n window.Selectpicker = Selectpicker;\n}\n\nreturn Selectpicker;\n"]} \ No newline at end of file +{"version":3,"file":"bootstrap-select.esm.mjs","sources":["../../virtual:bootstrap-select-esm"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\nimport * as Bootstrap from 'bootstrap';\n\nvar __SELECTPICKER_EXPOSE_GLOBAL__ = false;\n\nvar Selectpicker = (function (bootstrap) {\n\n/* eslint-disable no-unused-vars */\n// Shared ordered source fragment consumed by the Grunt JS build.\n\n'use strict';\n\n// Resolve Bootstrap's Dropdown component (Bootstrap 5+). It may be provided\n// by the UMD factory (`bootstrap`), or available as a global.\nfunction getDropdown () {\n var bs = bootstrap || (typeof window !== 'undefined' ? window.bootstrap : undefined);\n return (bs && bs.Dropdown) || (typeof window !== 'undefined' ? window.Dropdown : undefined);\n}\n\n// \nfunction createFromHTML (html) {\n var wrapper = document.createElement('div');\n wrapper.innerHTML = html.trim();\n return wrapper.firstChild;\n}\n\nfunction toInteger (value) {\n return parseInt(value, 10) || 0;\n}\n\nfunction offset (el) {\n var rect = el.getBoundingClientRect();\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset\n };\n}\n\n// Resolves a container option (selector string or element) to an element.\nfunction resolveContainer (container) {\n if (!container) return null;\n return typeof container === 'string' ? document.querySelector(container) : container;\n}\n\nfunction outerHeight (el, includeMargin) {\n var height = el.offsetHeight;\n if (includeMargin) {\n var style = window.getComputedStyle(el);\n height += toInteger(style.marginTop) + toInteger(style.marginBottom);\n }\n return height;\n}\n\nfunction setStyles (el, styles) {\n for (var prop in styles) {\n if (Object.prototype.hasOwnProperty.call(styles, prop)) {\n el.style[prop] = styles[prop];\n }\n }\n}\n\nfunction triggerNative (el, eventName) {\n el.dispatchEvent(new Event(eventName, { bubbles: true }));\n}\n\n// shallow array comparison\nfunction isEqual (array1, array2) {\n return array1.length === array2.length && array1.every(function (element, index) {\n return element === array2[index];\n });\n}\n\nfunction toKebabCase (str) {\n return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, function ($, ofs) {\n return (ofs ? '-' : '') + $.toLowerCase();\n });\n}\n\nfunction toCamelCase (str) {\n return str.replace(/-([a-z])/g, function (m, letter) {\n return letter.toUpperCase();\n });\n}\n\n// Read options from data-* attributes using native values where possible.\nfunction convertDataValue (value) {\n if (value === 'true') return true;\n if (value === 'false') return false;\n if (value === 'null') return null;\n if (value === +value + '') return +value;\n if (/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/.test(value)) {\n try {\n return JSON.parse(value);\n } catch (e) {\n return value;\n }\n }\n return value;\n}\n\nfunction getDataset (el) {\n var dataset = {},\n attributes = el.attributes;\n\n for (var i = 0; i < attributes.length; i++) {\n var name = attributes[i].name;\n if (name.indexOf('data-') === 0) {\n dataset[toCamelCase(name.slice(5))] = convertDataValue(attributes[i].value);\n }\n }\n\n return dataset;\n}\n// \n\n// \nvar DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\n\nvar uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n];\n\nvar ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n\nvar DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', 'tabindex', 'style', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n};\n\n// A pattern that recognizes a commonly useful subset of URLs that are safe.\nvar SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;\n\n// A pattern that matches safe data URLs. Only matches image, video and audio types.\nvar DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;\n\nvar ParseableAttributes = ['placeholder']; // attributes to use as settings, can add others in the future\n\nfunction applyLegacyOptions (element, config) {\n if (!config.placeholder) {\n var title = element.getAttribute('title');\n if (title) config.placeholder = title;\n }\n\n return config;\n}\n\nfunction allowedAttribute (attr, allowedAttributeList) {\n var attrName = attr.nodeName.toLowerCase();\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));\n }\n\n return true;\n }\n\n var regExp = allowedAttributeList.filter(function (value) {\n return value instanceof RegExp;\n });\n\n // Check if a regular expression validates the attribute.\n for (var i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction sanitizeHtml (unsafeElements, whiteList, sanitizeFn) {\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeElements);\n }\n\n var whitelistKeys = Object.keys(whiteList);\n\n for (var i = 0, len = unsafeElements.length; i < len; i++) {\n var elements = unsafeElements[i].querySelectorAll('*');\n\n for (var j = 0, len2 = elements.length; j < len2; j++) {\n var el = elements[j];\n var elName = el.nodeName.toLowerCase();\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el);\n\n continue;\n }\n\n var attributeList = [].slice.call(el.attributes);\n var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\n\n for (var k = 0, len3 = attributeList.length; k < len3; k++) {\n var attr = attributeList[k];\n\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName);\n }\n }\n }\n }\n}\n// \n\nfunction getAttributesObject (element) {\n var attributesObject = {},\n attrVal;\n\n ParseableAttributes.forEach(function (item) {\n attrVal = element.getAttribute(item);\n if (attrVal) attributesObject[item] = attrVal;\n });\n\n return attributesObject;\n}\n\n\n/* eslint-disable no-unused-vars */\n// Shared ordered source fragment consumed by the Grunt JS build.\n\n// \nfunction stringSearch (li, searchString, method, normalize) {\n var stringTypes = [\n 'display',\n 'subtext',\n 'tokens'\n ],\n searchSuccess = false;\n\n for (var i = 0; i < stringTypes.length; i++) {\n var stringType = stringTypes[i],\n string = li[stringType];\n\n if (string) {\n string = string.toString();\n\n // Strip HTML tags. This isn't perfect, but it's much faster than any other method\n if (stringType === 'display') {\n string = string.replace(/<[^>]+>/g, '');\n }\n\n if (normalize) string = normalizeToBase(string);\n string = string.toUpperCase();\n\n if (typeof method === 'function') {\n searchSuccess = method(string, searchString);\n } else if (method === 'contains') {\n searchSuccess = string.indexOf(searchString) >= 0;\n } else {\n searchSuccess = string.startsWith(searchString);\n }\n\n if (searchSuccess) break;\n }\n }\n\n return searchSuccess;\n}\n\nfunction normalizeSearchInput (value, normalize) {\n if (value === undefined || value === null) value = '';\n value = value.toString().trim();\n\n if (normalize && value) value = normalizeToBase(value);\n\n return value.toUpperCase();\n}\n\nfunction getOptionLabelText (option) {\n if (!option) return '';\n\n return option.title || option.text || option.value || '';\n}\n\n// Borrowed from Lodash (_.deburr)\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboMarksExtendedRange = '\\\\u1ab0-\\\\u1aff',\n rsComboMarksSupplementRange = '\\\\u1dc0-\\\\u1dff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange + rsComboMarksExtendedRange + rsComboMarksSupplementRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\nvar reComboMark = RegExp(rsCombo, 'g');\n\nfunction deburrLetter (key) {\n return deburredLetters[key];\n}\n\nfunction normalizeToBase (string) {\n string = string.toString();\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\n// List of HTML entities for escaping.\nvar escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n};\n\nvar createEscaper = function (map) {\n var escaper = function (match) {\n return map[match];\n };\n var source = '(?:' + Object.keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function (string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n};\n\nvar htmlEscape = createEscaper(escapeMap);\n// \n\n\n/* eslint-disable no-undef, no-unused-vars */\n// Shared ordered source fragment consumed by the Grunt JS build.\n\n// \nvar keyCodeMap = {\n 32: ' ', 48: '0', 49: '1', 50: '2', 51: '3', 52: '4', 53: '5', 54: '6',\n 55: '7', 56: '8', 57: '9', 59: ';',\n 65: 'A', 66: 'B', 67: 'C', 68: 'D', 69: 'E', 70: 'F', 71: 'G', 72: 'H',\n 73: 'I', 74: 'J', 75: 'K', 76: 'L', 77: 'M', 78: 'N', 79: 'O', 80: 'P',\n 81: 'Q', 82: 'R', 83: 'S', 84: 'T', 85: 'U', 86: 'V', 87: 'W', 88: 'X',\n 89: 'Y', 90: 'Z',\n 96: '0', 97: '1', 98: '2', 99: '3', 100: '4', 101: '5', 102: '6',\n 103: '7', 104: '8', 105: '9'\n};\n\nvar keyCodes = {\n ESCAPE: 27,\n ENTER: 13,\n SPACE: 32,\n TAB: 9,\n ARROW_UP: 38,\n ARROW_DOWN: 40\n};\n\nvar selectId = 0;\n\nvar EVENT_KEY = '.bs.select';\n\n// Bootstrap 5 class names.\nvar classNames = {\n DISABLED: 'disabled',\n DIVIDER: 'dropdown-divider',\n SHOW: 'show',\n DROPUP: 'dropup',\n MENU: 'dropdown-menu',\n MENUEND: 'dropdown-menu-end',\n BUTTONCLASS: 'btn-light',\n POPOVERHEADER: 'popover-header',\n ICONBASE: '',\n TICKICON: 'bs-ok-default'\n};\n\nvar Selector = {\n MENU: '.' + classNames.MENU,\n DATA_TOGGLE: 'data-bs-toggle=\"dropdown\"'\n};\n\nvar elementTemplates = {\n div: document.createElement('div'),\n span: document.createElement('span'),\n i: document.createElement('i'),\n subtext: document.createElement('small'),\n a: document.createElement('a'),\n li: document.createElement('li'),\n whitespace: document.createTextNode('\\u00A0'),\n fragment: document.createDocumentFragment(),\n option: document.createElement('option')\n};\n\nelementTemplates.selectedOption = elementTemplates.option.cloneNode(false);\nelementTemplates.selectedOption.setAttribute('selected', true);\n\nelementTemplates.noResults = elementTemplates.li.cloneNode(false);\nelementTemplates.noResults.className = 'no-results';\n\nelementTemplates.a.setAttribute('role', 'option');\nelementTemplates.a.className = 'dropdown-item';\n\nelementTemplates.subtext.className = 'text-muted';\n\nelementTemplates.text = elementTemplates.span.cloneNode(false);\nelementTemplates.text.className = 'text';\n\nelementTemplates.checkMark = elementTemplates.span.cloneNode(false);\n\nvar REGEXP_ARROW = new RegExp(keyCodes.ARROW_UP + '|' + keyCodes.ARROW_DOWN);\nvar REGEXP_TAB_OR_ESCAPE = new RegExp('^' + keyCodes.TAB + '$|' + keyCodes.ESCAPE);\n\nvar generateOption = {\n li: function (content, classes, optgroup) {\n var li = elementTemplates.li.cloneNode(false);\n\n if (content) {\n if (content.nodeType === 1 || content.nodeType === 11) {\n li.appendChild(content);\n } else {\n li.innerHTML = content;\n }\n }\n\n if (typeof classes !== 'undefined' && classes !== '') li.className = classes;\n if (typeof optgroup !== 'undefined' && optgroup !== null) li.classList.add('optgroup-' + optgroup);\n\n return li;\n },\n\n a: function (text, classes, inline) {\n var a = elementTemplates.a.cloneNode(true);\n\n if (text) {\n if (text.nodeType === 11) {\n a.appendChild(text);\n } else {\n a.insertAdjacentHTML('beforeend', text);\n }\n }\n\n if (typeof classes !== 'undefined' && classes !== '') a.classList.add.apply(a.classList, classes.split(/\\s+/));\n if (inline) a.setAttribute('style', inline);\n\n return a;\n },\n\n text: function (options, useFragment) {\n var textElement = elementTemplates.text.cloneNode(false),\n subtextElement,\n iconElement;\n\n if (options.content) {\n textElement.innerHTML = options.content;\n } else {\n textElement.textContent = options.text;\n\n if (options.icon) {\n var whitespace = elementTemplates.whitespace.cloneNode(false);\n\n // need to use for icons in the button to prevent a breaking change\n iconElement = (useFragment === true ? elementTemplates.i : elementTemplates.span).cloneNode(false);\n iconElement.className = this.options.iconBase + ' ' + options.icon;\n\n elementTemplates.fragment.appendChild(iconElement);\n elementTemplates.fragment.appendChild(whitespace);\n }\n\n if (options.subtext) {\n subtextElement = elementTemplates.subtext.cloneNode(false);\n subtextElement.textContent = options.subtext;\n textElement.appendChild(subtextElement);\n }\n }\n\n if (useFragment === true) {\n while (textElement.childNodes.length > 0) {\n elementTemplates.fragment.appendChild(textElement.childNodes[0]);\n }\n } else {\n elementTemplates.fragment.appendChild(textElement);\n }\n\n return elementTemplates.fragment;\n },\n\n label: function (options) {\n var textElement = elementTemplates.text.cloneNode(false),\n subtextElement,\n iconElement;\n\n textElement.innerHTML = options.display;\n\n if (options.icon) {\n var whitespace = elementTemplates.whitespace.cloneNode(false);\n\n iconElement = elementTemplates.span.cloneNode(false);\n iconElement.className = this.options.iconBase + ' ' + options.icon;\n\n elementTemplates.fragment.appendChild(iconElement);\n elementTemplates.fragment.appendChild(whitespace);\n }\n\n if (options.subtext) {\n subtextElement = elementTemplates.subtext.cloneNode(false);\n subtextElement.textContent = options.subtext;\n textElement.appendChild(subtextElement);\n }\n\n elementTemplates.fragment.appendChild(textElement);\n\n return elementTemplates.fragment;\n }\n};\n\nvar getOptionData = {\n fromOption: function (option, type) {\n var value;\n\n switch (type) {\n case 'divider':\n value = option.getAttribute('data-divider') === 'true';\n break;\n\n case 'text':\n value = option.textContent;\n break;\n\n case 'label':\n value = option.label;\n break;\n\n case 'style':\n value = option.style.cssText;\n break;\n\n case 'title':\n value = option.title;\n break;\n\n default:\n value = option.getAttribute('data-' + toKebabCase(type));\n break;\n }\n\n return value;\n },\n fromDataSource: function (option, type) {\n var value;\n\n switch (type) {\n case 'text':\n case 'label':\n value = option.text || option.value || '';\n break;\n\n default:\n value = option[type];\n break;\n }\n\n return value;\n }\n};\n\nfunction showNoResults (searchMatch, searchValue) {\n if (!searchMatch.length) {\n elementTemplates.noResults.innerHTML = this.options.noneResultsText.replace('{0}', '\"' + htmlEscape(searchValue) + '\"');\n this.menuInner.firstChild.appendChild(elementTemplates.noResults);\n }\n}\n\nfunction filterHidden (item) {\n return !(item.hidden || this.options.hideDisabled && item.disabled);\n}\n\nfunction getSelectedOptions () {\n var options = this.selectpicker.main.data;\n\n if (this.options.source.data || this.options.source.search) {\n options = Object.values(this.selectpicker.optionValuesDataMap);\n }\n\n var selectedOptions = options.filter(function (item) {\n if (item.selected) {\n if (this.options.hideDisabled && item.disabled) return false;\n return true;\n }\n\n return false;\n }, this);\n\n // ensure only 1 option is selected if multiple are set in the data source\n if (this.options.source.data && !this.multiple && selectedOptions.length > 1) {\n for (var i = 0; i < selectedOptions.length - 1; i++) {\n selectedOptions[i].selected = false;\n }\n\n selectedOptions = [ selectedOptions[selectedOptions.length - 1] ];\n }\n\n return selectedOptions;\n}\n\nfunction getSelectValues (selectedOptions) {\n var value = [],\n options = selectedOptions || getSelectedOptions.call(this),\n opt;\n\n for (var i = 0, len = options.length; i < len; i++) {\n opt = options[i];\n\n if (!opt.disabled) {\n value.push(opt.value === undefined ? opt.text : opt.value);\n }\n }\n\n if (!this.multiple) {\n return !value.length ? null : value[0];\n }\n\n return value;\n}\n// \n\nvar changedArguments = null;\n\n// shared flag for spacebar selection handling (mirrors original document data flag)\nvar spaceSelectFlag = false;\n\nvar REMOVED_OPTIONS = ['container', 'display', 'mobile', 'styleBase', 'windowPadding'];\n\nfunction stripRemovedOptions (source) {\n if (!source || typeof source !== 'object') return source;\n\n var result = Object.assign({}, source);\n\n for (var i = 0; i < REMOVED_OPTIONS.length; i++) {\n delete result[REMOVED_OPTIONS[i]];\n }\n\n return result;\n}\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n\nclass Selectpicker {\n constructor (element, options) {\n if (typeof element === 'string') {\n element = document.querySelector(element);\n }\n\n if (!element || element.tagName !== 'SELECT') {\n throw new TypeError('Selectpicker requires a select element or selector.');\n }\n\n this.element = element;\n this.newElement = null;\n this.button = null;\n this.menu = null;\n this.options = Selectpicker._buildConfig(element, options || {});\n\n // tracked event listeners for clean teardown\n this._listeners = [];\n this._named = {};\n\n this.selectpicker = {\n main: {\n data: [],\n optionQueue: elementTemplates.fragment.cloneNode(false),\n hasMore: false\n },\n search: {\n data: [],\n hasMore: false\n },\n current: {}, // current is either equal to main or search depending on if a search is in progress\n view: {},\n // map of option values and their respective data (only used in conjunction with options.source)\n optionValuesDataMap: {},\n createdOptions: [],\n openOption: {\n isCreating: false\n },\n isSearching: false,\n keydown: {\n keyHistory: '',\n resetKeyHistory: {\n start: () => {\n return setTimeout(() => {\n this.selectpicker.keydown.keyHistory = '';\n }, 800);\n }\n }\n }\n };\n\n this.sizeInfo = {};\n\n this.init();\n\n instanceMap.set(element, this);\n }\n\n // \n _on (el, type, handler, options) {\n el.addEventListener(type, handler, options);\n this._listeners.push({ el: el, type: type, handler: handler, options: options });\n return handler;\n }\n\n _delegate (el, type, selector, handler, options) {\n var listener = function (e) {\n var target = e.target.closest(selector);\n if (target && el.contains(target)) {\n handler.call(target, e);\n }\n };\n return this._on(el, type, listener, options);\n }\n\n _emit (name, detail) {\n var event = new CustomEvent(name + EVENT_KEY, {\n bubbles: true,\n cancelable: true,\n detail: detail || null\n });\n this.element.dispatchEvent(event);\n return event;\n }\n\n // adds an event listener that replaces any previously-registered listener under `key`\n _replace (key, el, type, handler, options) {\n this._removeNamed(key);\n el.addEventListener(type, handler, options);\n this._named[key] = { el: el, type: type, handler: handler, options: options };\n }\n\n _removeNamed (key) {\n var prev = this._named[key];\n if (prev) {\n prev.el.removeEventListener(prev.type, prev.handler, prev.options);\n delete this._named[key];\n }\n }\n // \n\n init () {\n var that = this,\n id = this.element.getAttribute('id'),\n element = this.element,\n form = element.form;\n\n selectId++;\n this.selectId = 'bs-select-' + selectId;\n\n element.classList.add('bs-select-hidden');\n\n this.multiple = this.element.multiple;\n this.autofocus = this.element.autofocus;\n\n if (element.classList.contains('show-tick')) {\n this.options.showTick = true;\n }\n\n this.newElement = this.createDropdown();\n\n // insert newElement after element, then move element to be the first child of newElement\n element.parentNode.insertBefore(this.newElement, element.nextSibling);\n this.newElement.insertBefore(element, this.newElement.firstChild);\n\n // ensure select is associated with form element if it got unlinked after moving it inside newElement\n if (form && element.form === null) {\n if (!form.id) form.id = 'form-' + this.selectId;\n element.setAttribute('form', form.id);\n }\n\n this.button = this.newElement.querySelector(':scope > button');\n if (this.options.allowClear) this.clearButton = this.button.querySelector('.bs-select-clear-selected');\n this.menu = this.newElement.querySelector(':scope > ' + Selector.MENU);\n this.menuInner = this.menu.querySelector('.inner');\n this.searchbox = this.menu.querySelector('input');\n this.selectedItems = this.newElement.querySelector(':scope > .bs-selected-items-external') || this.menu.querySelector('.bs-selected-items');\n this.createOptionButton = this.menu.querySelector('.bs-create-option');\n\n element.classList.remove('bs-select-hidden');\n\n this.fetchData(function () {\n that.render(true);\n that.buildList();\n\n requestAnimationFrame(function () {\n that._emit('loaded');\n });\n });\n\n if (this.options.dropdownAlignRight === true) this.menu.classList.add(classNames.MENUEND);\n\n if (typeof id !== 'undefined' && id !== null) {\n this.button.setAttribute('data-id', id);\n }\n\n this.checkDisabled();\n this.clickListener();\n\n var Dropdown = getDropdown();\n this.dropdown = new Dropdown(this.button);\n\n // store a reference to the instance for delegated handlers\n this.newElement.bootstrapSelectInstance = this;\n this.menu.bootstrapSelectInstance = this;\n\n if (this.options.liveSearch) {\n this.liveSearchListener();\n this.focusedParent = this.searchbox;\n } else {\n this.focusedParent = this.menuInner;\n }\n\n this.setStyle();\n this.setWidth();\n this._on(this.element, 'hide' + EVENT_KEY, function () {\n if (that.isVirtual()) {\n // empty menu on close\n var menuInner = that.menuInner,\n emptyMenu = menuInner.firstChild.cloneNode(false);\n\n // replace the existing UL with an empty one - this is faster than emptying it\n menuInner.replaceChild(emptyMenu, menuInner.firstChild);\n menuInner.scrollTop = 0;\n }\n });\n\n // re-emit Bootstrap dropdown events as bootstrap-select events\n this._on(this.newElement, 'hide.bs.dropdown', function (e) {\n that._emit('hide', { bsEvent: e });\n });\n this._on(this.newElement, 'hidden.bs.dropdown', function (e) {\n that._emit('hidden', { bsEvent: e });\n });\n this._on(this.newElement, 'show.bs.dropdown', function (e) {\n that.onShow(e);\n that._emit('show', { bsEvent: e });\n });\n this._on(this.newElement, 'shown.bs.dropdown', function (e) {\n that._emit('shown', { bsEvent: e });\n });\n\n if (element.hasAttribute('required')) {\n this._on(this.element, 'invalid', function () {\n that.button.classList.add('bs-invalid');\n\n var onShownInvalid = function () {\n // set the value to hide the validation message in Chrome when menu is opened\n triggerNative(that.element, 'change');\n that.element.removeEventListener('shown' + EVENT_KEY, onShownInvalid);\n };\n that._on(that.element, 'shown' + EVENT_KEY, onShownInvalid);\n\n var onRendered = function () {\n // if select is no longer invalid, remove the bs-invalid class\n if (that.element.validity.valid) that.button.classList.remove('bs-invalid');\n that.element.removeEventListener('rendered' + EVENT_KEY, onRendered);\n };\n that._on(that.element, 'rendered' + EVENT_KEY, onRendered);\n\n var onBlur = function () {\n that.element.focus();\n that.element.blur();\n that.button.removeEventListener('blur' + EVENT_KEY, onBlur);\n };\n that._on(that.button, 'blur' + EVENT_KEY, onBlur);\n });\n }\n\n if (form) {\n this._on(form, 'reset', function () {\n requestAnimationFrame(function () {\n that.render();\n });\n });\n }\n }\n\n createDropdown () {\n // Multiple selects always show an indicator. Single selects also need the\n // indicator column when selectionIndicator is enabled.\n var usesSelectionIndicator = this.options.selectionIndicator === 'checkbox',\n showTick = (this.multiple || this.options.showTick || usesSelectionIndicator) ? ' show-tick' : '',\n showSelectedTags = this.options.showSelectedTags ? ' show-selected-tags' : '',\n selectedItemsStyle = this.options.selectedItemsStyle === 'list' ? ' selected-items-style-list' : '',\n selectionIndicator = usesSelectionIndicator\n ? (this.multiple ? ' selection-indicator-checkbox' : ' selection-indicator-radio')\n : '',\n multiselectable = this.multiple ? ' aria-multiselectable=\"true\"' : '',\n autofocus = this.autofocus ? ' autofocus' : '',\n liveSearchPlaceholder = this.options.liveSearchPlaceholder;\n\n if (liveSearchPlaceholder === null && (this.options.showSelectedTags || this.options.openOptions)) {\n liveSearchPlaceholder = this.options.placeholder || 'Search';\n }\n\n // Elements\n var drop,\n header = '',\n searchbox = '',\n actionsbox = '',\n donebutton = '',\n clearButton = '';\n\n if (this.options.header) {\n header =\n '
    ' +\n '' + this.options.header + '' +\n '' +\n '
    ';\n }\n\n if (this.options.liveSearch) {\n searchbox =\n '
    ' +\n '' +\n (this.options.openOptions\n ? ''\n : '') +\n '
    ';\n }\n\n if (this.multiple && this.options.actionsBox) {\n actionsbox =\n '
    ' +\n '
    ' +\n '' +\n '' +\n '
    ' +\n '
    ';\n }\n\n if (this.multiple && this.options.doneButton) {\n donebutton =\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ';\n }\n\n if (this.options.allowClear) {\n clearButton = '×';\n }\n\n drop =\n '
    ' +\n '' +\n '
    ' +\n header +\n searchbox +\n actionsbox +\n '
    ' +\n '
      ' +\n '
    ' +\n '
    ' +\n donebutton +\n '
    ' +\n (this.multiple && this.options.showSelectedTags\n ? ''\n : '') +\n '
    ';\n\n return createFromHTML(drop);\n }\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n // runs when the dropdown is about to be shown\n onShow () {\n if (this.options.liveSearch && this.searchbox.value) {\n this.searchbox.value = '';\n this.selectpicker.search.previousValue = undefined;\n }\n\n if (!this.newElement.classList.contains(classNames.SHOW)) {\n this.setSize();\n }\n }\n\n setPositionData () {\n this.selectpicker.view.canHighlight = [];\n this.selectpicker.view.size = 0;\n this.selectpicker.view.firstHighlightIndex = false;\n\n for (var i = 0; i < this.selectpicker.current.data.length; i++) {\n var li = this.selectpicker.current.data[i],\n canHighlight = true;\n\n if (li.type === 'divider') {\n canHighlight = false;\n li.height = this.sizeInfo.dividerHeight;\n } else if (li.type === 'optgroup-label') {\n canHighlight = false;\n li.height = this.sizeInfo.dropdownHeaderHeight;\n } else {\n li.height = this.sizeInfo.liHeight;\n }\n\n if (li.disabled) canHighlight = false;\n\n this.selectpicker.view.canHighlight.push(canHighlight);\n\n if (canHighlight) {\n this.selectpicker.view.size++;\n li.posinset = this.selectpicker.view.size;\n if (this.selectpicker.view.firstHighlightIndex === false) this.selectpicker.view.firstHighlightIndex = i;\n }\n\n li.position = (i === 0 ? 0 : this.selectpicker.current.data[i - 1].position) + li.height;\n }\n }\n\n isVirtual () {\n return (this.options.virtualScroll !== false) && (this.selectpicker.main.data.length >= this.options.virtualScroll) || this.options.virtualScroll === true;\n }\n\n createView (isSearching, setSize, refresh) {\n var that = this,\n scrollTop = 0;\n\n this.selectpicker.isSearching = isSearching;\n this.selectpicker.current = isSearching ? this.selectpicker.search : this.selectpicker.main;\n\n this.setPositionData();\n\n if (setSize) {\n if (refresh) {\n scrollTop = this.menuInner.scrollTop;\n } else if (!that.multiple) {\n var element = that.element,\n selectedIndex = (element.options[element.selectedIndex] || {}).liIndex;\n\n if (typeof selectedIndex === 'number' && that.options.size !== false) {\n var selectedData = that.selectpicker.main.data[selectedIndex],\n position = selectedData && selectedData.position;\n\n if (position) {\n scrollTop = position - ((that.sizeInfo.menuInnerHeight + that.sizeInfo.liHeight) / 2);\n }\n }\n }\n }\n\n scroll(scrollTop, true);\n\n this._replace('createViewScroll', this.menuInner, 'scroll', function () {\n if (!that.noScroll) scroll(that.menuInner.scrollTop);\n that.noScroll = false;\n });\n\n function scroll (scrollTop, init) {\n var size = that.selectpicker.current.data.length,\n chunks = [],\n chunkSize,\n chunkCount,\n firstChunk,\n lastChunk,\n currentChunk,\n prevPositions,\n positionIsDifferent,\n previousElements,\n menuIsDifferent = true,\n isVirtual = that.isVirtual();\n\n that.selectpicker.view.scrollTop = scrollTop;\n\n chunkSize = that.options.chunkSize; // number of options in a chunk\n chunkCount = Math.ceil(size / chunkSize) || 1; // number of chunks\n\n for (var i = 0; i < chunkCount; i++) {\n var endOfChunk = (i + 1) * chunkSize;\n\n if (i === chunkCount - 1) {\n endOfChunk = size;\n }\n\n chunks[i] = [\n (i) * chunkSize + (!i ? 0 : 1),\n endOfChunk\n ];\n\n if (!size) break;\n\n if (currentChunk === undefined && scrollTop - 1 <= that.selectpicker.current.data[endOfChunk - 1].position - that.sizeInfo.menuInnerHeight) {\n currentChunk = i;\n }\n }\n\n if (currentChunk === undefined) currentChunk = 0;\n\n prevPositions = [that.selectpicker.view.position0, that.selectpicker.view.position1];\n\n // always display previous, current, and next chunks\n firstChunk = Math.max(0, currentChunk - 1);\n lastChunk = Math.min(chunkCount - 1, currentChunk + 1);\n\n that.selectpicker.view.position0 = isVirtual === false ? 0 : (Math.max(0, chunks[firstChunk][0]) || 0);\n that.selectpicker.view.position1 = isVirtual === false ? size : (Math.min(size, chunks[lastChunk][1]) || 0);\n\n positionIsDifferent = prevPositions[0] !== that.selectpicker.view.position0 || prevPositions[1] !== that.selectpicker.view.position1;\n\n if (that.activeElement !== undefined) {\n if (init) {\n if (that.activeElement !== that.selectedElement) {\n that.defocusItem(that.activeElement);\n }\n that.activeElement = undefined;\n }\n\n if (that.activeElement !== that.selectedElement) {\n that.defocusItem(that.selectedElement);\n }\n }\n\n if (that.prevActiveElement !== undefined && that.prevActiveElement !== that.activeElement && that.prevActiveElement !== that.selectedElement) {\n that.defocusItem(that.prevActiveElement);\n }\n\n if (init || positionIsDifferent || that.selectpicker.current.hasMore) {\n previousElements = that.selectpicker.view.visibleElements ? that.selectpicker.view.visibleElements.slice() : [];\n\n if (isVirtual === false) {\n that.selectpicker.view.visibleElements = that.selectpicker.current.elements;\n } else {\n that.selectpicker.view.visibleElements = that.selectpicker.current.elements.slice(that.selectpicker.view.position0, that.selectpicker.view.position1);\n }\n\n that.setOptionStatus();\n\n // if searching, check to make sure the list has actually been updated before updating DOM\n // this prevents unnecessary repaints\n if (isSearching || (isVirtual === false && init)) menuIsDifferent = !isEqual(previousElements, that.selectpicker.view.visibleElements);\n\n // if virtual scroll is disabled and not searching,\n // menu should never need to be updated more than once\n if ((init || isVirtual === true) && menuIsDifferent) {\n var menuInner = that.menuInner,\n menuFragment = document.createDocumentFragment(),\n emptyMenu = menuInner.firstChild.cloneNode(false),\n marginTop,\n marginBottom,\n elements = that.selectpicker.view.visibleElements,\n toSanitize = [];\n\n // replace the existing UL with an empty one - this is faster than emptying it\n menuInner.replaceChild(emptyMenu, menuInner.firstChild);\n\n for (var i = 0, visibleElementsLen = elements.length; i < visibleElementsLen; i++) {\n var element = elements[i],\n elText,\n elementData;\n\n if (that.options.sanitize) {\n elText = element.lastChild;\n\n if (elText) {\n elementData = that.selectpicker.current.data[i + that.selectpicker.view.position0];\n\n if (elementData && elementData.content && !elementData.sanitized) {\n toSanitize.push(elText);\n elementData.sanitized = true;\n }\n }\n }\n\n menuFragment.appendChild(element);\n }\n\n if (that.options.sanitize && toSanitize.length) {\n sanitizeHtml(toSanitize, that.options.whiteList, that.options.sanitizeFn);\n }\n\n if (isVirtual === true) {\n marginTop = (that.selectpicker.view.position0 === 0 ? 0 : that.selectpicker.current.data[that.selectpicker.view.position0 - 1].position);\n marginBottom = (that.selectpicker.view.position1 > size - 1 ? 0 : that.selectpicker.current.data[size - 1].position - that.selectpicker.current.data[that.selectpicker.view.position1 - 1].position);\n\n menuInner.firstChild.style.marginTop = marginTop + 'px';\n menuInner.firstChild.style.marginBottom = marginBottom + 'px';\n } else {\n menuInner.firstChild.style.marginTop = 0;\n menuInner.firstChild.style.marginBottom = 0;\n }\n\n menuInner.firstChild.appendChild(menuFragment);\n\n // if an option is encountered that is wider than the current menu width, update the menu width accordingly\n if (isVirtual === true && that.sizeInfo.hasScrollBar) {\n var menuInnerInnerWidth = menuInner.firstChild.offsetWidth;\n\n if (init && menuInnerInnerWidth < that.sizeInfo.menuInnerInnerWidth && that.sizeInfo.totalMenuWidth > that.sizeInfo.selectWidth) {\n menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px';\n } else if (menuInnerInnerWidth > that.sizeInfo.menuInnerInnerWidth) {\n // set to 0 to get actual width of menu\n that.menu.style.minWidth = 0;\n\n var actualMenuWidth = menuInner.firstChild.offsetWidth;\n\n if (actualMenuWidth > that.sizeInfo.menuInnerInnerWidth) {\n that.sizeInfo.menuInnerInnerWidth = actualMenuWidth;\n menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px';\n }\n\n // reset to default CSS styling\n that.menu.style.minWidth = '';\n }\n }\n }\n\n if ((!isSearching && that.options.source.data || isSearching && that.options.source.search) && that.selectpicker.current.hasMore && currentChunk === chunkCount - 1) {\n // Don't load the next chunk until scrolling has started\n // This prevents unnecessary requests while the user is typing if pageSize is <= chunkSize\n if (scrollTop > 0) {\n // Chunks use 0-based indexing, but pages use 1-based. Add 1 to convert and add 1 again to get next page\n var page = Math.floor((currentChunk * that.options.chunkSize) / that.options.source.pageSize) + 2;\n\n that.fetchData(function () {\n that.render();\n that.buildList(size, isSearching);\n that.setPositionData();\n scroll(scrollTop);\n }, isSearching ? 'search' : 'data', page, isSearching ? that.selectpicker.search.previousValue : undefined);\n }\n }\n }\n\n that.prevActiveElement = that.activeElement;\n\n if (!that.options.liveSearch) {\n that.menuInner.focus();\n } else if (isSearching && init) {\n var index = 0,\n newActive;\n\n if (!that.selectpicker.view.canHighlight[index]) {\n index = 1 + that.selectpicker.view.canHighlight.slice(1).indexOf(true);\n }\n\n newActive = that.selectpicker.view.visibleElements[index];\n\n that.defocusItem(that.selectpicker.view.currentActive);\n\n that.activeElement = (that.selectpicker.current.data[index] || {}).element;\n\n that.focusItem(newActive);\n }\n }\n\n this._replace('createViewResize', window, 'resize', function () {\n var isActive = that.newElement.classList.contains(classNames.SHOW);\n\n if (isActive) scroll(that.menuInner.scrollTop);\n });\n }\n\n focusItem (li, liData, noStyle) {\n if (li) {\n liData = liData || this.selectpicker.current.data[this.selectpicker.current.elements.indexOf(this.activeElement)];\n var a = li.firstChild;\n\n if (a) {\n a.setAttribute('aria-setsize', this.selectpicker.view.size);\n a.setAttribute('aria-posinset', liData.posinset);\n\n if (noStyle !== true) {\n this.focusedParent.setAttribute('aria-activedescendant', a.id);\n li.classList.add('active');\n a.classList.add('active');\n }\n }\n }\n }\n\n defocusItem (li) {\n if (li) {\n li.classList.remove('active');\n if (li.firstChild) li.firstChild.classList.remove('active');\n }\n }\n\n setPlaceholder () {\n var that = this,\n updateIndex = false;\n\n if ((this.options.placeholder || this.options.allowClear) && !this.multiple) {\n if (!this.selectpicker.view.titleOption) this.selectpicker.view.titleOption = document.createElement('option');\n\n // this option doesn't create a new
  • element, but does add a new option at the start,\n // so startIndex should increase to prevent having to check every option for the bs-title-option class\n updateIndex = true;\n\n var element = this.element,\n selectTitleOption = false,\n titleNotAppended = !this.selectpicker.view.titleOption.parentNode,\n selectedIndex = element.selectedIndex,\n selectedOption = element.options[selectedIndex],\n firstSelectable = element.querySelector('select > *:not(:disabled)'),\n firstSelectableIndex = firstSelectable ? firstSelectable.index : 0,\n navigation = window.performance && window.performance.getEntriesByType('navigation'),\n // Safari doesn't support getEntriesByType('navigation') - fall back to performance.navigation\n isNotBackForward = (navigation && navigation.length) ? navigation[0].type !== 'back_forward' : window.performance.navigation.type !== 2;\n\n if (titleNotAppended) {\n // Use native JS to prepend option (faster)\n this.selectpicker.view.titleOption.className = 'bs-title-option';\n this.selectpicker.view.titleOption.value = '';\n\n // Check if selected or data-selected attribute is already set on an option. If not, select the titleOption option.\n selectTitleOption = !selectedOption || (selectedIndex === firstSelectableIndex && selectedOption.defaultSelected === false);\n }\n\n if (titleNotAppended || this.selectpicker.view.titleOption.index !== 0) {\n element.insertBefore(this.selectpicker.view.titleOption, element.firstChild);\n }\n\n // Set selected *after* appending to select\n if (selectTitleOption && isNotBackForward) {\n element.selectedIndex = 0;\n } else if (document.readyState !== 'complete') {\n // if navigation type is back_forward, there's a chance the select will have its value set by BFCache\n // wait for that value to be set, then run render again\n window.addEventListener('pageshow', function () {\n if (that.selectpicker.view.displayedValue !== element.value) that.render();\n });\n }\n }\n\n return updateIndex;\n }\n\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n fetchData (callback, type, page, searchValue) {\n page = page || 1;\n type = type || 'data';\n\n var that = this,\n data = this.options.source[type],\n builtData;\n\n if (data) {\n this.options.virtualScroll = true;\n\n if (typeof data === 'function') {\n data.call(\n this,\n function (data, more, totalItems) {\n var current = that.selectpicker[type === 'search' ? 'search' : 'main'];\n current.hasMore = more;\n current.totalItems = totalItems;\n builtData = that.buildData(data, type);\n callback.call(that, builtData);\n that._emit('fetched');\n },\n page,\n searchValue\n );\n } else if (Array.isArray(data)) {\n builtData = that.buildData(data, type);\n callback.call(that, builtData);\n }\n } else {\n builtData = this.buildData(false, type);\n callback.call(that, builtData);\n }\n }\n\n buildData (data, type) {\n var that = this;\n var dataGetter = data === false ? getOptionData.fromOption : getOptionData.fromDataSource;\n\n var optionSelector = ':not([hidden]):not([data-hidden=\"true\"]):not([style*=\"display: none\"])',\n mainData = [],\n startLen = this.selectpicker.main.data ? this.selectpicker.main.data.length : 0,\n optID = 0,\n startIndex = this.setPlaceholder() && !data ? 1 : 0; // append the titleOption if necessary and skip the first option in the loop\n\n if (type === 'search') {\n startLen = this.selectpicker.search.data.length;\n }\n\n if (this.options.hideDisabled) optionSelector += ':not(:disabled)';\n\n var selectOptions = data ? data.filter(filterHidden, this) : this.element.querySelectorAll('select > *' + optionSelector);\n\n function addDivider (config) {\n var previousData = mainData[mainData.length - 1];\n\n // ensure optgroup doesn't create back-to-back dividers\n if (\n previousData &&\n previousData.type === 'divider' &&\n (previousData.optID || config.optID)\n ) {\n return;\n }\n\n config = config || {};\n config.type = 'divider';\n\n mainData.push(config);\n }\n\n function addOption (item, config) {\n config = config || {};\n\n config.divider = dataGetter(item, 'divider');\n\n if (config.divider === true) {\n addDivider({\n optID: config.optID\n });\n } else {\n var liIndex = mainData.length + startLen,\n cssText = dataGetter(item, 'style'),\n inlineStyle = cssText ? htmlEscape(cssText) : '',\n optionClass = (item.className || '') + (config.optgroupClass || '');\n\n if (config.optID) optionClass = 'opt ' + optionClass;\n\n config.optionClass = optionClass.trim();\n config.inlineStyle = inlineStyle;\n\n config.text = dataGetter(item, 'text');\n config.title = dataGetter(item, 'title');\n config.content = dataGetter(item, 'content');\n config.tokens = dataGetter(item, 'tokens');\n config.subtext = dataGetter(item, 'subtext');\n config.icon = dataGetter(item, 'icon');\n\n config.display = config.content || config.text;\n config.value = item.value === undefined ? item.text : item.value;\n config.type = 'option';\n config.index = liIndex;\n\n config.option = !item.option ? item : item.option; // reference option element if it exists\n config.option.liIndex = liIndex;\n config.selected = !!item.selected;\n config.disabled = config.disabled || !!item.disabled;\n\n if (data !== false) {\n if (that.selectpicker.optionValuesDataMap[config.value]) {\n config = Object.assign(that.selectpicker.optionValuesDataMap[config.value], config);\n } else {\n that.selectpicker.optionValuesDataMap[config.value] = config;\n }\n }\n\n mainData.push(config);\n }\n }\n\n function addOptgroup (index, selectOptions) {\n var optgroup = selectOptions[index],\n // skip placeholder option\n previous = index - 1 < startIndex ? false : selectOptions[index - 1],\n next = selectOptions[index + 1],\n options = data ? optgroup.children.filter(filterHidden, this) : optgroup.querySelectorAll('option' + optionSelector);\n\n if (!options.length) return;\n\n var config = {\n display: htmlEscape(dataGetter(item, 'label')),\n subtext: dataGetter(optgroup, 'subtext'),\n icon: dataGetter(optgroup, 'icon'),\n type: 'optgroup-label',\n optgroupClass: ' ' + (optgroup.className || ''),\n optgroup: optgroup\n },\n headerIndex,\n lastIndex;\n\n optID++;\n\n if (previous) {\n addDivider({ optID: optID });\n }\n\n config.optID = optID;\n\n mainData.push(config);\n\n for (var j = 0, len = options.length; j < len; j++) {\n var option = options[j];\n\n if (j === 0) {\n headerIndex = mainData.length - 1;\n lastIndex = headerIndex + len;\n }\n\n addOption(option, {\n headerIndex: headerIndex,\n lastIndex: lastIndex,\n optID: config.optID,\n optgroupClass: config.optgroupClass,\n disabled: optgroup.disabled\n });\n }\n\n if (next) {\n addDivider({ optID: optID });\n }\n }\n\n var item;\n\n for (var len = selectOptions.length, i = startIndex; i < len; i++) {\n item = selectOptions[i];\n var children = item.children;\n\n if (children && children.length) {\n addOptgroup.call(this, i, selectOptions);\n } else {\n addOption.call(this, item, {});\n }\n }\n\n switch (type) {\n case 'data': {\n if (!this.selectpicker.main.data) {\n this.selectpicker.main.data = [];\n }\n Array.prototype.push.apply(this.selectpicker.main.data, mainData);\n this.selectpicker.current.data = this.selectpicker.main.data;\n break;\n }\n case 'search': {\n Array.prototype.push.apply(this.selectpicker.search.data, mainData);\n break;\n }\n }\n\n return mainData;\n }\n\n buildList (size, searching) {\n var that = this,\n selectData = searching ? this.selectpicker.search.data : this.selectpicker.main.data,\n mainElements = [],\n widestOptionLength = 0;\n\n if (that.options.showTick || that.multiple || that.options.selectionIndicator === 'checkbox') {\n elementTemplates.checkMark.className = this.options.selectionIndicator === 'checkbox'\n ? 'check-mark bs-selection-indicator'\n : this.options.iconBase + ' ' + that.options.tickIcon + ' check-mark';\n\n if (!elementTemplates.checkMark.parentNode) {\n elementTemplates.a.appendChild(elementTemplates.checkMark);\n }\n }\n\n function buildElement (mainElements, item) {\n var liElement,\n combinedLength = 0;\n\n switch (item.type) {\n case 'divider':\n liElement = generateOption.li(\n false,\n classNames.DIVIDER,\n (item.optID ? item.optID + 'div' : undefined)\n );\n\n break;\n\n case 'option':\n liElement = generateOption.li(\n generateOption.a(\n generateOption.text.call(that, item),\n item.optionClass,\n item.inlineStyle\n ),\n '',\n item.optID\n );\n\n if (liElement.firstChild) {\n liElement.firstChild.id = that.selectId + '-' + item.index;\n }\n\n break;\n\n case 'optgroup-label':\n liElement = generateOption.li(\n generateOption.label.call(that, item),\n 'dropdown-header' + item.optgroupClass,\n item.optID\n );\n\n break;\n }\n\n if (item.content) item.sanitized = false;\n\n if (!item.element) {\n item.element = liElement;\n } else {\n item.element.innerHTML = liElement.innerHTML;\n }\n mainElements.push(item.element);\n\n // count the number of characters in the option - not perfect, but should work in most cases\n if (item.display) combinedLength += item.display.length;\n if (item.subtext) combinedLength += item.subtext.length;\n // if there is an icon, ensure this option's width is checked\n if (item.icon) combinedLength += 1;\n\n if (combinedLength > widestOptionLength) {\n widestOptionLength = combinedLength;\n\n // guess which option is the widest\n that.selectpicker.view.widestOption = mainElements[mainElements.length - 1];\n }\n }\n\n var startIndex = size || 0;\n\n for (var len = selectData.length, i = startIndex; i < len; i++) {\n var item = selectData[i];\n\n buildElement(mainElements, item);\n }\n\n if (size) {\n if (searching) {\n Array.prototype.push.apply(this.selectpicker.search.elements, mainElements);\n } else {\n Array.prototype.push.apply(this.selectpicker.main.elements, mainElements);\n this.selectpicker.current.elements = this.selectpicker.main.elements;\n }\n } else {\n if (searching) {\n this.selectpicker.search.elements = mainElements;\n } else {\n this.selectpicker.main.elements = this.selectpicker.current.elements = mainElements;\n }\n }\n }\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n findLis () {\n return this.menuInner.querySelectorAll('.inner > li');\n }\n\n render (init) {\n var that = this,\n element = this.element,\n // ensure titleOption is appended and selected (if necessary) before getting selectedOptions\n placeholderSelected = this.setPlaceholder() && element.selectedIndex === 0,\n selectedOptions = getSelectedOptions.call(this),\n selectedCount = selectedOptions.length,\n selectedValues = getSelectValues.call(this, selectedOptions),\n button = this.button,\n buttonInner = button.querySelector('.filter-option-inner-inner'),\n multipleSeparator = document.createTextNode(this.options.multipleSeparator),\n titleFragment = elementTemplates.fragment.cloneNode(false),\n forceCount = this.multiple && this.options.showSelectedTags && selectedCount > 0,\n showCount,\n countMax,\n hasContent = false;\n\n function createSelected (item) {\n if (item.selected) {\n that.createOption(item, true);\n } else if (item.children && item.children.length) {\n item.children.map(createSelected);\n }\n }\n\n // create selected option elements to ensure select value is correct\n if (this.options.source.data && init) {\n selectedOptions.map(createSelected);\n element.appendChild(this.selectpicker.main.optionQueue);\n\n if (placeholderSelected) placeholderSelected = element.selectedIndex === 0;\n }\n\n button.classList.toggle('bs-placeholder', that.multiple ? !selectedCount : !selectedValues && selectedValues !== 0);\n\n if (!that.multiple && selectedOptions.length === 1) {\n that.selectpicker.view.displayedValue = selectedValues;\n }\n\n if (this.options.selectedTextFormat === 'static') {\n titleFragment = generateOption.text.call(this, { text: this.options.placeholder }, true);\n } else {\n showCount = forceCount || this.multiple && this.options.selectedTextFormat.indexOf('count') !== -1 && selectedCount > 0;\n\n // determine if the number of selected options will be shown (showCount === true)\n if (showCount && !forceCount) {\n countMax = this.options.selectedTextFormat.split('>');\n showCount = (countMax.length > 1 && selectedCount > countMax[1]) || (countMax.length === 1 && selectedCount >= 2);\n }\n\n // only loop through all selected options if the count won't be shown\n if (showCount === false) {\n if (!placeholderSelected) {\n for (var selectedIndex = 0; selectedIndex < selectedCount; selectedIndex++) {\n if (selectedIndex < 50) {\n var option = selectedOptions[selectedIndex],\n titleOptions = {};\n\n if (option) {\n if (this.multiple && selectedIndex > 0) {\n titleFragment.appendChild(multipleSeparator.cloneNode(false));\n }\n\n if (option.title) {\n titleOptions.text = option.title;\n } else if (option.content && that.options.showContent) {\n titleOptions.content = option.content.toString();\n hasContent = true;\n } else {\n if (that.options.showIcon) {\n titleOptions.icon = option.icon;\n }\n if (that.options.showSubtext && !that.multiple && option.subtext) titleOptions.subtext = ' ' + option.subtext;\n titleOptions.text = option.text.trim();\n }\n\n titleFragment.appendChild(generateOption.text.call(this, titleOptions, true));\n }\n } else {\n break;\n }\n }\n\n // add ellipsis\n if (selectedCount > 49) {\n titleFragment.appendChild(document.createTextNode('...'));\n }\n }\n } else {\n var optionSelector = ':not([hidden]):not([data-hidden=\"true\"]):not([data-divider=\"true\"]):not([style*=\"display: none\"])';\n if (this.options.hideDisabled) optionSelector += ':not(:disabled)';\n\n // If this is a multiselect, and selectedTextFormat is count, then show 1 of 2 selected, etc.\n var totalCount = this.element.querySelectorAll('select > option' + optionSelector + ', optgroup' + optionSelector + ' option' + optionSelector).length,\n tr8nText = (typeof this.options.countSelectedText === 'function') ? this.options.countSelectedText(selectedCount, totalCount) : this.options.countSelectedText;\n\n titleFragment = generateOption.text.call(this, {\n text: tr8nText.replace('{0}', selectedCount.toString()).replace('{1}', totalCount.toString())\n }, true);\n }\n }\n\n // If the select doesn't have a title, then use the default, or if nothing is set at all, use noneSelectedText\n if (!titleFragment.childNodes.length) {\n titleFragment = generateOption.text.call(this, {\n text: this.options.placeholder ? this.options.placeholder : this.options.noneSelectedText\n }, true);\n }\n\n // if the select has a title, apply it to the button, and if not, apply titleFragment text\n button.title = titleFragment.textContent.replace(/<[^>]*>?/g, '').trim();\n\n if (this.options.sanitize && hasContent) {\n sanitizeHtml([titleFragment], that.options.whiteList, that.options.sanitizeFn);\n }\n\n buttonInner.innerHTML = '';\n buttonInner.appendChild(titleFragment);\n\n this.syncTagEditor();\n\n this._emit('rendered');\n }\n\n usesTagEditor () {\n return this.options.liveSearch && (this.options.showSelectedTags || this.options.openOptions);\n }\n\n syncTagEditor () {\n if (!this.usesTagEditor()) return;\n\n if (this.selectedItems) {\n var selectedOptions = getSelectedOptions.call(this),\n useListStyle = this.options.selectedItemsStyle === 'list';\n\n this.selectedItems.innerHTML = '';\n this.selectedItems.hidden = !selectedOptions.length;\n this.selectedItems.classList.toggle('list-group', useListStyle);\n\n for (var i = 0; i < selectedOptions.length; i++) {\n var item = selectedOptions[i],\n selectedTag = document.createElement('button'),\n removeText = this.options.selectedTagRemoveLabel + ' ' + getOptionLabelText(item),\n content = document.createElement('span'),\n label = document.createElement('span'),\n remove = document.createElement('span'),\n icon;\n\n selectedTag.type = 'button';\n selectedTag.className = useListStyle\n ? 'bs-selected-item list-group-item list-group-item-action'\n : 'bs-selected-item';\n selectedTag.setAttribute('data-option-value', item.value);\n selectedTag.setAttribute('aria-label', removeText);\n selectedTag.title = removeText;\n\n content.className = 'bs-selected-item-content';\n\n if (item.icon && this.options.showIcon) {\n icon = document.createElement('span');\n icon.className = 'bs-selected-item-icon ' + this.options.iconBase + ' ' + item.icon;\n icon.setAttribute('aria-hidden', 'true');\n content.appendChild(icon);\n }\n\n label.className = 'bs-selected-item-label';\n label.textContent = getOptionLabelText(item);\n content.appendChild(label);\n\n remove.className = 'bs-selected-item-remove';\n remove.setAttribute('aria-hidden', 'true');\n remove.textContent = '\\u00d7';\n\n selectedTag.appendChild(content);\n selectedTag.appendChild(remove);\n this.selectedItems.appendChild(selectedTag);\n }\n }\n\n this.syncOpenOptionButton();\n\n if (this.newElement && this.newElement.classList.contains(classNames.SHOW)) {\n this.setSize(true);\n }\n }\n\n syncOpenOptionButton () {\n if (!this.createOptionButton) return;\n\n var searchValue = this.searchbox ? this.searchbox.value : '',\n normalizedValue = searchValue.toString().trim(),\n shouldShow = !!normalizedValue &&\n !this.selectpicker.openOption.isCreating &&\n !this.findOptionBySearchValue(normalizedValue);\n\n this.createOptionButton.hidden = !shouldShow;\n this.createOptionButton.disabled = this.selectpicker.openOption.isCreating;\n\n if (shouldShow) {\n this.createOptionButton.textContent = this.options.openOptionsText.replace('{0}', normalizedValue);\n this.createOptionButton.setAttribute('data-search-value', normalizedValue);\n } else {\n this.createOptionButton.textContent = '';\n this.createOptionButton.removeAttribute('data-search-value');\n }\n }\n\n findOptionByValue (value, dataSet) {\n var options = dataSet || this.selectpicker.main.data,\n stringValue = String(value);\n\n for (var i = 0; i < options.length; i++) {\n var option = options[i];\n\n if (option.type === 'option' && String(option.value) === stringValue) {\n return option;\n }\n }\n\n return null;\n }\n\n findOptionBySearchValue (searchValue) {\n var options = this.options.source.data || this.options.source.search\n ? Object.values(this.selectpicker.optionValuesDataMap)\n : this.selectpicker.main.data,\n normalizedSearch = normalizeSearchInput(searchValue, this.options.liveSearchNormalize);\n\n for (var i = 0; i < options.length; i++) {\n var option = options[i];\n\n if (option.type !== 'option') continue;\n\n if (\n normalizeSearchInput(option.text, this.options.liveSearchNormalize) === normalizedSearch ||\n normalizeSearchInput(option.value, this.options.liveSearchNormalize) === normalizedSearch ||\n normalizeSearchInput(option.title, this.options.liveSearchNormalize) === normalizedSearch\n ) {\n return option;\n }\n }\n\n return null;\n }\n\n createOptionElement (optionData) {\n var option = document.createElement('option');\n\n option.value = optionData.value === undefined ? optionData.text : optionData.value;\n option.textContent = optionData.text === undefined ? option.value : optionData.text;\n\n if (optionData.className) option.className = optionData.className;\n if (optionData.title) option.title = optionData.title;\n if (optionData.content) option.setAttribute('data-content', optionData.content);\n if (optionData.tokens) option.setAttribute('data-tokens', optionData.tokens);\n if (optionData.subtext) option.setAttribute('data-subtext', optionData.subtext);\n if (optionData.icon) option.setAttribute('data-icon', optionData.icon);\n if (optionData.disabled) option.disabled = true;\n if (optionData.hidden) option.hidden = true;\n\n return option;\n }\n\n appendCreatedSearchResults (searchValue) {\n if (!this.selectpicker.createdOptions.length) return;\n\n var matches = [];\n\n for (var i = 0; i < this.selectpicker.createdOptions.length; i++) {\n var option = this.selectpicker.createdOptions[i];\n\n if (\n stringSearch(option, normalizeSearchInput(searchValue, this.options.liveSearchNormalize), this._searchStyle(), this.options.liveSearchNormalize) &&\n !this.findOptionByValue(option.value, this.selectpicker.search.data)\n ) {\n matches.push(option);\n }\n }\n\n if (matches.length) this.buildData(matches, 'search');\n }\n\n addCreatedOption (optionData) {\n optionData = Object.assign({}, optionData);\n optionData.value = optionData.value === undefined ? optionData.text : optionData.value;\n optionData.text = optionData.text === undefined ? optionData.value : optionData.text;\n\n var size = this.selectpicker.main.elements ? this.selectpicker.main.elements.length : 0,\n option = this.createOptionElement(optionData);\n optionData.option = option;\n\n this.element.appendChild(option);\n var builtOptions = this.buildData([optionData], 'data'),\n builtOption = builtOptions[0];\n\n this.buildList(size);\n this.selectpicker.createdOptions.push(builtOption);\n\n return builtOption;\n }\n\n removeSelectedTag (value) {\n var option = this.findOptionByValue(value);\n\n if (!option || !option.selected) return;\n\n var prevValue = getSelectValues.call(this);\n\n this.setSelected(option, false);\n changedArguments = [option.index, false, prevValue];\n triggerNative(this.element, 'change');\n\n if (this.options.liveSearch) this.searchbox.focus();\n }\n\n createOpenOption (searchValue) {\n searchValue = searchValue === undefined || searchValue === null ? '' : searchValue.toString().trim();\n\n if (!searchValue || this.selectpicker.openOption.isCreating) return;\n\n var existingOption = this.findOptionBySearchValue(searchValue);\n\n if (existingOption) {\n if (!existingOption.selected) {\n var prevSelectedValue = getSelectValues.call(this);\n\n this.setSelected(existingOption, true);\n changedArguments = [existingOption.index, true, prevSelectedValue];\n triggerNative(this.element, 'change');\n }\n\n if (this.options.liveSearch) this.searchbox.focus();\n return;\n }\n\n var that = this,\n prevValue = getSelectValues.call(this),\n createHandler = this.options.source.create;\n\n this.selectpicker.openOption.isCreating = true;\n this.syncOpenOptionButton();\n\n function finalize (createdOption) {\n that.selectpicker.openOption.isCreating = false;\n\n if (createdOption === undefined || createdOption === null || createdOption === false) {\n that.syncOpenOptionButton();\n return;\n }\n\n if (Array.isArray(createdOption)) createdOption = createdOption[0];\n if (typeof createdOption !== 'object') {\n createdOption = {\n text: createdOption,\n value: createdOption\n };\n }\n\n if (!createdOption.text && !createdOption.value) {\n createdOption.text = searchValue;\n }\n\n if (createdOption.value === undefined) createdOption.value = createdOption.text;\n if (createdOption.text === undefined) createdOption.text = createdOption.value;\n\n var option = that.findOptionByValue(createdOption.value) || that.findOptionBySearchValue(createdOption.text);\n\n if (!option) {\n option = that.addCreatedOption(createdOption);\n }\n\n that.setSelected(option, true);\n\n if (that.options.source.data) that.element.appendChild(that.selectpicker.main.optionQueue);\n\n if (that.searchbox) {\n that.searchbox.value = '';\n }\n\n that.selectpicker.search.previousValue = '';\n that.selectpicker.search.data = [];\n that.selectpicker.search.elements = [];\n that.createView(false);\n\n changedArguments = [option.index, true, prevValue];\n triggerNative(that.element, 'change');\n\n if (that.options.liveSearch) that.searchbox.focus();\n }\n\n if (typeof createHandler === 'function') {\n var returnedOption = createHandler.call(this, finalize, searchValue);\n\n if (returnedOption && typeof returnedOption.then === 'function') {\n returnedOption.then(finalize);\n } else if (returnedOption !== undefined) {\n finalize(returnedOption);\n }\n } else {\n finalize({\n text: searchValue,\n value: searchValue\n });\n }\n }\n\n /**\n * @param [newStyle]\n * @param [status]\n */\n setStyle (newStyle, status) {\n var button = this.button,\n newElement = this.newElement,\n style = this.options.style.trim(),\n buttonClass;\n\n if (this.element.getAttribute('class')) {\n var extra = this.element.getAttribute('class').replace(/selectpicker|mobile-device|bs-select-hidden|validate\\[.*\\]/gi, '').trim();\n if (extra) newElement.classList.add.apply(newElement.classList, extra.split(/\\s+/));\n }\n\n if (newStyle) {\n buttonClass = newStyle.trim();\n } else {\n buttonClass = style;\n }\n\n if (status === 'add') {\n if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' '));\n } else if (status === 'remove') {\n if (buttonClass) button.classList.remove.apply(button.classList, buttonClass.split(' '));\n } else {\n if (style) button.classList.remove.apply(button.classList, style.split(' '));\n if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' '));\n }\n }\n\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n liHeight (refresh) {\n if (!refresh && (this.options.size === false || Object.keys(this.sizeInfo).length)) return;\n\n var newElement = elementTemplates.div.cloneNode(false),\n menu = elementTemplates.div.cloneNode(false),\n menuInner = elementTemplates.div.cloneNode(false),\n menuInnerInner = document.createElement('ul'),\n divider = elementTemplates.li.cloneNode(false),\n dropdownHeader = elementTemplates.li.cloneNode(false),\n li,\n a = elementTemplates.a.cloneNode(false),\n text = elementTemplates.span.cloneNode(false),\n header = this.options.header && this.menu.querySelectorAll('.' + classNames.POPOVERHEADER).length > 0 ? this.menu.querySelector('.' + classNames.POPOVERHEADER).cloneNode(true) : null,\n search = this.options.liveSearch && this.menu.querySelector('.bs-searchbox')\n ? this.menu.querySelector('.bs-searchbox').cloneNode(true)\n : null,\n actions = this.options.actionsBox && this.multiple && this.menu.querySelectorAll('.bs-actionsbox').length > 0 ? this.menu.querySelector('.bs-actionsbox').cloneNode(true) : null,\n doneButton = this.options.doneButton && this.multiple && this.menu.querySelectorAll('.bs-donebutton').length > 0 ? this.menu.querySelector('.bs-donebutton').cloneNode(true) : null,\n firstOption = this.element.options[0];\n\n this.sizeInfo.selectWidth = this.newElement.offsetWidth;\n\n text.className = 'text';\n a.className = 'dropdown-item ' + (firstOption ? firstOption.className : '');\n newElement.className = this.menu.parentNode.className + ' ' + classNames.SHOW;\n newElement.style.width = 0; // ensure button width doesn't affect natural width of menu when calculating\n menu.className = classNames.MENU + ' ' + classNames.SHOW;\n menuInner.className = 'inner ' + classNames.SHOW;\n menuInnerInner.className = classNames.MENU + ' inner ' + classNames.SHOW;\n divider.className = classNames.DIVIDER;\n dropdownHeader.className = 'dropdown-header';\n\n text.appendChild(document.createTextNode('\\u200b'));\n\n if (this.selectpicker.current.data.length) {\n for (var i = 0; i < this.selectpicker.current.data.length; i++) {\n var data = this.selectpicker.current.data[i];\n if (data.type === 'option' && window.getComputedStyle(data.element.firstChild).display !== 'none') {\n li = data.element;\n break;\n }\n }\n } else {\n li = elementTemplates.li.cloneNode(false);\n a.appendChild(text);\n li.appendChild(a);\n }\n\n dropdownHeader.appendChild(text.cloneNode(true));\n\n if (this.selectpicker.view.widestOption) {\n menuInnerInner.appendChild(this.selectpicker.view.widestOption.cloneNode(true));\n }\n\n menuInnerInner.appendChild(li);\n menuInnerInner.appendChild(divider);\n menuInnerInner.appendChild(dropdownHeader);\n if (header) menu.appendChild(header);\n if (search) menu.appendChild(search);\n if (actions) menu.appendChild(actions);\n menuInner.appendChild(menuInnerInner);\n menu.appendChild(menuInner);\n if (doneButton) menu.appendChild(doneButton);\n newElement.appendChild(menu);\n\n document.body.appendChild(newElement);\n\n var liHeight = li.offsetHeight,\n dropdownHeaderHeight = dropdownHeader ? dropdownHeader.offsetHeight : 0,\n headerHeight = header ? header.offsetHeight : 0,\n searchHeight = search ? search.offsetHeight : 0,\n actionsHeight = actions ? actions.offsetHeight : 0,\n doneButtonHeight = doneButton ? doneButton.offsetHeight : 0,\n dividerHeight = outerHeight(divider, true),\n menuStyle = window.getComputedStyle(menu),\n menuWidth = menu.offsetWidth,\n menuPadding = {\n vert: toInteger(menuStyle.paddingTop) +\n toInteger(menuStyle.paddingBottom) +\n toInteger(menuStyle.borderTopWidth) +\n toInteger(menuStyle.borderBottomWidth),\n horiz: toInteger(menuStyle.paddingLeft) +\n toInteger(menuStyle.paddingRight) +\n toInteger(menuStyle.borderLeftWidth) +\n toInteger(menuStyle.borderRightWidth)\n },\n menuExtras = {\n vert: menuPadding.vert +\n toInteger(menuStyle.marginTop) +\n toInteger(menuStyle.marginBottom) + 2,\n horiz: menuPadding.horiz +\n toInteger(menuStyle.marginLeft) +\n toInteger(menuStyle.marginRight) + 2\n },\n scrollBarWidth;\n\n menuInner.style.overflowY = 'scroll';\n\n scrollBarWidth = menu.offsetWidth - menuWidth;\n\n document.body.removeChild(newElement);\n\n this.sizeInfo.liHeight = liHeight;\n this.sizeInfo.dropdownHeaderHeight = dropdownHeaderHeight;\n this.sizeInfo.headerHeight = headerHeight;\n this.sizeInfo.searchHeight = searchHeight;\n this.sizeInfo.actionsHeight = actionsHeight;\n this.sizeInfo.doneButtonHeight = doneButtonHeight;\n this.sizeInfo.dividerHeight = dividerHeight;\n this.sizeInfo.menuPadding = menuPadding;\n this.sizeInfo.menuExtras = menuExtras;\n this.sizeInfo.menuWidth = menuWidth;\n this.sizeInfo.menuInnerInnerWidth = menuWidth - menuPadding.horiz;\n this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth;\n this.sizeInfo.scrollBarWidth = scrollBarWidth;\n this.sizeInfo.selectHeight = this.newElement.offsetHeight;\n\n this.setPositionData();\n }\n\n getSelectPosition () {\n var that = this,\n winScrollTop = window.pageYOffset,\n winScrollLeft = window.pageXOffset,\n winHeight = document.documentElement.clientHeight,\n winWidth = document.documentElement.clientWidth,\n pos = offset(that.newElement);\n\n this.sizeInfo.selectOffsetTop = pos.top - winScrollTop;\n this.sizeInfo.selectOffsetBot = winHeight - this.sizeInfo.selectOffsetTop - this.sizeInfo.selectHeight;\n this.sizeInfo.selectOffsetLeft = pos.left - winScrollLeft;\n this.sizeInfo.selectOffsetRight = winWidth - this.sizeInfo.selectOffsetLeft - this.sizeInfo.selectWidth;\n }\n\n setMenuSize (isAuto) {\n this.getSelectPosition();\n\n var selectWidth = this.sizeInfo.selectWidth,\n liHeight = this.sizeInfo.liHeight,\n headerHeight = this.sizeInfo.headerHeight,\n searchHeight = this.sizeInfo.searchHeight,\n actionsHeight = this.sizeInfo.actionsHeight,\n doneButtonHeight = this.sizeInfo.doneButtonHeight,\n divHeight = this.sizeInfo.dividerHeight,\n menuPadding = this.sizeInfo.menuPadding,\n menuInnerHeight,\n menuHeight,\n divLength = 0,\n minHeight,\n _minHeight,\n maxHeight,\n menuInnerMinHeight,\n estimate,\n isDropup;\n\n if (this.options.dropupAuto) {\n // Get the estimated height of the menu without scrollbars.\n estimate = liHeight * this.selectpicker.current.data.length + menuPadding.vert;\n\n isDropup = this.sizeInfo.selectOffsetTop - this.sizeInfo.selectOffsetBot > this.sizeInfo.menuExtras.vert && estimate + this.sizeInfo.menuExtras.vert + 50 > this.sizeInfo.selectOffsetBot;\n\n // ensure dropup doesn't change while searching (so menu doesn't bounce back and forth)\n if (this.selectpicker.isSearching === true) {\n isDropup = this.selectpicker.dropup;\n }\n\n this.newElement.classList.toggle(classNames.DROPUP, isDropup);\n this.selectpicker.dropup = isDropup;\n }\n\n if (this.options.size === 'auto') {\n _minHeight = this.selectpicker.current.data.length > 3 ? this.sizeInfo.liHeight * 3 + this.sizeInfo.menuExtras.vert - 2 : 0;\n menuHeight = this.sizeInfo.selectOffsetBot - this.sizeInfo.menuExtras.vert;\n minHeight = _minHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight;\n menuInnerMinHeight = Math.max(_minHeight - menuPadding.vert, 0);\n\n if (this.newElement.classList.contains(classNames.DROPUP)) {\n menuHeight = this.sizeInfo.selectOffsetTop - this.sizeInfo.menuExtras.vert;\n }\n\n maxHeight = menuHeight;\n menuInnerHeight = menuHeight - headerHeight - searchHeight - actionsHeight - doneButtonHeight - menuPadding.vert;\n } else if (this.options.size && this.options.size !== 'auto' && this.selectpicker.current.elements.length > this.options.size) {\n for (var i = 0; i < this.options.size; i++) {\n if (this.selectpicker.current.data[i].type === 'divider') divLength++;\n }\n\n menuHeight = liHeight * this.options.size + divLength * divHeight + menuPadding.vert;\n menuInnerHeight = menuHeight - menuPadding.vert;\n maxHeight = menuHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight;\n minHeight = menuInnerMinHeight = '';\n }\n\n setStyles(this.menu, {\n maxHeight: maxHeight + 'px',\n overflow: 'hidden',\n minHeight: minHeight + 'px'\n });\n\n setStyles(this.menuInner, {\n maxHeight: menuInnerHeight + 'px',\n overflow: 'hidden auto',\n minHeight: menuInnerMinHeight + 'px'\n });\n\n // ensure menuInnerHeight is always a positive number to prevent issues calculating chunkSize in createView\n this.sizeInfo.menuInnerHeight = Math.max(menuInnerHeight, 1);\n\n if (this.selectpicker.current.data.length && this.selectpicker.current.data[this.selectpicker.current.data.length - 1].position > this.sizeInfo.menuInnerHeight) {\n this.sizeInfo.hasScrollBar = true;\n this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth + this.sizeInfo.scrollBarWidth;\n }\n\n if (this.options.dropdownAlignRight === 'auto') {\n this.menu.classList.toggle(classNames.MENUEND, this.sizeInfo.selectOffsetLeft > this.sizeInfo.selectOffsetRight && this.sizeInfo.selectOffsetRight < (this.sizeInfo.totalMenuWidth - selectWidth));\n }\n\n if (this.dropdown && this.dropdown._popper) this.dropdown._popper.update();\n }\n\n setSize (refresh) {\n this.liHeight(refresh);\n\n if (this.options.header) this.menu.style.paddingTop = 0;\n\n if (this.options.size !== false) {\n var that = this;\n\n this.setMenuSize();\n\n if (this.options.liveSearch) {\n this._replace('setMenuSizeInput', this.searchbox, 'input', function () {\n return that.setMenuSize();\n });\n }\n\n if (this.options.size === 'auto') {\n var windowSizeHandler = function () {\n return that.setMenuSize();\n };\n this._replace('setMenuSizeResize', window, 'resize', windowSizeHandler);\n this._replace('setMenuSizeScroll', window, 'scroll', windowSizeHandler);\n } else if (this.options.size && this.options.size !== 'auto' && this.selectpicker.current.elements.length > this.options.size) {\n this._removeNamed('setMenuSizeResize');\n this._removeNamed('setMenuSizeScroll');\n }\n }\n\n this.createView(false, true, refresh);\n }\n\n setWidth () {\n this.menu.style.minWidth = '';\n this.newElement.style.width = '';\n this.newElement.classList.remove('fit-width');\n\n if (this.options.width === 'fit') {\n this.newElement.classList.add('fit-width');\n return;\n }\n\n if (this.options.width && this.options.width !== 'auto') {\n this.newElement.style.width = this.options.width;\n }\n }\n\n selectPosition () {\n this.bsContainer = createFromHTML('
    ');\n\n var that = this,\n container = resolveContainer(this.options.container),\n pos,\n containerPos,\n actualHeight,\n getPlacement = function (element) {\n var Dropdown = getDropdown(),\n containerPosition = {},\n // fall back to dropdown's default display setting if display is not manually set\n display = that.options.display || (Dropdown.Default ? Dropdown.Default.display : false);\n\n var extraClass = element.getAttribute('class').replace(/form-control|fit-width/gi, '').trim();\n if (extraClass) that.bsContainer.classList.add.apply(that.bsContainer.classList, extraClass.split(/\\s+/));\n that.bsContainer.classList.toggle(classNames.DROPUP, element.classList.contains(classNames.DROPUP));\n pos = offset(element);\n\n if (container !== document.body) {\n containerPos = offset(container);\n var containerStyle = window.getComputedStyle(container);\n containerPos.top += toInteger(containerStyle.borderTopWidth) - container.scrollTop;\n containerPos.left += toInteger(containerStyle.borderLeftWidth) - container.scrollLeft;\n } else {\n containerPos = { top: 0, left: 0 };\n }\n\n actualHeight = element.classList.contains(classNames.DROPUP) ? 0 : element.offsetHeight;\n\n // Bootstrap 5 uses Popper for menu positioning\n if (display === 'static') {\n containerPosition.top = pos.top - containerPos.top + actualHeight;\n containerPosition.left = pos.left - containerPos.left;\n }\n\n containerPosition.width = element.offsetWidth;\n\n setStyles(that.bsContainer, {\n top: containerPosition.top !== undefined ? containerPosition.top + 'px' : '',\n left: containerPosition.left !== undefined ? containerPosition.left + 'px' : '',\n width: containerPosition.width + 'px'\n });\n };\n\n this._on(this.button, 'click', function () {\n if (that.isDisabled()) {\n return;\n }\n\n getPlacement(that.newElement);\n\n container.appendChild(that.bsContainer);\n that.bsContainer.classList.toggle(classNames.SHOW, !that.button.classList.contains(classNames.SHOW));\n that.bsContainer.appendChild(that.menu);\n });\n\n var windowHandler = function () {\n var isActive = that.newElement.classList.contains(classNames.SHOW);\n\n if (isActive) getPlacement(that.newElement);\n };\n this._replace('selectPositionResize', window, 'resize', windowHandler);\n this._replace('selectPositionScroll', window, 'scroll', windowHandler);\n\n this._on(this.element, 'hide' + EVENT_KEY, function () {\n that._menuHeight = outerHeight(that.menu);\n if (that.bsContainer.parentNode) that.bsContainer.parentNode.removeChild(that.bsContainer);\n });\n }\n\n createOption (data, init) {\n var optionData = !data.option ? data : data.option;\n\n if (optionData && optionData.nodeType !== 1) {\n var option = (init ? elementTemplates.selectedOption : elementTemplates.option).cloneNode(true);\n if (optionData.value !== undefined) option.value = optionData.value;\n option.textContent = optionData.text;\n\n option.selected = true;\n\n if (optionData.liIndex !== undefined) {\n option.liIndex = optionData.liIndex;\n } else if (!init) {\n option.liIndex = data.index;\n }\n\n data.option = option;\n\n this.selectpicker.main.optionQueue.appendChild(option);\n }\n }\n\n setOptionStatus (selectedOnly) {\n var that = this;\n\n that.noScroll = false;\n\n if (that.selectpicker.view.visibleElements && that.selectpicker.view.visibleElements.length) {\n for (var i = 0; i < that.selectpicker.view.visibleElements.length; i++) {\n var liData = that.selectpicker.current.data[i + that.selectpicker.view.position0],\n option = liData.option;\n\n if (option) {\n if (selectedOnly !== true) {\n that.setDisabled(liData);\n }\n\n that.setSelected(liData);\n }\n }\n\n // append optionQueue (documentFragment with option elements for select options)\n if (this.options.source.data) this.element.appendChild(this.selectpicker.main.optionQueue);\n }\n }\n\n /**\n * @param {Object} liData - the option object that is being changed\n * @param {boolean} selected - true if the option is being selected, false if being deselected\n */\n setSelected (liData, selected) {\n selected = selected === undefined ? liData.selected : selected;\n\n var li = liData.element,\n activeElementIsSet = this.activeElement !== undefined,\n thisIsActive = this.activeElement === li,\n prevActive,\n a,\n keepActive = thisIsActive || (selected && !this.multiple && !activeElementIsSet);\n\n if (selected !== undefined) {\n liData.selected = selected;\n if (liData.option) liData.option.selected = selected;\n }\n\n if (selected && this.options.source.data) {\n this.createOption(liData, false);\n }\n\n if (!li) return;\n\n a = li.firstChild;\n\n if (selected) {\n this.selectedElement = li;\n }\n\n li.classList.toggle('selected', selected);\n\n if (keepActive) {\n this.focusItem(li, liData);\n this.selectpicker.view.currentActive = li;\n this.activeElement = li;\n } else {\n this.defocusItem(li);\n }\n\n if (a) {\n a.classList.toggle('selected', selected);\n\n if (selected) {\n a.setAttribute('aria-selected', true);\n } else {\n if (this.multiple) {\n a.setAttribute('aria-selected', false);\n } else {\n a.removeAttribute('aria-selected');\n }\n }\n }\n\n if (!keepActive && !activeElementIsSet && selected && this.prevActiveElement !== undefined) {\n prevActive = this.prevActiveElement;\n\n this.defocusItem(prevActive);\n }\n }\n\n /**\n * @param {Object} liData - the option that is being disabled\n */\n setDisabled (liData) {\n var disabled = liData.disabled,\n li = liData.element,\n a;\n\n if (!li) return;\n\n a = li.firstChild;\n\n li.classList.toggle(classNames.DISABLED, disabled);\n\n if (a) {\n a.classList.toggle(classNames.DISABLED, disabled);\n\n if (disabled) {\n a.setAttribute('aria-disabled', disabled);\n a.setAttribute('tabindex', -1);\n } else {\n a.removeAttribute('aria-disabled');\n a.setAttribute('tabindex', 0);\n }\n }\n }\n\n isDisabled () {\n return this.element.disabled;\n }\n\n checkDisabled () {\n if (this.isDisabled()) {\n this.newElement.classList.add(classNames.DISABLED);\n this.button.classList.add(classNames.DISABLED);\n this.button.setAttribute('aria-disabled', true);\n } else {\n if (this.button.classList.contains(classNames.DISABLED)) {\n this.newElement.classList.remove(classNames.DISABLED);\n this.button.classList.remove(classNames.DISABLED);\n this.button.setAttribute('aria-disabled', false);\n }\n }\n }\n\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n clickListener () {\n var that = this;\n\n spaceSelectFlag = false;\n\n this._on(this.button, 'keyup', function (e) {\n if (/(32)/.test(e.keyCode.toString(10)) && spaceSelectFlag) {\n e.preventDefault();\n spaceSelectFlag = false;\n }\n });\n\n function clearSelection (e) {\n if (that.multiple) {\n that.deselectAll();\n } else {\n var element = that.element,\n prevValue = element.value,\n prevIndex = element.selectedIndex,\n prevOption = element.options[prevIndex],\n prevData = prevOption ? that.selectpicker.main.data[prevOption.liIndex] : false;\n\n if (prevData) {\n that.setSelected(prevData, false);\n }\n\n element.selectedIndex = 0;\n\n changedArguments = [prevIndex, false, prevValue];\n triggerNative(that.element, 'change');\n }\n\n // remove selected styling if menu is open\n if (that.newElement.classList.contains(classNames.SHOW)) {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n }\n\n that.createView(false);\n }\n }\n\n if (this.options.allowClear) {\n this._on(this.button, 'click', function (e) {\n var target = e.target,\n clearButton = that.clearButton;\n\n if (target === clearButton || target.parentElement === clearButton) {\n e.stopImmediatePropagation();\n clearSelection(e);\n }\n });\n }\n\n function setFocus () {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.menuInner.focus();\n }\n }\n\n function checkPopperExists () {\n if (that.dropdown && that.dropdown._popper && that.dropdown._popper.state) {\n setFocus();\n } else {\n requestAnimationFrame(checkPopperExists);\n }\n }\n\n this._on(this.element, 'shown' + EVENT_KEY, function () {\n if (that.menuInner.scrollTop !== that.selectpicker.view.scrollTop) {\n that.menuInner.scrollTop = that.selectpicker.view.scrollTop;\n }\n\n requestAnimationFrame(checkPopperExists);\n });\n\n // ensure posinset and setsize are correct before selecting an option via a click\n this._delegate(this.menuInner, 'mouseover', 'li a', function () {\n var hoverLi = this.parentElement,\n position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0,\n index = Array.prototype.indexOf.call(hoverLi.parentElement.children, hoverLi),\n hoverData = that.selectpicker.current.data[index + position0];\n\n that.focusItem(hoverLi, hoverData, true);\n });\n\n this._delegate(this.menuInner, 'click', 'li a', function (e) {\n that.onOptionClick(this, e);\n });\n\n this._delegate(this.menu, 'click', 'li.' + classNames.DISABLED + ' a, .' + classNames.POPOVERHEADER + ', .' + classNames.POPOVERHEADER + ' :not(.btn-close):not(.close)', function (e) {\n if (e.currentTarget === this || e.target === this) {\n e.preventDefault();\n e.stopPropagation();\n if (that.options.liveSearch && !e.target.classList.contains('btn-close') && !e.target.classList.contains('close')) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n }\n });\n\n this._delegate(this.menuInner, 'click', '.divider, .dropdown-header', function (e) {\n e.preventDefault();\n e.stopPropagation();\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n });\n\n this._delegate(this.menu, 'click', '.' + classNames.POPOVERHEADER + ' .btn-close, .' + classNames.POPOVERHEADER + ' .close', function () {\n that.dropdown.hide();\n });\n\n this._delegate(this.newElement, 'click', '.bs-selected-item', function (e) {\n e.preventDefault();\n e.stopPropagation();\n that.removeSelectedTag(this.getAttribute('data-option-value'));\n });\n\n this._delegate(this.menu, 'click', '.bs-create-option', function (e) {\n e.preventDefault();\n e.stopPropagation();\n that.createOpenOption(this.getAttribute('data-search-value'));\n });\n\n if (this.searchbox) {\n this._on(this.searchbox, 'click', function (e) {\n e.stopPropagation();\n });\n }\n\n this._delegate(this.menu, 'click', '.actions-btn', function (e) {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (this.classList.contains('bs-select-all')) {\n that.selectAll();\n } else {\n that.deselectAll();\n }\n });\n\n this._on(this.button, 'focus', function (e) {\n var tabindex = that.element.getAttribute('tabindex');\n\n // only change when button is actually focused\n if (tabindex !== undefined && tabindex !== null && e.isTrusted) {\n // apply select element's tabindex to ensure correct order is followed when tabbing to the next element\n this.setAttribute('tabindex', tabindex);\n // set element's tabindex to -1 to allow for reverse tabbing\n that.element.setAttribute('tabindex', -1);\n that.selectpicker.view.tabindex = tabindex;\n }\n });\n\n this._on(this.button, 'blur', function (e) {\n // revert everything to original tabindex\n if (that.selectpicker.view.tabindex !== undefined && e.isTrusted) {\n that.element.setAttribute('tabindex', that.selectpicker.view.tabindex);\n this.setAttribute('tabindex', -1);\n that.selectpicker.view.tabindex = undefined;\n }\n });\n\n this._on(this.element, 'change', function () {\n that.render();\n that._emit('changed', changedArguments ? {\n clickedIndex: changedArguments[0],\n isSelected: changedArguments[1],\n previousValue: changedArguments[2]\n } : null);\n changedArguments = null;\n });\n\n this._on(this.element, 'focus', function () {\n if (!that.options.mobile) that.button.focus();\n });\n }\n\n onOptionClick (clickedAnchor, e, retainActive) {\n var that = this,\n element = that.element,\n li = clickedAnchor.parentElement,\n position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0,\n clickedData = that.selectpicker.current.data[Array.prototype.indexOf.call(li.parentElement.children, li) + position0],\n clickedElement = clickedData.element,\n prevValue = getSelectValues.call(that),\n prevIndex = element.selectedIndex,\n prevOption = element.options[prevIndex],\n prevData = prevOption ? that.selectpicker.main.data[prevOption.liIndex] : false,\n triggerChange = true;\n\n // Don't close on multi choice menu\n if (that.multiple && that.options.maxOptions !== 1) {\n e.stopPropagation();\n }\n\n e.preventDefault();\n\n // Don't run if the select is disabled\n if (!that.isDisabled() && !li.classList.contains(classNames.DISABLED)) {\n var option = clickedData.option,\n state = option.selected,\n optgroupData = that.selectpicker.current.data.find(function (datum) {\n return datum.optID === clickedData.optID && datum.type === 'optgroup-label';\n }),\n optgroup = optgroupData ? optgroupData.optgroup : undefined,\n dataGetter = optgroup instanceof Element ? getOptionData.fromOption : getOptionData.fromDataSource,\n optgroupOptions = optgroup && optgroup.children,\n maxOptions = parseInt(that.options.maxOptions),\n maxOptionsGrp = optgroup && parseInt(dataGetter(optgroup, 'maxOptions')) || false;\n\n if (clickedElement === that.activeElement) retainActive = true;\n\n if (!retainActive) {\n that.prevActiveElement = that.activeElement;\n that.activeElement = undefined;\n }\n\n if (!that.multiple || maxOptions === 1) { // Deselect previous option if not multi select\n if (prevData) that.setSelected(prevData, false);\n that.setSelected(clickedData, true);\n } else { // Toggle the clicked option if multi select.\n that.setSelected(clickedData, !state);\n that.focusedParent.focus();\n\n if (maxOptions !== false || maxOptionsGrp !== false) {\n var maxReached = maxOptions < getSelectedOptions.call(that).length,\n selectedGroupOptions = 0;\n\n if (optgroup && optgroup.children) {\n for (var i = 0; i < optgroup.children.length; i++) {\n if (optgroup.children[i].selected) selectedGroupOptions++;\n }\n }\n\n var maxReachedGrp = maxOptionsGrp < selectedGroupOptions;\n\n if ((maxOptions && maxReached) || (maxOptionsGrp && maxReachedGrp)) {\n if (maxOptions && maxOptions === 1) {\n element.selectedIndex = -1;\n that.setOptionStatus(true);\n } else if (maxOptionsGrp && maxOptionsGrp === 1) {\n for (var j = 0; j < optgroupOptions.length; j++) {\n var _option = optgroupOptions[j];\n that.setSelected(that.selectpicker.current.data[_option.liIndex], false);\n }\n\n that.setSelected(clickedData, true);\n } else {\n var maxOptionsText = typeof that.options.maxOptionsText === 'string' ? [that.options.maxOptionsText, that.options.maxOptionsText] : that.options.maxOptionsText,\n maxOptionsArr = typeof maxOptionsText === 'function' ? maxOptionsText(maxOptions, maxOptionsGrp) : maxOptionsText,\n maxTxt = maxOptionsArr[0].replace('{n}', maxOptions),\n maxTxtGrp = maxOptionsArr[1].replace('{n}', maxOptionsGrp),\n notify = createFromHTML('
    ');\n\n that.menu.appendChild(notify);\n\n if (maxOptions && maxReached) {\n notify.appendChild(createFromHTML('
    ' + maxTxt + '
    '));\n triggerChange = false;\n that._emit('maxReached');\n }\n\n if (maxOptionsGrp && maxReachedGrp) {\n notify.appendChild(createFromHTML('
    ' + maxTxtGrp + '
    '));\n triggerChange = false;\n that._emit('maxReachedGrp');\n }\n\n setTimeout(function () {\n that.setSelected(clickedData, false);\n }, 10);\n\n notify.classList.add('fadeOut');\n\n setTimeout(function () {\n notify.remove();\n }, 1050);\n }\n }\n }\n }\n\n if (that.options.source.data) that.element.appendChild(that.selectpicker.main.optionQueue);\n\n if (!that.multiple || (that.multiple && that.options.maxOptions === 1)) {\n that.button.focus();\n } else if (that.options.liveSearch) {\n that.searchbox.focus();\n }\n\n // Trigger select 'change'\n if (triggerChange) {\n if (that.multiple || prevIndex !== element.selectedIndex) {\n changedArguments = [option.index, option.selected, prevValue];\n triggerNative(that.element, 'change');\n }\n }\n }\n }\n\n liveSearchListener () {\n var that = this;\n\n this._on(this.searchbox, 'click', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'focus', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'touchend', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'keydown', function (e) {\n if (e.key === 'Enter' && that.createOptionButton && !that.createOptionButton.hidden && !that.selectpicker.current.data.length) {\n e.preventDefault();\n e.stopPropagation();\n that.createOpenOption(that.searchbox.value);\n }\n });\n\n this._on(this.searchbox, 'input', function () {\n var searchValue = that.searchbox.value;\n\n that.selectpicker.search.elements = [];\n that.selectpicker.search.data = [];\n\n if (searchValue) {\n that.selectpicker.search.previousValue = searchValue;\n\n if (that.options.source.search) {\n that.fetchData(function () {\n that.appendCreatedSearchResults(searchValue);\n that.render();\n that.buildList(undefined, true);\n that.noScroll = true;\n that.menuInner.scrollTop = 0;\n that.createView(true);\n showNoResults.call(that, that.selectpicker.search.data, searchValue);\n }, 'search', 0, searchValue);\n } else {\n var searchMatch = [],\n q = searchValue.toUpperCase(),\n cache = {},\n cacheArr = [],\n searchStyle = that._searchStyle(),\n normalizeSearch = that.options.liveSearchNormalize;\n\n if (normalizeSearch) q = normalizeToBase(q);\n\n for (var i = 0; i < that.selectpicker.main.data.length; i++) {\n var li = that.selectpicker.main.data[i];\n\n if (!cache[i]) {\n cache[i] = stringSearch(li, q, searchStyle, normalizeSearch);\n }\n\n if (cache[i] && li.headerIndex !== undefined && cacheArr.indexOf(li.headerIndex) === -1) {\n if (li.headerIndex > 0) {\n cache[li.headerIndex - 1] = true;\n cacheArr.push(li.headerIndex - 1);\n }\n\n cache[li.headerIndex] = true;\n cacheArr.push(li.headerIndex);\n\n cache[li.lastIndex + 1] = true;\n }\n\n if (cache[i] && li.type !== 'optgroup-label') cacheArr.push(i);\n }\n\n for (var j = 0, cacheLen = cacheArr.length; j < cacheLen; j++) {\n var index = cacheArr[j],\n prevIndex = cacheArr[j - 1],\n liData = that.selectpicker.main.data[index],\n liPrev = that.selectpicker.main.data[prevIndex];\n\n if (liData.type !== 'divider' || (liData.type === 'divider' && liPrev && liPrev.type !== 'divider' && cacheLen - 1 !== j)) {\n that.selectpicker.search.data.push(liData);\n searchMatch.push(that.selectpicker.main.elements[index]);\n }\n }\n\n that.activeElement = undefined;\n that.noScroll = true;\n that.menuInner.scrollTop = 0;\n that.selectpicker.search.elements = searchMatch;\n that.createView(true);\n showNoResults.call(that, searchMatch, searchValue);\n }\n } else if (that.selectpicker.search.previousValue) {\n that.menuInner.scrollTop = 0;\n that.createView(false);\n }\n\n that.syncOpenOptionButton();\n });\n }\n\n _searchStyle () {\n return this.options.liveSearchStyle || 'contains';\n }\n\n getValue () {\n var element = this.element;\n\n if (this.multiple) {\n var values = [];\n for (var i = 0; i < element.options.length; i++) {\n if (element.options[i].selected) values.push(element.options[i].value);\n }\n return values;\n }\n\n return element.value;\n }\n\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n val (value) {\n var element = this.element;\n\n if (typeof value !== 'undefined') {\n var selectedOptions = getSelectedOptions.call(this),\n prevValue = getSelectValues.call(this, selectedOptions);\n\n changedArguments = [null, null, prevValue];\n\n if (!Array.isArray(value)) value = [ value ];\n\n value.map(String);\n\n for (var i = 0; i < selectedOptions.length; i++) {\n var item = selectedOptions[i];\n\n if (item && value.indexOf(String(item.value)) === -1) {\n this.setSelected(item, false);\n }\n }\n\n // only update selected value if it matches an existing option\n this.selectpicker.main.data.filter(function (item) {\n if (value.indexOf(String(item.value)) !== -1) {\n this.setSelected(item, true);\n return true;\n }\n\n return false;\n }, this);\n\n if (this.options.source.data) element.appendChild(this.selectpicker.main.optionQueue);\n\n this._emit('changed', changedArguments ? {\n clickedIndex: changedArguments[0],\n isSelected: changedArguments[1],\n previousValue: changedArguments[2]\n } : null);\n\n if (this.newElement.classList.contains(classNames.SHOW)) {\n if (this.multiple) {\n this.setOptionStatus(true);\n } else {\n var liSelectedIndex = (element.options[element.selectedIndex] || {}).liIndex;\n\n if (typeof liSelectedIndex === 'number') {\n this.setSelected(this.selectpicker.current.data[liSelectedIndex], true);\n }\n }\n }\n\n this.render();\n\n changedArguments = null;\n\n return this.element;\n } else {\n return this.getValue();\n }\n }\n\n changeAll (status) {\n if (!this.multiple) return;\n if (typeof status === 'undefined') status = true;\n\n var element = this.element,\n previousSelected = 0,\n currentSelected = 0,\n prevValue = getSelectValues.call(this);\n\n element.classList.add('bs-select-hidden');\n\n for (var i = 0, data = this.selectpicker.current.data, len = data.length; i < len; i++) {\n var liData = data[i],\n option = liData.option;\n\n if (option && !liData.disabled && liData.type !== 'divider') {\n if (liData.selected) previousSelected++;\n option.selected = status;\n liData.selected = status;\n if (status === true) currentSelected++;\n }\n }\n\n element.classList.remove('bs-select-hidden');\n\n if (previousSelected === currentSelected) return;\n\n this.setOptionStatus();\n\n changedArguments = [null, null, prevValue];\n\n triggerNative(this.element, 'change');\n }\n\n selectAll () {\n return this.changeAll(true);\n }\n\n deselectAll () {\n return this.changeAll(false);\n }\n\n toggle (e, state) {\n var isActive,\n triggerToggle = state === undefined;\n\n if (e && e.stopPropagation) e.stopPropagation();\n\n if (triggerToggle === false) {\n isActive = this.newElement.classList.contains(classNames.SHOW);\n triggerToggle = (state === true && isActive === false) || (state === false && isActive === true);\n }\n\n if (triggerToggle) this.dropdown.toggle();\n }\n\n open (e) {\n this.toggle(e, true);\n }\n\n close (e) {\n this.toggle(e, false);\n }\n\n _keydown (e, el) {\n var that = this,\n which = e.which || e.keyCode,\n isToggle = el.classList.contains('dropdown-toggle'),\n items = that.findLis(),\n index,\n isActive,\n liActive,\n activeLi,\n offsetVal,\n updateScroll = false,\n downOnTab = which === keyCodes.TAB && !isToggle && !that.options.selectOnTab,\n isArrowKey = REGEXP_ARROW.test(which) || downOnTab,\n scrollTop = that.menuInner.scrollTop,\n isVirtual = that.isVirtual(),\n position0 = isVirtual === true ? that.selectpicker.view.position0 : 0;\n\n // do nothing if a function key is pressed\n if (which >= 112 && which <= 123) return;\n\n isActive = that.menu.classList.contains(classNames.SHOW);\n\n if (\n !isActive &&\n (\n isArrowKey ||\n (which >= 48 && which <= 57) ||\n (which >= 96 && which <= 105) ||\n (which >= 65 && which <= 90)\n )\n ) {\n that.dropdown.show();\n\n if (that.options.liveSearch) {\n that.searchbox.focus();\n return;\n }\n }\n\n if (which === keyCodes.ESCAPE && isActive) {\n e.preventDefault();\n that.dropdown.hide();\n that.button.focus();\n }\n\n if (isArrowKey) { // if up or down\n if (!items.length) return;\n\n liActive = that.activeElement;\n index = liActive ? Array.prototype.indexOf.call(liActive.parentElement.children, liActive) : -1;\n\n if (index !== -1) {\n that.defocusItem(liActive);\n }\n\n if (which === keyCodes.ARROW_UP) { // up\n if (index !== -1) index--;\n if (index + position0 < 0) index += items.length;\n\n if (!that.selectpicker.view.canHighlight[index + position0]) {\n index = that.selectpicker.view.canHighlight.slice(0, index + position0).lastIndexOf(true) - position0;\n if (index === -1) index = items.length - 1;\n }\n } else if (which === keyCodes.ARROW_DOWN || downOnTab) { // down\n index++;\n if (index + position0 >= that.selectpicker.view.canHighlight.length) index = that.selectpicker.view.firstHighlightIndex;\n\n if (!that.selectpicker.view.canHighlight[index + position0]) {\n index = index + 1 + that.selectpicker.view.canHighlight.slice(index + position0 + 1).indexOf(true);\n }\n }\n\n e.preventDefault();\n\n var liActiveIndex = position0 + index;\n\n if (which === keyCodes.ARROW_UP) { // up\n // scroll to bottom and highlight last option\n if (position0 === 0 && index === items.length - 1) {\n that.menuInner.scrollTop = that.menuInner.scrollHeight;\n\n liActiveIndex = that.selectpicker.current.elements.length - 1;\n } else {\n activeLi = that.selectpicker.current.data[liActiveIndex];\n\n // could be undefined if no results exist\n if (activeLi) {\n offsetVal = activeLi.position - activeLi.height;\n\n updateScroll = offsetVal < scrollTop;\n }\n }\n } else if (which === keyCodes.ARROW_DOWN || downOnTab) { // down\n // scroll to top and highlight first option\n if (index === that.selectpicker.view.firstHighlightIndex) {\n that.menuInner.scrollTop = 0;\n\n liActiveIndex = that.selectpicker.view.firstHighlightIndex;\n } else {\n activeLi = that.selectpicker.current.data[liActiveIndex];\n\n // could be undefined if no results exist\n if (activeLi) {\n offsetVal = activeLi.position - that.sizeInfo.menuInnerHeight;\n\n updateScroll = offsetVal > scrollTop;\n }\n }\n }\n\n liActive = that.selectpicker.current.elements[liActiveIndex];\n\n that.activeElement = (that.selectpicker.current.data[liActiveIndex] || {}).element;\n\n that.focusItem(liActive);\n\n that.selectpicker.view.currentActive = liActive;\n\n if (updateScroll) that.menuInner.scrollTop = offsetVal;\n\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n el.focus();\n }\n } else if (\n (!el.matches('input') && !REGEXP_TAB_OR_ESCAPE.test(which)) ||\n (which === keyCodes.SPACE && that.selectpicker.keydown.keyHistory)\n ) {\n var matches = [],\n keyHistory;\n\n e.preventDefault();\n\n that.selectpicker.keydown.keyHistory += keyCodeMap[which];\n\n if (that.selectpicker.keydown.resetKeyHistory.cancel) clearTimeout(that.selectpicker.keydown.resetKeyHistory.cancel);\n that.selectpicker.keydown.resetKeyHistory.cancel = that.selectpicker.keydown.resetKeyHistory.start();\n\n keyHistory = that.selectpicker.keydown.keyHistory;\n\n // if all letters are the same, set keyHistory to just the first character when searching\n if (/^(.)\\1+$/.test(keyHistory)) {\n keyHistory = keyHistory.charAt(0);\n }\n\n // find matches\n for (var i = 0; i < that.selectpicker.current.data.length; i++) {\n var li = that.selectpicker.current.data[i],\n hasMatch;\n\n hasMatch = stringSearch(li, keyHistory, 'startsWith', true);\n\n if (hasMatch && that.selectpicker.view.canHighlight[i]) {\n matches.push(li.element);\n }\n }\n\n if (matches.length) {\n var matchIndex = 0;\n\n Array.prototype.forEach.call(items, function (item) {\n item.classList.remove('active');\n if (item.firstChild) item.firstChild.classList.remove('active');\n });\n\n // either only one key has been pressed or they are all the same key\n if (keyHistory.length === 1) {\n matchIndex = matches.indexOf(that.activeElement);\n\n if (matchIndex === -1 || matchIndex === matches.length - 1) {\n matchIndex = 0;\n } else {\n matchIndex++;\n }\n }\n\n activeLi = that.selectpicker.main.data[that.selectpicker.main.elements.indexOf(matches[matchIndex])];\n\n if (activeLi) {\n if (scrollTop - activeLi.position > 0) {\n offsetVal = activeLi.position - activeLi.height;\n updateScroll = true;\n } else {\n offsetVal = activeLi.position - that.sizeInfo.menuInnerHeight;\n // if the option is already visible at the current scroll position, just keep it the same\n updateScroll = activeLi.position > scrollTop + that.sizeInfo.menuInnerHeight;\n }\n }\n\n liActive = matches[matchIndex];\n\n that.activeElement = liActive;\n\n that.focusItem(liActive);\n\n if (liActive) liActive.firstChild.focus();\n\n if (updateScroll) that.menuInner.scrollTop = offsetVal;\n\n el.focus();\n }\n }\n\n // Select focused option if \"Enter\", \"Spacebar\" or \"Tab\" (when selectOnTab is true) are pressed inside the menu.\n if (\n isActive &&\n (\n (which === keyCodes.SPACE && !that.selectpicker.keydown.keyHistory) ||\n which === keyCodes.ENTER ||\n (which === keyCodes.TAB && that.options.selectOnTab)\n )\n ) {\n if (which !== keyCodes.SPACE) e.preventDefault();\n\n if (!that.options.liveSearch || which !== keyCodes.SPACE) {\n var activeAnchor = that.menuInner.querySelector('.active a');\n if (activeAnchor) that.onOptionClick(activeAnchor, e, true); // retain active class\n el.focus();\n\n if (!that.options.liveSearch) {\n // Prevent screen from scrolling if the user hits the spacebar\n e.preventDefault();\n // Fixes spacebar selection of dropdown items in FF & IE\n spaceSelectFlag = true;\n }\n }\n }\n }\n\n mobile () {\n // ensure mobile is set to true if mobile function is called after init\n this.options.mobile = true;\n this.element.classList.add('mobile-device');\n }\n\n resetMenuData () {\n this.selectpicker.main.data = [];\n this.selectpicker.main.elements = [];\n this.selectpicker.main.hasMore = false;\n this.selectpicker.search.data = [];\n this.selectpicker.search.elements = [];\n this.selectpicker.search.hasMore = false;\n this.selectpicker.current.data = this.selectpicker.main.data;\n this.selectpicker.current.elements = this.selectpicker.main.elements;\n this.selectpicker.current.hasMore = false;\n this.selectpicker.isSearching = false;\n }\n\n refresh () {\n var that = this;\n // update options if data attributes have been changed\n var config = stripRemovedOptions(Object.assign({}, this.options, getAttributesObject(this.element), getDataset(this.element)));\n this.options = config;\n\n if (this.options.source.data) {\n this.render();\n this.buildList();\n } else {\n this.resetMenuData();\n this.fetchData(function () {\n that.render();\n that.buildList();\n });\n }\n\n this.checkDisabled();\n this.setStyle();\n this.setWidth();\n\n this.setSize(true);\n\n this._emit('refreshed');\n }\n\n hide () {\n this.newElement.style.display = 'none';\n }\n\n show () {\n this.newElement.style.display = '';\n }\n\n remove () {\n if (this.newElement.parentNode) this.newElement.parentNode.removeChild(this.newElement);\n instanceMap.delete(this.element);\n }\n\n destroy () {\n // move the select back out of newElement, then remove newElement\n if (this.newElement.parentNode) {\n this.newElement.parentNode.insertBefore(this.element, this.newElement);\n this.newElement.parentNode.removeChild(this.newElement);\n }\n\n if (this.bsContainer) {\n if (this.bsContainer.parentNode) this.bsContainer.parentNode.removeChild(this.bsContainer);\n } else if (this.menu && this.menu.parentNode) {\n this.menu.parentNode.removeChild(this.menu);\n }\n\n if (this.selectpicker.view.titleOption && this.selectpicker.view.titleOption.parentNode) {\n this.selectpicker.view.titleOption.parentNode.removeChild(this.selectpicker.view.titleOption);\n }\n\n // remove all tracked event listeners\n for (var i = 0; i < this._listeners.length; i++) {\n var l = this._listeners[i];\n l.el.removeEventListener(l.type, l.handler, l.options);\n }\n this._listeners = [];\n\n for (var key in this._named) {\n if (Object.prototype.hasOwnProperty.call(this._named, key)) {\n this._removeNamed(key);\n }\n }\n\n if (this.dropdown && typeof this.dropdown.dispose === 'function') {\n this.dropdown.dispose();\n }\n\n this.element.classList.remove('bs-select-hidden', 'selectpicker', 'mobile-device');\n\n instanceMap.delete(this.element);\n }\n}\n\n// stores element -> Selectpicker instance\nvar instanceMap = new WeakMap();\n\nSelectpicker.NAME = 'selectpicker';\nSelectpicker.VERSION = '1.2.0';\n\n// user-provided global defaults (set via Selectpicker.setDefaults, used by i18n files)\nSelectpicker.defaults = null;\n\n// part of this is duplicated in i18n/defaults-en_US.js. Make sure to update both.\nSelectpicker.DEFAULTS = {\n noneSelectedText: 'Nothing selected',\n noneResultsText: 'No results matched {0}',\n countSelectedText: function (numSelected) {\n return (numSelected == 1) ? '{0} item selected' : '{0} items selected';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)',\n (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'\n ];\n },\n selectAllText: 'Select All',\n deselectAllText: 'Deselect All',\n source: {\n pageSize: 40,\n create: null\n },\n chunkSize: 40,\n doneButton: false,\n doneButtonText: 'Close',\n multipleSeparator: ', ',\n style: classNames.BUTTONCLASS,\n size: 'auto',\n placeholder: null,\n allowClear: false,\n selectedTextFormat: 'values',\n width: false,\n hideDisabled: false,\n showSubtext: false,\n showIcon: true,\n showContent: true,\n dropupAuto: true,\n header: false,\n liveSearch: false,\n liveSearchPlaceholder: null,\n liveSearchNormalize: false,\n liveSearchStyle: 'contains',\n openOptions: false,\n openOptionsText: 'Create \"{0}\"',\n selectionIndicator: 'checkmark',\n actionsBox: false,\n iconBase: classNames.ICONBASE,\n tickIcon: classNames.TICKICON,\n showTick: false,\n showSelectedTags: false,\n selectedItemsStyle: 'tags',\n selectedTagRemoveLabel: 'Remove',\n template: {\n caret: ''\n },\n maxOptions: false,\n selectOnTab: true,\n dropdownAlignRight: false,\n virtualScroll: 600,\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist\n};\n\nSelectpicker._buildConfig = function (element, options) {\n options = stripRemovedOptions(options || {});\n\n var dataAttributes = stripRemovedOptions(getDataset(element));\n\n for (var dataAttr in dataAttributes) {\n if (Object.prototype.hasOwnProperty.call(dataAttributes, dataAttr) && DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr];\n }\n }\n\n var userDefaults = stripRemovedOptions(Selectpicker.defaults || {});\n\n var config = Object.assign({}, Selectpicker.DEFAULTS, userDefaults, getAttributesObject(element), dataAttributes, options);\n config.template = Object.assign({}, Selectpicker.DEFAULTS.template, userDefaults.template || {}, dataAttributes.template, options.template);\n config.source = Object.assign({}, Selectpicker.DEFAULTS.source, userDefaults.source || {}, options.source);\n\n return applyLegacyOptions(element, config);\n};\n\nSelectpicker.setDefaults = function (newDefaults) {\n Selectpicker.defaults = stripRemovedOptions(Object.assign({}, Selectpicker.defaults, newDefaults));\n};\n\nSelectpicker.getInstance = function (element) {\n if (typeof element === 'string') element = document.querySelector(element);\n return instanceMap.get(element) || null;\n};\n\nSelectpicker.getOrCreateInstance = function (element, options) {\n if (typeof element === 'string') element = document.querySelector(element);\n if (!element || element.tagName !== 'SELECT') return null;\n\n var instance = instanceMap.get(element);\n\n if (instance) {\n options = stripRemovedOptions(options);\n\n if (options && typeof options === 'object') {\n for (var i in options) {\n if (Object.prototype.hasOwnProperty.call(options, i)) {\n instance.options[i] = options[i];\n }\n }\n }\n\n return instance;\n }\n\n return new Selectpicker(element, typeof options === 'object' ? options : {});\n};\n\n// Runtime wiring lives in js/bootstrap-select.runtime.js so each distribution\n// can choose whether it should expose a browser global or stay module-scoped.\n\n\n/* global Selector, __SELECTPICKER_EXPOSE_GLOBAL__ */\n\n// \nvar KEYDOWN_SELECTOR = '.bootstrap-select [' + Selector.DATA_TOGGLE + '], .bootstrap-select [role=\"listbox\"], .bootstrap-select .bs-searchbox input';\n\nfunction initSelectpickerRuntime (Selectpicker, exposeGlobal) {\n if (typeof window === 'undefined' || typeof document === 'undefined') return;\n\n // Handle keyboard navigation ourselves. This listener runs in the capture\n // phase on `window` so it executes before Bootstrap's `document`-level\n // (capture-phase, delegated) dropdown keydown handler and prevents it from\n // processing bootstrap-select's custom menu (which would otherwise error on\n // relocated/container menus and conflict with our own navigation). This\n // replaces the upstream approach of unbinding Bootstrap's global handler.\n window.addEventListener('keydown', function (e) {\n var target = e.target;\n if (!target || !target.closest) return;\n\n // Any keydown originating inside a bootstrap-select widget (or its\n // relocated menu container) must not reach Bootstrap's dropdown keydown\n // handler.\n var widget = target.closest('.bootstrap-select, .bs-container');\n if (!widget) return;\n\n e.stopImmediatePropagation();\n\n var trigger = target.closest(KEYDOWN_SELECTOR);\n if (!trigger) return;\n\n var instance;\n for (var node = trigger; node; node = node.parentElement) {\n if (node.bootstrapSelectInstance) {\n instance = node.bootstrapSelectInstance;\n break;\n }\n }\n\n if (instance) instance._keydown(e, trigger);\n }, true);\n\n document.addEventListener('focusin', function (e) {\n var target = e.target;\n if (target && target.closest && target.closest(KEYDOWN_SELECTOR)) {\n e.stopPropagation();\n }\n });\n\n function initAll () {\n var selects = document.querySelectorAll('.selectpicker');\n Array.prototype.forEach.call(selects, function (select) {\n Selectpicker.getOrCreateInstance(select);\n });\n }\n\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', initAll);\n } else {\n initAll();\n }\n\n if (exposeGlobal) {\n window.Selectpicker = Selectpicker;\n }\n}\n\ninitSelectpickerRuntime(\n Selectpicker,\n typeof __SELECTPICKER_EXPOSE_GLOBAL__ === 'undefined' ? true : __SELECTPICKER_EXPOSE_GLOBAL__\n);\n// \n\nreturn Selectpicker;\n\n\n}(Bootstrap));\n\nexport default Selectpicker;\nexport { Selectpicker };\n"],"names":[],"mappings":"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AE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC5E,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC5E,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG;AAC/B,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC5E,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC5E,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC7D,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC7D,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC7D,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC7D,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EA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"} \ No newline at end of file diff --git a/docs/dist/js/bootstrap-select.js b/docs/dist/js/bootstrap-select.js index dbe8260..36b5db6 100644 --- a/docs/dist/js/bootstrap-select.js +++ b/docs/dist/js/bootstrap-select.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,11 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* eslint-disable no-unused-vars */ +// Shared ordered source fragment consumed by the Grunt JS build. + 'use strict'; // Resolve Bootstrap's Dropdown component (Bootstrap 5+). It may be provided @@ -269,6 +273,10 @@ function getAttributesObject (element) { return attributesObject; } + +/* eslint-disable no-unused-vars */ +// Shared ordered source fragment consumed by the Grunt JS build. + // function stringSearch (li, searchString, method, normalize) { var stringTypes = [ @@ -433,6 +441,10 @@ var createEscaper = function (map) { var htmlEscape = createEscaper(escapeMap); // + +/* eslint-disable no-undef, no-unused-vars */ +// Shared ordered source fragment consumed by the Grunt JS build. + // var keyCodeMap = { 32: ' ', 48: '0', 49: '1', 50: '2', 51: '3', 52: '4', 53: '5', 54: '6', @@ -740,6 +752,10 @@ function stripRemovedOptions (source) { return result; } + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. + class Selectpicker { constructor (element, options) { if (typeof element === 'string') { @@ -979,11 +995,15 @@ class Selectpicker { } createDropdown () { - // If we are multiple or showTick option is set, then add the show-tick class - var showTick = (this.multiple || this.options.showTick) ? ' show-tick' : '', + // Multiple selects always show an indicator. Single selects also need the + // indicator column when selectionIndicator is enabled. + var usesSelectionIndicator = this.options.selectionIndicator === 'checkbox', + showTick = (this.multiple || this.options.showTick || usesSelectionIndicator) ? ' show-tick' : '', showSelectedTags = this.options.showSelectedTags ? ' show-selected-tags' : '', selectedItemsStyle = this.options.selectedItemsStyle === 'list' ? ' selected-items-style-list' : '', - selectionIndicator = this.options.selectionIndicator === 'checkbox' ? ' selection-indicator-checkbox' : '', + selectionIndicator = usesSelectionIndicator + ? (this.multiple ? ' selection-indicator-checkbox' : ' selection-indicator-radio') + : '', multiselectable = this.multiple ? ' aria-multiselectable="true"' : '', autofocus = this.autofocus ? ' autofocus' : '', liveSearchPlaceholder = this.options.liveSearchPlaceholder; @@ -1003,8 +1023,8 @@ class Selectpicker { if (this.options.header) { header = '
    ' + + '' + this.options.header + '' + '' + - this.options.header + '
    '; } @@ -1088,6 +1108,9 @@ class Selectpicker { return createFromHTML(drop); } + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. // runs when the dropdown is about to be shown onShow () { if (this.options.liveSearch && this.searchbox.value) { @@ -1450,6 +1473,10 @@ class Selectpicker { return updateIndex; } + + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. fetchData (callback, type, page, searchValue) { page = page || 1; type = type || 'data'; @@ -1659,7 +1686,7 @@ class Selectpicker { mainElements = [], widestOptionLength = 0; - if (that.options.showTick || that.multiple) { + if (that.options.showTick || that.multiple || that.options.selectionIndicator === 'checkbox') { elementTemplates.checkMark.className = this.options.selectionIndicator === 'checkbox' ? 'check-mark bs-selection-indicator' : this.options.iconBase + ' ' + that.options.tickIcon + ' check-mark'; @@ -1757,6 +1784,9 @@ class Selectpicker { } } + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. findLis () { return this.menuInner.querySelectorAll('.inner > li'); } @@ -2198,6 +2228,10 @@ class Selectpicker { } } + + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. liHeight (refresh) { if (!refresh && (this.options.size === false || Object.keys(this.sizeInfo).length)) return; @@ -2688,6 +2722,10 @@ class Selectpicker { } } + + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. clickListener () { var that = this; @@ -3118,6 +3156,10 @@ class Selectpicker { return element.value; } + + +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. val (value) { var element = this.element; @@ -3575,7 +3617,7 @@ class Selectpicker { var instanceMap = new WeakMap(); Selectpicker.NAME = 'selectpicker'; -Selectpicker.VERSION = '1.1.2'; +Selectpicker.VERSION = '1.2.0'; // user-provided global defaults (set via Selectpicker.setDefaults, used by i18n files) Selectpicker.defaults = null; @@ -3693,67 +3735,83 @@ Selectpicker.getOrCreateInstance = function (element, options) { return new Selectpicker(element, typeof options === 'object' ? options : {}); }; -// -var KEYDOWN_SELECTOR = '.bootstrap-select [' + Selector.DATA_TOGGLE + '], .bootstrap-select [role="listbox"], .bootstrap-select .bs-searchbox input'; +// Runtime wiring lives in js/bootstrap-select.runtime.js so each distribution +// can choose whether it should expose a browser global or stay module-scoped. -// Handle keyboard navigation ourselves. This listener runs in the capture -// phase on `window` so it executes before Bootstrap's `document`-level -// (capture-phase, delegated) dropdown keydown handler and prevents it from -// processing bootstrap-select's custom menu (which would otherwise error on -// relocated/container menus and conflict with our own navigation). This -// replaces the upstream approach of unbinding Bootstrap's global handler. -window.addEventListener('keydown', function (e) { - var target = e.target; - if (!target || !target.closest) return; - // Any keydown originating inside a bootstrap-select widget (or its relocated - // menu container) must not reach Bootstrap's dropdown keydown handler. - var widget = target.closest('.bootstrap-select, .bs-container'); - if (!widget) return; +/* global Selector, __SELECTPICKER_EXPOSE_GLOBAL__ */ - e.stopImmediatePropagation(); +// +var KEYDOWN_SELECTOR = '.bootstrap-select [' + Selector.DATA_TOGGLE + '], .bootstrap-select [role="listbox"], .bootstrap-select .bs-searchbox input'; + +function initSelectpickerRuntime (Selectpicker, exposeGlobal) { + if (typeof window === 'undefined' || typeof document === 'undefined') return; + + // Handle keyboard navigation ourselves. This listener runs in the capture + // phase on `window` so it executes before Bootstrap's `document`-level + // (capture-phase, delegated) dropdown keydown handler and prevents it from + // processing bootstrap-select's custom menu (which would otherwise error on + // relocated/container menus and conflict with our own navigation). This + // replaces the upstream approach of unbinding Bootstrap's global handler. + window.addEventListener('keydown', function (e) { + var target = e.target; + if (!target || !target.closest) return; + + // Any keydown originating inside a bootstrap-select widget (or its + // relocated menu container) must not reach Bootstrap's dropdown keydown + // handler. + var widget = target.closest('.bootstrap-select, .bs-container'); + if (!widget) return; + + e.stopImmediatePropagation(); + + var trigger = target.closest(KEYDOWN_SELECTOR); + if (!trigger) return; + + var instance; + for (var node = trigger; node; node = node.parentElement) { + if (node.bootstrapSelectInstance) { + instance = node.bootstrapSelectInstance; + break; + } + } - var trigger = target.closest(KEYDOWN_SELECTOR); - if (!trigger) return; + if (instance) instance._keydown(e, trigger); + }, true); - var instance; - for (var node = trigger; node; node = node.parentElement) { - if (node.bootstrapSelectInstance) { - instance = node.bootstrapSelectInstance; - break; + document.addEventListener('focusin', function (e) { + var target = e.target; + if (target && target.closest && target.closest(KEYDOWN_SELECTOR)) { + e.stopPropagation(); } - } + }); - if (instance) instance._keydown(e, trigger); -}, true); + function initAll () { + var selects = document.querySelectorAll('.selectpicker'); + Array.prototype.forEach.call(selects, function (select) { + Selectpicker.getOrCreateInstance(select); + }); + } -document.addEventListener('focusin', function (e) { - var target = e.target; - if (target && target.closest && target.closest(KEYDOWN_SELECTOR)) { - e.stopPropagation(); + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', initAll); + } else { + initAll(); } -}); -function initAll () { - var selects = document.querySelectorAll('.selectpicker'); - Array.prototype.forEach.call(selects, function (select) { - Selectpicker.getOrCreateInstance(select); - }); + if (exposeGlobal) { + window.Selectpicker = Selectpicker; + } } -if (document.readyState === 'loading') { - document.addEventListener('DOMContentLoaded', initAll); -} else { - initAll(); -} +initSelectpickerRuntime( + Selectpicker, + typeof __SELECTPICKER_EXPOSE_GLOBAL__ === 'undefined' ? true : __SELECTPICKER_EXPOSE_GLOBAL__ +); // -if (typeof window !== 'undefined') { - window.Selectpicker = Selectpicker; -} - return Selectpicker; -})); -//# sourceMappingURL=bootstrap-select.js.map \ No newline at end of file +})); +//# sourceMappingURL=bootstrap-select.js.map diff --git a/docs/dist/js/bootstrap-select.js.map b/docs/dist/js/bootstrap-select.js.map index 55ae8dd..511cc54 100644 --- a/docs/dist/js/bootstrap-select.js.map +++ b/docs/dist/js/bootstrap-select.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../js/bootstrap-select.js"],"names":[],"mappings":"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AC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;AACtD,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;AACtD,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;AAC5B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;AAChF,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;AAChF,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;AACtD,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;AACtD,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;AACzC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;AAC7B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;AAC7B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;AACf,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC7E,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC7E,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC7E,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC7E,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAChC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC7E,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC7E,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC9D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;AAC5F,EAAE,EAAE,KAAK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","file":"bootstrap-select.js","sourcesContent":["'use strict';\n\n// Resolve Bootstrap's Dropdown component (Bootstrap 5+). It may be provided\n// by the UMD factory (`bootstrap`), or available as a global.\nfunction getDropdown () {\n var bs = bootstrap || (typeof window !== 'undefined' ? window.bootstrap : undefined);\n return (bs && bs.Dropdown) || (typeof window !== 'undefined' ? window.Dropdown : undefined);\n}\n\n// \nfunction createFromHTML (html) {\n var wrapper = document.createElement('div');\n wrapper.innerHTML = html.trim();\n return wrapper.firstChild;\n}\n\nfunction toInteger (value) {\n return parseInt(value, 10) || 0;\n}\n\nfunction offset (el) {\n var rect = el.getBoundingClientRect();\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset\n };\n}\n\n// Resolves a container option (selector string or element) to an element.\nfunction resolveContainer (container) {\n if (!container) return null;\n return typeof container === 'string' ? document.querySelector(container) : container;\n}\n\nfunction outerHeight (el, includeMargin) {\n var height = el.offsetHeight;\n if (includeMargin) {\n var style = window.getComputedStyle(el);\n height += toInteger(style.marginTop) + toInteger(style.marginBottom);\n }\n return height;\n}\n\nfunction setStyles (el, styles) {\n for (var prop in styles) {\n if (Object.prototype.hasOwnProperty.call(styles, prop)) {\n el.style[prop] = styles[prop];\n }\n }\n}\n\nfunction triggerNative (el, eventName) {\n el.dispatchEvent(new Event(eventName, { bubbles: true }));\n}\n\n// shallow array comparison\nfunction isEqual (array1, array2) {\n return array1.length === array2.length && array1.every(function (element, index) {\n return element === array2[index];\n });\n}\n\nfunction toKebabCase (str) {\n return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, function ($, ofs) {\n return (ofs ? '-' : '') + $.toLowerCase();\n });\n}\n\nfunction toCamelCase (str) {\n return str.replace(/-([a-z])/g, function (m, letter) {\n return letter.toUpperCase();\n });\n}\n\n// Read options from data-* attributes using native values where possible.\nfunction convertDataValue (value) {\n if (value === 'true') return true;\n if (value === 'false') return false;\n if (value === 'null') return null;\n if (value === +value + '') return +value;\n if (/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/.test(value)) {\n try {\n return JSON.parse(value);\n } catch (e) {\n return value;\n }\n }\n return value;\n}\n\nfunction getDataset (el) {\n var dataset = {},\n attributes = el.attributes;\n\n for (var i = 0; i < attributes.length; i++) {\n var name = attributes[i].name;\n if (name.indexOf('data-') === 0) {\n dataset[toCamelCase(name.slice(5))] = convertDataValue(attributes[i].value);\n }\n }\n\n return dataset;\n}\n// \n\n// \nvar DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\n\nvar uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n];\n\nvar ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n\nvar DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', 'tabindex', 'style', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n};\n\n// A pattern that recognizes a commonly useful subset of URLs that are safe.\nvar SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;\n\n// A pattern that matches safe data URLs. Only matches image, video and audio types.\nvar DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;\n\nvar ParseableAttributes = ['placeholder']; // attributes to use as settings, can add others in the future\n\nfunction applyLegacyOptions (element, config) {\n if (!config.placeholder) {\n var title = element.getAttribute('title');\n if (title) config.placeholder = title;\n }\n\n return config;\n}\n\nfunction allowedAttribute (attr, allowedAttributeList) {\n var attrName = attr.nodeName.toLowerCase();\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));\n }\n\n return true;\n }\n\n var regExp = allowedAttributeList.filter(function (value) {\n return value instanceof RegExp;\n });\n\n // Check if a regular expression validates the attribute.\n for (var i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction sanitizeHtml (unsafeElements, whiteList, sanitizeFn) {\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeElements);\n }\n\n var whitelistKeys = Object.keys(whiteList);\n\n for (var i = 0, len = unsafeElements.length; i < len; i++) {\n var elements = unsafeElements[i].querySelectorAll('*');\n\n for (var j = 0, len2 = elements.length; j < len2; j++) {\n var el = elements[j];\n var elName = el.nodeName.toLowerCase();\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el);\n\n continue;\n }\n\n var attributeList = [].slice.call(el.attributes);\n var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\n\n for (var k = 0, len3 = attributeList.length; k < len3; k++) {\n var attr = attributeList[k];\n\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName);\n }\n }\n }\n }\n}\n// \n\nfunction getAttributesObject (element) {\n var attributesObject = {},\n attrVal;\n\n ParseableAttributes.forEach(function (item) {\n attrVal = element.getAttribute(item);\n if (attrVal) attributesObject[item] = attrVal;\n });\n\n return attributesObject;\n}\n\n// \nfunction stringSearch (li, searchString, method, normalize) {\n var stringTypes = [\n 'display',\n 'subtext',\n 'tokens'\n ],\n searchSuccess = false;\n\n for (var i = 0; i < stringTypes.length; i++) {\n var stringType = stringTypes[i],\n string = li[stringType];\n\n if (string) {\n string = string.toString();\n\n // Strip HTML tags. This isn't perfect, but it's much faster than any other method\n if (stringType === 'display') {\n string = string.replace(/<[^>]+>/g, '');\n }\n\n if (normalize) string = normalizeToBase(string);\n string = string.toUpperCase();\n\n if (typeof method === 'function') {\n searchSuccess = method(string, searchString);\n } else if (method === 'contains') {\n searchSuccess = string.indexOf(searchString) >= 0;\n } else {\n searchSuccess = string.startsWith(searchString);\n }\n\n if (searchSuccess) break;\n }\n }\n\n return searchSuccess;\n}\n\nfunction normalizeSearchInput (value, normalize) {\n if (value === undefined || value === null) value = '';\n value = value.toString().trim();\n\n if (normalize && value) value = normalizeToBase(value);\n\n return value.toUpperCase();\n}\n\nfunction getOptionLabelText (option) {\n if (!option) return '';\n\n return option.title || option.text || option.value || '';\n}\n\n// Borrowed from Lodash (_.deburr)\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboMarksExtendedRange = '\\\\u1ab0-\\\\u1aff',\n rsComboMarksSupplementRange = '\\\\u1dc0-\\\\u1dff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange + rsComboMarksExtendedRange + rsComboMarksSupplementRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\nvar reComboMark = RegExp(rsCombo, 'g');\n\nfunction deburrLetter (key) {\n return deburredLetters[key];\n}\n\nfunction normalizeToBase (string) {\n string = string.toString();\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\n// List of HTML entities for escaping.\nvar escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n};\n\nvar createEscaper = function (map) {\n var escaper = function (match) {\n return map[match];\n };\n var source = '(?:' + Object.keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function (string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n};\n\nvar htmlEscape = createEscaper(escapeMap);\n// \n\n// \nvar keyCodeMap = {\n 32: ' ', 48: '0', 49: '1', 50: '2', 51: '3', 52: '4', 53: '5', 54: '6',\n 55: '7', 56: '8', 57: '9', 59: ';',\n 65: 'A', 66: 'B', 67: 'C', 68: 'D', 69: 'E', 70: 'F', 71: 'G', 72: 'H',\n 73: 'I', 74: 'J', 75: 'K', 76: 'L', 77: 'M', 78: 'N', 79: 'O', 80: 'P',\n 81: 'Q', 82: 'R', 83: 'S', 84: 'T', 85: 'U', 86: 'V', 87: 'W', 88: 'X',\n 89: 'Y', 90: 'Z',\n 96: '0', 97: '1', 98: '2', 99: '3', 100: '4', 101: '5', 102: '6',\n 103: '7', 104: '8', 105: '9'\n};\n\nvar keyCodes = {\n ESCAPE: 27,\n ENTER: 13,\n SPACE: 32,\n TAB: 9,\n ARROW_UP: 38,\n ARROW_DOWN: 40\n};\n\nvar selectId = 0;\n\nvar EVENT_KEY = '.bs.select';\n\n// Bootstrap 5 class names.\nvar classNames = {\n DISABLED: 'disabled',\n DIVIDER: 'dropdown-divider',\n SHOW: 'show',\n DROPUP: 'dropup',\n MENU: 'dropdown-menu',\n MENUEND: 'dropdown-menu-end',\n BUTTONCLASS: 'btn-light',\n POPOVERHEADER: 'popover-header',\n ICONBASE: '',\n TICKICON: 'bs-ok-default'\n};\n\nvar Selector = {\n MENU: '.' + classNames.MENU,\n DATA_TOGGLE: 'data-bs-toggle=\"dropdown\"'\n};\n\nvar elementTemplates = {\n div: document.createElement('div'),\n span: document.createElement('span'),\n i: document.createElement('i'),\n subtext: document.createElement('small'),\n a: document.createElement('a'),\n li: document.createElement('li'),\n whitespace: document.createTextNode('\\u00A0'),\n fragment: document.createDocumentFragment(),\n option: document.createElement('option')\n};\n\nelementTemplates.selectedOption = elementTemplates.option.cloneNode(false);\nelementTemplates.selectedOption.setAttribute('selected', true);\n\nelementTemplates.noResults = elementTemplates.li.cloneNode(false);\nelementTemplates.noResults.className = 'no-results';\n\nelementTemplates.a.setAttribute('role', 'option');\nelementTemplates.a.className = 'dropdown-item';\n\nelementTemplates.subtext.className = 'text-muted';\n\nelementTemplates.text = elementTemplates.span.cloneNode(false);\nelementTemplates.text.className = 'text';\n\nelementTemplates.checkMark = elementTemplates.span.cloneNode(false);\n\nvar REGEXP_ARROW = new RegExp(keyCodes.ARROW_UP + '|' + keyCodes.ARROW_DOWN);\nvar REGEXP_TAB_OR_ESCAPE = new RegExp('^' + keyCodes.TAB + '$|' + keyCodes.ESCAPE);\n\nvar generateOption = {\n li: function (content, classes, optgroup) {\n var li = elementTemplates.li.cloneNode(false);\n\n if (content) {\n if (content.nodeType === 1 || content.nodeType === 11) {\n li.appendChild(content);\n } else {\n li.innerHTML = content;\n }\n }\n\n if (typeof classes !== 'undefined' && classes !== '') li.className = classes;\n if (typeof optgroup !== 'undefined' && optgroup !== null) li.classList.add('optgroup-' + optgroup);\n\n return li;\n },\n\n a: function (text, classes, inline) {\n var a = elementTemplates.a.cloneNode(true);\n\n if (text) {\n if (text.nodeType === 11) {\n a.appendChild(text);\n } else {\n a.insertAdjacentHTML('beforeend', text);\n }\n }\n\n if (typeof classes !== 'undefined' && classes !== '') a.classList.add.apply(a.classList, classes.split(/\\s+/));\n if (inline) a.setAttribute('style', inline);\n\n return a;\n },\n\n text: function (options, useFragment) {\n var textElement = elementTemplates.text.cloneNode(false),\n subtextElement,\n iconElement;\n\n if (options.content) {\n textElement.innerHTML = options.content;\n } else {\n textElement.textContent = options.text;\n\n if (options.icon) {\n var whitespace = elementTemplates.whitespace.cloneNode(false);\n\n // need to use for icons in the button to prevent a breaking change\n iconElement = (useFragment === true ? elementTemplates.i : elementTemplates.span).cloneNode(false);\n iconElement.className = this.options.iconBase + ' ' + options.icon;\n\n elementTemplates.fragment.appendChild(iconElement);\n elementTemplates.fragment.appendChild(whitespace);\n }\n\n if (options.subtext) {\n subtextElement = elementTemplates.subtext.cloneNode(false);\n subtextElement.textContent = options.subtext;\n textElement.appendChild(subtextElement);\n }\n }\n\n if (useFragment === true) {\n while (textElement.childNodes.length > 0) {\n elementTemplates.fragment.appendChild(textElement.childNodes[0]);\n }\n } else {\n elementTemplates.fragment.appendChild(textElement);\n }\n\n return elementTemplates.fragment;\n },\n\n label: function (options) {\n var textElement = elementTemplates.text.cloneNode(false),\n subtextElement,\n iconElement;\n\n textElement.innerHTML = options.display;\n\n if (options.icon) {\n var whitespace = elementTemplates.whitespace.cloneNode(false);\n\n iconElement = elementTemplates.span.cloneNode(false);\n iconElement.className = this.options.iconBase + ' ' + options.icon;\n\n elementTemplates.fragment.appendChild(iconElement);\n elementTemplates.fragment.appendChild(whitespace);\n }\n\n if (options.subtext) {\n subtextElement = elementTemplates.subtext.cloneNode(false);\n subtextElement.textContent = options.subtext;\n textElement.appendChild(subtextElement);\n }\n\n elementTemplates.fragment.appendChild(textElement);\n\n return elementTemplates.fragment;\n }\n};\n\nvar getOptionData = {\n fromOption: function (option, type) {\n var value;\n\n switch (type) {\n case 'divider':\n value = option.getAttribute('data-divider') === 'true';\n break;\n\n case 'text':\n value = option.textContent;\n break;\n\n case 'label':\n value = option.label;\n break;\n\n case 'style':\n value = option.style.cssText;\n break;\n\n case 'title':\n value = option.title;\n break;\n\n default:\n value = option.getAttribute('data-' + toKebabCase(type));\n break;\n }\n\n return value;\n },\n fromDataSource: function (option, type) {\n var value;\n\n switch (type) {\n case 'text':\n case 'label':\n value = option.text || option.value || '';\n break;\n\n default:\n value = option[type];\n break;\n }\n\n return value;\n }\n};\n\nfunction showNoResults (searchMatch, searchValue) {\n if (!searchMatch.length) {\n elementTemplates.noResults.innerHTML = this.options.noneResultsText.replace('{0}', '\"' + htmlEscape(searchValue) + '\"');\n this.menuInner.firstChild.appendChild(elementTemplates.noResults);\n }\n}\n\nfunction filterHidden (item) {\n return !(item.hidden || this.options.hideDisabled && item.disabled);\n}\n\nfunction getSelectedOptions () {\n var options = this.selectpicker.main.data;\n\n if (this.options.source.data || this.options.source.search) {\n options = Object.values(this.selectpicker.optionValuesDataMap);\n }\n\n var selectedOptions = options.filter(function (item) {\n if (item.selected) {\n if (this.options.hideDisabled && item.disabled) return false;\n return true;\n }\n\n return false;\n }, this);\n\n // ensure only 1 option is selected if multiple are set in the data source\n if (this.options.source.data && !this.multiple && selectedOptions.length > 1) {\n for (var i = 0; i < selectedOptions.length - 1; i++) {\n selectedOptions[i].selected = false;\n }\n\n selectedOptions = [ selectedOptions[selectedOptions.length - 1] ];\n }\n\n return selectedOptions;\n}\n\nfunction getSelectValues (selectedOptions) {\n var value = [],\n options = selectedOptions || getSelectedOptions.call(this),\n opt;\n\n for (var i = 0, len = options.length; i < len; i++) {\n opt = options[i];\n\n if (!opt.disabled) {\n value.push(opt.value === undefined ? opt.text : opt.value);\n }\n }\n\n if (!this.multiple) {\n return !value.length ? null : value[0];\n }\n\n return value;\n}\n// \n\nvar changedArguments = null;\n\n// shared flag for spacebar selection handling (mirrors original document data flag)\nvar spaceSelectFlag = false;\n\nvar REMOVED_OPTIONS = ['container', 'display', 'mobile', 'styleBase', 'windowPadding'];\n\nfunction stripRemovedOptions (source) {\n if (!source || typeof source !== 'object') return source;\n\n var result = Object.assign({}, source);\n\n for (var i = 0; i < REMOVED_OPTIONS.length; i++) {\n delete result[REMOVED_OPTIONS[i]];\n }\n\n return result;\n}\n\nclass Selectpicker {\n constructor (element, options) {\n if (typeof element === 'string') {\n element = document.querySelector(element);\n }\n\n if (!element || element.tagName !== 'SELECT') {\n throw new TypeError('Selectpicker requires a select element or selector.');\n }\n\n this.element = element;\n this.newElement = null;\n this.button = null;\n this.menu = null;\n this.options = Selectpicker._buildConfig(element, options || {});\n\n // tracked event listeners for clean teardown\n this._listeners = [];\n this._named = {};\n\n this.selectpicker = {\n main: {\n data: [],\n optionQueue: elementTemplates.fragment.cloneNode(false),\n hasMore: false\n },\n search: {\n data: [],\n hasMore: false\n },\n current: {}, // current is either equal to main or search depending on if a search is in progress\n view: {},\n // map of option values and their respective data (only used in conjunction with options.source)\n optionValuesDataMap: {},\n createdOptions: [],\n openOption: {\n isCreating: false\n },\n isSearching: false,\n keydown: {\n keyHistory: '',\n resetKeyHistory: {\n start: () => {\n return setTimeout(() => {\n this.selectpicker.keydown.keyHistory = '';\n }, 800);\n }\n }\n }\n };\n\n this.sizeInfo = {};\n\n this.init();\n\n instanceMap.set(element, this);\n }\n\n // \n _on (el, type, handler, options) {\n el.addEventListener(type, handler, options);\n this._listeners.push({ el: el, type: type, handler: handler, options: options });\n return handler;\n }\n\n _delegate (el, type, selector, handler, options) {\n var listener = function (e) {\n var target = e.target.closest(selector);\n if (target && el.contains(target)) {\n handler.call(target, e);\n }\n };\n return this._on(el, type, listener, options);\n }\n\n _emit (name, detail) {\n var event = new CustomEvent(name + EVENT_KEY, {\n bubbles: true,\n cancelable: true,\n detail: detail || null\n });\n this.element.dispatchEvent(event);\n return event;\n }\n\n // adds an event listener that replaces any previously-registered listener under `key`\n _replace (key, el, type, handler, options) {\n this._removeNamed(key);\n el.addEventListener(type, handler, options);\n this._named[key] = { el: el, type: type, handler: handler, options: options };\n }\n\n _removeNamed (key) {\n var prev = this._named[key];\n if (prev) {\n prev.el.removeEventListener(prev.type, prev.handler, prev.options);\n delete this._named[key];\n }\n }\n // \n\n init () {\n var that = this,\n id = this.element.getAttribute('id'),\n element = this.element,\n form = element.form;\n\n selectId++;\n this.selectId = 'bs-select-' + selectId;\n\n element.classList.add('bs-select-hidden');\n\n this.multiple = this.element.multiple;\n this.autofocus = this.element.autofocus;\n\n if (element.classList.contains('show-tick')) {\n this.options.showTick = true;\n }\n\n this.newElement = this.createDropdown();\n\n // insert newElement after element, then move element to be the first child of newElement\n element.parentNode.insertBefore(this.newElement, element.nextSibling);\n this.newElement.insertBefore(element, this.newElement.firstChild);\n\n // ensure select is associated with form element if it got unlinked after moving it inside newElement\n if (form && element.form === null) {\n if (!form.id) form.id = 'form-' + this.selectId;\n element.setAttribute('form', form.id);\n }\n\n this.button = this.newElement.querySelector(':scope > button');\n if (this.options.allowClear) this.clearButton = this.button.querySelector('.bs-select-clear-selected');\n this.menu = this.newElement.querySelector(':scope > ' + Selector.MENU);\n this.menuInner = this.menu.querySelector('.inner');\n this.searchbox = this.menu.querySelector('input');\n this.selectedItems = this.newElement.querySelector(':scope > .bs-selected-items-external') || this.menu.querySelector('.bs-selected-items');\n this.createOptionButton = this.menu.querySelector('.bs-create-option');\n\n element.classList.remove('bs-select-hidden');\n\n this.fetchData(function () {\n that.render(true);\n that.buildList();\n\n requestAnimationFrame(function () {\n that._emit('loaded');\n });\n });\n\n if (this.options.dropdownAlignRight === true) this.menu.classList.add(classNames.MENUEND);\n\n if (typeof id !== 'undefined' && id !== null) {\n this.button.setAttribute('data-id', id);\n }\n\n this.checkDisabled();\n this.clickListener();\n\n var Dropdown = getDropdown();\n this.dropdown = new Dropdown(this.button);\n\n // store a reference to the instance for delegated handlers\n this.newElement.bootstrapSelectInstance = this;\n this.menu.bootstrapSelectInstance = this;\n\n if (this.options.liveSearch) {\n this.liveSearchListener();\n this.focusedParent = this.searchbox;\n } else {\n this.focusedParent = this.menuInner;\n }\n\n this.setStyle();\n this.setWidth();\n this._on(this.element, 'hide' + EVENT_KEY, function () {\n if (that.isVirtual()) {\n // empty menu on close\n var menuInner = that.menuInner,\n emptyMenu = menuInner.firstChild.cloneNode(false);\n\n // replace the existing UL with an empty one - this is faster than emptying it\n menuInner.replaceChild(emptyMenu, menuInner.firstChild);\n menuInner.scrollTop = 0;\n }\n });\n\n // re-emit Bootstrap dropdown events as bootstrap-select events\n this._on(this.newElement, 'hide.bs.dropdown', function (e) {\n that._emit('hide', { bsEvent: e });\n });\n this._on(this.newElement, 'hidden.bs.dropdown', function (e) {\n that._emit('hidden', { bsEvent: e });\n });\n this._on(this.newElement, 'show.bs.dropdown', function (e) {\n that.onShow(e);\n that._emit('show', { bsEvent: e });\n });\n this._on(this.newElement, 'shown.bs.dropdown', function (e) {\n that._emit('shown', { bsEvent: e });\n });\n\n if (element.hasAttribute('required')) {\n this._on(this.element, 'invalid', function () {\n that.button.classList.add('bs-invalid');\n\n var onShownInvalid = function () {\n // set the value to hide the validation message in Chrome when menu is opened\n triggerNative(that.element, 'change');\n that.element.removeEventListener('shown' + EVENT_KEY, onShownInvalid);\n };\n that._on(that.element, 'shown' + EVENT_KEY, onShownInvalid);\n\n var onRendered = function () {\n // if select is no longer invalid, remove the bs-invalid class\n if (that.element.validity.valid) that.button.classList.remove('bs-invalid');\n that.element.removeEventListener('rendered' + EVENT_KEY, onRendered);\n };\n that._on(that.element, 'rendered' + EVENT_KEY, onRendered);\n\n var onBlur = function () {\n that.element.focus();\n that.element.blur();\n that.button.removeEventListener('blur' + EVENT_KEY, onBlur);\n };\n that._on(that.button, 'blur' + EVENT_KEY, onBlur);\n });\n }\n\n if (form) {\n this._on(form, 'reset', function () {\n requestAnimationFrame(function () {\n that.render();\n });\n });\n }\n }\n\n createDropdown () {\n // If we are multiple or showTick option is set, then add the show-tick class\n var showTick = (this.multiple || this.options.showTick) ? ' show-tick' : '',\n showSelectedTags = this.options.showSelectedTags ? ' show-selected-tags' : '',\n selectedItemsStyle = this.options.selectedItemsStyle === 'list' ? ' selected-items-style-list' : '',\n selectionIndicator = this.options.selectionIndicator === 'checkbox' ? ' selection-indicator-checkbox' : '',\n multiselectable = this.multiple ? ' aria-multiselectable=\"true\"' : '',\n autofocus = this.autofocus ? ' autofocus' : '',\n liveSearchPlaceholder = this.options.liveSearchPlaceholder;\n\n if (liveSearchPlaceholder === null && (this.options.showSelectedTags || this.options.openOptions)) {\n liveSearchPlaceholder = this.options.placeholder || 'Search';\n }\n\n // Elements\n var drop,\n header = '',\n searchbox = '',\n actionsbox = '',\n donebutton = '',\n clearButton = '';\n\n if (this.options.header) {\n header =\n '
    ' +\n '' +\n this.options.header +\n '
    ';\n }\n\n if (this.options.liveSearch) {\n searchbox =\n '
    ' +\n '' +\n (this.options.openOptions\n ? ''\n : '') +\n '
    ';\n }\n\n if (this.multiple && this.options.actionsBox) {\n actionsbox =\n '
    ' +\n '
    ' +\n '' +\n '' +\n '
    ' +\n '
    ';\n }\n\n if (this.multiple && this.options.doneButton) {\n donebutton =\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ';\n }\n\n if (this.options.allowClear) {\n clearButton = '×';\n }\n\n drop =\n '
    ' +\n '' +\n '
    ' +\n header +\n searchbox +\n actionsbox +\n '
    ' +\n '
      ' +\n '
    ' +\n '
    ' +\n donebutton +\n '
    ' +\n (this.multiple && this.options.showSelectedTags\n ? ''\n : '') +\n '
    ';\n\n return createFromHTML(drop);\n }\n\n // runs when the dropdown is about to be shown\n onShow () {\n if (this.options.liveSearch && this.searchbox.value) {\n this.searchbox.value = '';\n this.selectpicker.search.previousValue = undefined;\n }\n\n if (!this.newElement.classList.contains(classNames.SHOW)) {\n this.setSize();\n }\n }\n\n setPositionData () {\n this.selectpicker.view.canHighlight = [];\n this.selectpicker.view.size = 0;\n this.selectpicker.view.firstHighlightIndex = false;\n\n for (var i = 0; i < this.selectpicker.current.data.length; i++) {\n var li = this.selectpicker.current.data[i],\n canHighlight = true;\n\n if (li.type === 'divider') {\n canHighlight = false;\n li.height = this.sizeInfo.dividerHeight;\n } else if (li.type === 'optgroup-label') {\n canHighlight = false;\n li.height = this.sizeInfo.dropdownHeaderHeight;\n } else {\n li.height = this.sizeInfo.liHeight;\n }\n\n if (li.disabled) canHighlight = false;\n\n this.selectpicker.view.canHighlight.push(canHighlight);\n\n if (canHighlight) {\n this.selectpicker.view.size++;\n li.posinset = this.selectpicker.view.size;\n if (this.selectpicker.view.firstHighlightIndex === false) this.selectpicker.view.firstHighlightIndex = i;\n }\n\n li.position = (i === 0 ? 0 : this.selectpicker.current.data[i - 1].position) + li.height;\n }\n }\n\n isVirtual () {\n return (this.options.virtualScroll !== false) && (this.selectpicker.main.data.length >= this.options.virtualScroll) || this.options.virtualScroll === true;\n }\n\n createView (isSearching, setSize, refresh) {\n var that = this,\n scrollTop = 0;\n\n this.selectpicker.isSearching = isSearching;\n this.selectpicker.current = isSearching ? this.selectpicker.search : this.selectpicker.main;\n\n this.setPositionData();\n\n if (setSize) {\n if (refresh) {\n scrollTop = this.menuInner.scrollTop;\n } else if (!that.multiple) {\n var element = that.element,\n selectedIndex = (element.options[element.selectedIndex] || {}).liIndex;\n\n if (typeof selectedIndex === 'number' && that.options.size !== false) {\n var selectedData = that.selectpicker.main.data[selectedIndex],\n position = selectedData && selectedData.position;\n\n if (position) {\n scrollTop = position - ((that.sizeInfo.menuInnerHeight + that.sizeInfo.liHeight) / 2);\n }\n }\n }\n }\n\n scroll(scrollTop, true);\n\n this._replace('createViewScroll', this.menuInner, 'scroll', function () {\n if (!that.noScroll) scroll(that.menuInner.scrollTop);\n that.noScroll = false;\n });\n\n function scroll (scrollTop, init) {\n var size = that.selectpicker.current.data.length,\n chunks = [],\n chunkSize,\n chunkCount,\n firstChunk,\n lastChunk,\n currentChunk,\n prevPositions,\n positionIsDifferent,\n previousElements,\n menuIsDifferent = true,\n isVirtual = that.isVirtual();\n\n that.selectpicker.view.scrollTop = scrollTop;\n\n chunkSize = that.options.chunkSize; // number of options in a chunk\n chunkCount = Math.ceil(size / chunkSize) || 1; // number of chunks\n\n for (var i = 0; i < chunkCount; i++) {\n var endOfChunk = (i + 1) * chunkSize;\n\n if (i === chunkCount - 1) {\n endOfChunk = size;\n }\n\n chunks[i] = [\n (i) * chunkSize + (!i ? 0 : 1),\n endOfChunk\n ];\n\n if (!size) break;\n\n if (currentChunk === undefined && scrollTop - 1 <= that.selectpicker.current.data[endOfChunk - 1].position - that.sizeInfo.menuInnerHeight) {\n currentChunk = i;\n }\n }\n\n if (currentChunk === undefined) currentChunk = 0;\n\n prevPositions = [that.selectpicker.view.position0, that.selectpicker.view.position1];\n\n // always display previous, current, and next chunks\n firstChunk = Math.max(0, currentChunk - 1);\n lastChunk = Math.min(chunkCount - 1, currentChunk + 1);\n\n that.selectpicker.view.position0 = isVirtual === false ? 0 : (Math.max(0, chunks[firstChunk][0]) || 0);\n that.selectpicker.view.position1 = isVirtual === false ? size : (Math.min(size, chunks[lastChunk][1]) || 0);\n\n positionIsDifferent = prevPositions[0] !== that.selectpicker.view.position0 || prevPositions[1] !== that.selectpicker.view.position1;\n\n if (that.activeElement !== undefined) {\n if (init) {\n if (that.activeElement !== that.selectedElement) {\n that.defocusItem(that.activeElement);\n }\n that.activeElement = undefined;\n }\n\n if (that.activeElement !== that.selectedElement) {\n that.defocusItem(that.selectedElement);\n }\n }\n\n if (that.prevActiveElement !== undefined && that.prevActiveElement !== that.activeElement && that.prevActiveElement !== that.selectedElement) {\n that.defocusItem(that.prevActiveElement);\n }\n\n if (init || positionIsDifferent || that.selectpicker.current.hasMore) {\n previousElements = that.selectpicker.view.visibleElements ? that.selectpicker.view.visibleElements.slice() : [];\n\n if (isVirtual === false) {\n that.selectpicker.view.visibleElements = that.selectpicker.current.elements;\n } else {\n that.selectpicker.view.visibleElements = that.selectpicker.current.elements.slice(that.selectpicker.view.position0, that.selectpicker.view.position1);\n }\n\n that.setOptionStatus();\n\n // if searching, check to make sure the list has actually been updated before updating DOM\n // this prevents unnecessary repaints\n if (isSearching || (isVirtual === false && init)) menuIsDifferent = !isEqual(previousElements, that.selectpicker.view.visibleElements);\n\n // if virtual scroll is disabled and not searching,\n // menu should never need to be updated more than once\n if ((init || isVirtual === true) && menuIsDifferent) {\n var menuInner = that.menuInner,\n menuFragment = document.createDocumentFragment(),\n emptyMenu = menuInner.firstChild.cloneNode(false),\n marginTop,\n marginBottom,\n elements = that.selectpicker.view.visibleElements,\n toSanitize = [];\n\n // replace the existing UL with an empty one - this is faster than emptying it\n menuInner.replaceChild(emptyMenu, menuInner.firstChild);\n\n for (var i = 0, visibleElementsLen = elements.length; i < visibleElementsLen; i++) {\n var element = elements[i],\n elText,\n elementData;\n\n if (that.options.sanitize) {\n elText = element.lastChild;\n\n if (elText) {\n elementData = that.selectpicker.current.data[i + that.selectpicker.view.position0];\n\n if (elementData && elementData.content && !elementData.sanitized) {\n toSanitize.push(elText);\n elementData.sanitized = true;\n }\n }\n }\n\n menuFragment.appendChild(element);\n }\n\n if (that.options.sanitize && toSanitize.length) {\n sanitizeHtml(toSanitize, that.options.whiteList, that.options.sanitizeFn);\n }\n\n if (isVirtual === true) {\n marginTop = (that.selectpicker.view.position0 === 0 ? 0 : that.selectpicker.current.data[that.selectpicker.view.position0 - 1].position);\n marginBottom = (that.selectpicker.view.position1 > size - 1 ? 0 : that.selectpicker.current.data[size - 1].position - that.selectpicker.current.data[that.selectpicker.view.position1 - 1].position);\n\n menuInner.firstChild.style.marginTop = marginTop + 'px';\n menuInner.firstChild.style.marginBottom = marginBottom + 'px';\n } else {\n menuInner.firstChild.style.marginTop = 0;\n menuInner.firstChild.style.marginBottom = 0;\n }\n\n menuInner.firstChild.appendChild(menuFragment);\n\n // if an option is encountered that is wider than the current menu width, update the menu width accordingly\n if (isVirtual === true && that.sizeInfo.hasScrollBar) {\n var menuInnerInnerWidth = menuInner.firstChild.offsetWidth;\n\n if (init && menuInnerInnerWidth < that.sizeInfo.menuInnerInnerWidth && that.sizeInfo.totalMenuWidth > that.sizeInfo.selectWidth) {\n menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px';\n } else if (menuInnerInnerWidth > that.sizeInfo.menuInnerInnerWidth) {\n // set to 0 to get actual width of menu\n that.menu.style.minWidth = 0;\n\n var actualMenuWidth = menuInner.firstChild.offsetWidth;\n\n if (actualMenuWidth > that.sizeInfo.menuInnerInnerWidth) {\n that.sizeInfo.menuInnerInnerWidth = actualMenuWidth;\n menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px';\n }\n\n // reset to default CSS styling\n that.menu.style.minWidth = '';\n }\n }\n }\n\n if ((!isSearching && that.options.source.data || isSearching && that.options.source.search) && that.selectpicker.current.hasMore && currentChunk === chunkCount - 1) {\n // Don't load the next chunk until scrolling has started\n // This prevents unnecessary requests while the user is typing if pageSize is <= chunkSize\n if (scrollTop > 0) {\n // Chunks use 0-based indexing, but pages use 1-based. Add 1 to convert and add 1 again to get next page\n var page = Math.floor((currentChunk * that.options.chunkSize) / that.options.source.pageSize) + 2;\n\n that.fetchData(function () {\n that.render();\n that.buildList(size, isSearching);\n that.setPositionData();\n scroll(scrollTop);\n }, isSearching ? 'search' : 'data', page, isSearching ? that.selectpicker.search.previousValue : undefined);\n }\n }\n }\n\n that.prevActiveElement = that.activeElement;\n\n if (!that.options.liveSearch) {\n that.menuInner.focus();\n } else if (isSearching && init) {\n var index = 0,\n newActive;\n\n if (!that.selectpicker.view.canHighlight[index]) {\n index = 1 + that.selectpicker.view.canHighlight.slice(1).indexOf(true);\n }\n\n newActive = that.selectpicker.view.visibleElements[index];\n\n that.defocusItem(that.selectpicker.view.currentActive);\n\n that.activeElement = (that.selectpicker.current.data[index] || {}).element;\n\n that.focusItem(newActive);\n }\n }\n\n this._replace('createViewResize', window, 'resize', function () {\n var isActive = that.newElement.classList.contains(classNames.SHOW);\n\n if (isActive) scroll(that.menuInner.scrollTop);\n });\n }\n\n focusItem (li, liData, noStyle) {\n if (li) {\n liData = liData || this.selectpicker.current.data[this.selectpicker.current.elements.indexOf(this.activeElement)];\n var a = li.firstChild;\n\n if (a) {\n a.setAttribute('aria-setsize', this.selectpicker.view.size);\n a.setAttribute('aria-posinset', liData.posinset);\n\n if (noStyle !== true) {\n this.focusedParent.setAttribute('aria-activedescendant', a.id);\n li.classList.add('active');\n a.classList.add('active');\n }\n }\n }\n }\n\n defocusItem (li) {\n if (li) {\n li.classList.remove('active');\n if (li.firstChild) li.firstChild.classList.remove('active');\n }\n }\n\n setPlaceholder () {\n var that = this,\n updateIndex = false;\n\n if ((this.options.placeholder || this.options.allowClear) && !this.multiple) {\n if (!this.selectpicker.view.titleOption) this.selectpicker.view.titleOption = document.createElement('option');\n\n // this option doesn't create a new
  • element, but does add a new option at the start,\n // so startIndex should increase to prevent having to check every option for the bs-title-option class\n updateIndex = true;\n\n var element = this.element,\n selectTitleOption = false,\n titleNotAppended = !this.selectpicker.view.titleOption.parentNode,\n selectedIndex = element.selectedIndex,\n selectedOption = element.options[selectedIndex],\n firstSelectable = element.querySelector('select > *:not(:disabled)'),\n firstSelectableIndex = firstSelectable ? firstSelectable.index : 0,\n navigation = window.performance && window.performance.getEntriesByType('navigation'),\n // Safari doesn't support getEntriesByType('navigation') - fall back to performance.navigation\n isNotBackForward = (navigation && navigation.length) ? navigation[0].type !== 'back_forward' : window.performance.navigation.type !== 2;\n\n if (titleNotAppended) {\n // Use native JS to prepend option (faster)\n this.selectpicker.view.titleOption.className = 'bs-title-option';\n this.selectpicker.view.titleOption.value = '';\n\n // Check if selected or data-selected attribute is already set on an option. If not, select the titleOption option.\n selectTitleOption = !selectedOption || (selectedIndex === firstSelectableIndex && selectedOption.defaultSelected === false);\n }\n\n if (titleNotAppended || this.selectpicker.view.titleOption.index !== 0) {\n element.insertBefore(this.selectpicker.view.titleOption, element.firstChild);\n }\n\n // Set selected *after* appending to select\n if (selectTitleOption && isNotBackForward) {\n element.selectedIndex = 0;\n } else if (document.readyState !== 'complete') {\n // if navigation type is back_forward, there's a chance the select will have its value set by BFCache\n // wait for that value to be set, then run render again\n window.addEventListener('pageshow', function () {\n if (that.selectpicker.view.displayedValue !== element.value) that.render();\n });\n }\n }\n\n return updateIndex;\n }\n\n fetchData (callback, type, page, searchValue) {\n page = page || 1;\n type = type || 'data';\n\n var that = this,\n data = this.options.source[type],\n builtData;\n\n if (data) {\n this.options.virtualScroll = true;\n\n if (typeof data === 'function') {\n data.call(\n this,\n function (data, more, totalItems) {\n var current = that.selectpicker[type === 'search' ? 'search' : 'main'];\n current.hasMore = more;\n current.totalItems = totalItems;\n builtData = that.buildData(data, type);\n callback.call(that, builtData);\n that._emit('fetched');\n },\n page,\n searchValue\n );\n } else if (Array.isArray(data)) {\n builtData = that.buildData(data, type);\n callback.call(that, builtData);\n }\n } else {\n builtData = this.buildData(false, type);\n callback.call(that, builtData);\n }\n }\n\n buildData (data, type) {\n var that = this;\n var dataGetter = data === false ? getOptionData.fromOption : getOptionData.fromDataSource;\n\n var optionSelector = ':not([hidden]):not([data-hidden=\"true\"]):not([style*=\"display: none\"])',\n mainData = [],\n startLen = this.selectpicker.main.data ? this.selectpicker.main.data.length : 0,\n optID = 0,\n startIndex = this.setPlaceholder() && !data ? 1 : 0; // append the titleOption if necessary and skip the first option in the loop\n\n if (type === 'search') {\n startLen = this.selectpicker.search.data.length;\n }\n\n if (this.options.hideDisabled) optionSelector += ':not(:disabled)';\n\n var selectOptions = data ? data.filter(filterHidden, this) : this.element.querySelectorAll('select > *' + optionSelector);\n\n function addDivider (config) {\n var previousData = mainData[mainData.length - 1];\n\n // ensure optgroup doesn't create back-to-back dividers\n if (\n previousData &&\n previousData.type === 'divider' &&\n (previousData.optID || config.optID)\n ) {\n return;\n }\n\n config = config || {};\n config.type = 'divider';\n\n mainData.push(config);\n }\n\n function addOption (item, config) {\n config = config || {};\n\n config.divider = dataGetter(item, 'divider');\n\n if (config.divider === true) {\n addDivider({\n optID: config.optID\n });\n } else {\n var liIndex = mainData.length + startLen,\n cssText = dataGetter(item, 'style'),\n inlineStyle = cssText ? htmlEscape(cssText) : '',\n optionClass = (item.className || '') + (config.optgroupClass || '');\n\n if (config.optID) optionClass = 'opt ' + optionClass;\n\n config.optionClass = optionClass.trim();\n config.inlineStyle = inlineStyle;\n\n config.text = dataGetter(item, 'text');\n config.title = dataGetter(item, 'title');\n config.content = dataGetter(item, 'content');\n config.tokens = dataGetter(item, 'tokens');\n config.subtext = dataGetter(item, 'subtext');\n config.icon = dataGetter(item, 'icon');\n\n config.display = config.content || config.text;\n config.value = item.value === undefined ? item.text : item.value;\n config.type = 'option';\n config.index = liIndex;\n\n config.option = !item.option ? item : item.option; // reference option element if it exists\n config.option.liIndex = liIndex;\n config.selected = !!item.selected;\n config.disabled = config.disabled || !!item.disabled;\n\n if (data !== false) {\n if (that.selectpicker.optionValuesDataMap[config.value]) {\n config = Object.assign(that.selectpicker.optionValuesDataMap[config.value], config);\n } else {\n that.selectpicker.optionValuesDataMap[config.value] = config;\n }\n }\n\n mainData.push(config);\n }\n }\n\n function addOptgroup (index, selectOptions) {\n var optgroup = selectOptions[index],\n // skip placeholder option\n previous = index - 1 < startIndex ? false : selectOptions[index - 1],\n next = selectOptions[index + 1],\n options = data ? optgroup.children.filter(filterHidden, this) : optgroup.querySelectorAll('option' + optionSelector);\n\n if (!options.length) return;\n\n var config = {\n display: htmlEscape(dataGetter(item, 'label')),\n subtext: dataGetter(optgroup, 'subtext'),\n icon: dataGetter(optgroup, 'icon'),\n type: 'optgroup-label',\n optgroupClass: ' ' + (optgroup.className || ''),\n optgroup: optgroup\n },\n headerIndex,\n lastIndex;\n\n optID++;\n\n if (previous) {\n addDivider({ optID: optID });\n }\n\n config.optID = optID;\n\n mainData.push(config);\n\n for (var j = 0, len = options.length; j < len; j++) {\n var option = options[j];\n\n if (j === 0) {\n headerIndex = mainData.length - 1;\n lastIndex = headerIndex + len;\n }\n\n addOption(option, {\n headerIndex: headerIndex,\n lastIndex: lastIndex,\n optID: config.optID,\n optgroupClass: config.optgroupClass,\n disabled: optgroup.disabled\n });\n }\n\n if (next) {\n addDivider({ optID: optID });\n }\n }\n\n var item;\n\n for (var len = selectOptions.length, i = startIndex; i < len; i++) {\n item = selectOptions[i];\n var children = item.children;\n\n if (children && children.length) {\n addOptgroup.call(this, i, selectOptions);\n } else {\n addOption.call(this, item, {});\n }\n }\n\n switch (type) {\n case 'data': {\n if (!this.selectpicker.main.data) {\n this.selectpicker.main.data = [];\n }\n Array.prototype.push.apply(this.selectpicker.main.data, mainData);\n this.selectpicker.current.data = this.selectpicker.main.data;\n break;\n }\n case 'search': {\n Array.prototype.push.apply(this.selectpicker.search.data, mainData);\n break;\n }\n }\n\n return mainData;\n }\n\n buildList (size, searching) {\n var that = this,\n selectData = searching ? this.selectpicker.search.data : this.selectpicker.main.data,\n mainElements = [],\n widestOptionLength = 0;\n\n if (that.options.showTick || that.multiple) {\n elementTemplates.checkMark.className = this.options.selectionIndicator === 'checkbox'\n ? 'check-mark bs-selection-indicator'\n : this.options.iconBase + ' ' + that.options.tickIcon + ' check-mark';\n\n if (!elementTemplates.checkMark.parentNode) {\n elementTemplates.a.appendChild(elementTemplates.checkMark);\n }\n }\n\n function buildElement (mainElements, item) {\n var liElement,\n combinedLength = 0;\n\n switch (item.type) {\n case 'divider':\n liElement = generateOption.li(\n false,\n classNames.DIVIDER,\n (item.optID ? item.optID + 'div' : undefined)\n );\n\n break;\n\n case 'option':\n liElement = generateOption.li(\n generateOption.a(\n generateOption.text.call(that, item),\n item.optionClass,\n item.inlineStyle\n ),\n '',\n item.optID\n );\n\n if (liElement.firstChild) {\n liElement.firstChild.id = that.selectId + '-' + item.index;\n }\n\n break;\n\n case 'optgroup-label':\n liElement = generateOption.li(\n generateOption.label.call(that, item),\n 'dropdown-header' + item.optgroupClass,\n item.optID\n );\n\n break;\n }\n\n if (item.content) item.sanitized = false;\n\n if (!item.element) {\n item.element = liElement;\n } else {\n item.element.innerHTML = liElement.innerHTML;\n }\n mainElements.push(item.element);\n\n // count the number of characters in the option - not perfect, but should work in most cases\n if (item.display) combinedLength += item.display.length;\n if (item.subtext) combinedLength += item.subtext.length;\n // if there is an icon, ensure this option's width is checked\n if (item.icon) combinedLength += 1;\n\n if (combinedLength > widestOptionLength) {\n widestOptionLength = combinedLength;\n\n // guess which option is the widest\n that.selectpicker.view.widestOption = mainElements[mainElements.length - 1];\n }\n }\n\n var startIndex = size || 0;\n\n for (var len = selectData.length, i = startIndex; i < len; i++) {\n var item = selectData[i];\n\n buildElement(mainElements, item);\n }\n\n if (size) {\n if (searching) {\n Array.prototype.push.apply(this.selectpicker.search.elements, mainElements);\n } else {\n Array.prototype.push.apply(this.selectpicker.main.elements, mainElements);\n this.selectpicker.current.elements = this.selectpicker.main.elements;\n }\n } else {\n if (searching) {\n this.selectpicker.search.elements = mainElements;\n } else {\n this.selectpicker.main.elements = this.selectpicker.current.elements = mainElements;\n }\n }\n }\n\n findLis () {\n return this.menuInner.querySelectorAll('.inner > li');\n }\n\n render (init) {\n var that = this,\n element = this.element,\n // ensure titleOption is appended and selected (if necessary) before getting selectedOptions\n placeholderSelected = this.setPlaceholder() && element.selectedIndex === 0,\n selectedOptions = getSelectedOptions.call(this),\n selectedCount = selectedOptions.length,\n selectedValues = getSelectValues.call(this, selectedOptions),\n button = this.button,\n buttonInner = button.querySelector('.filter-option-inner-inner'),\n multipleSeparator = document.createTextNode(this.options.multipleSeparator),\n titleFragment = elementTemplates.fragment.cloneNode(false),\n forceCount = this.multiple && this.options.showSelectedTags && selectedCount > 0,\n showCount,\n countMax,\n hasContent = false;\n\n function createSelected (item) {\n if (item.selected) {\n that.createOption(item, true);\n } else if (item.children && item.children.length) {\n item.children.map(createSelected);\n }\n }\n\n // create selected option elements to ensure select value is correct\n if (this.options.source.data && init) {\n selectedOptions.map(createSelected);\n element.appendChild(this.selectpicker.main.optionQueue);\n\n if (placeholderSelected) placeholderSelected = element.selectedIndex === 0;\n }\n\n button.classList.toggle('bs-placeholder', that.multiple ? !selectedCount : !selectedValues && selectedValues !== 0);\n\n if (!that.multiple && selectedOptions.length === 1) {\n that.selectpicker.view.displayedValue = selectedValues;\n }\n\n if (this.options.selectedTextFormat === 'static') {\n titleFragment = generateOption.text.call(this, { text: this.options.placeholder }, true);\n } else {\n showCount = forceCount || this.multiple && this.options.selectedTextFormat.indexOf('count') !== -1 && selectedCount > 0;\n\n // determine if the number of selected options will be shown (showCount === true)\n if (showCount && !forceCount) {\n countMax = this.options.selectedTextFormat.split('>');\n showCount = (countMax.length > 1 && selectedCount > countMax[1]) || (countMax.length === 1 && selectedCount >= 2);\n }\n\n // only loop through all selected options if the count won't be shown\n if (showCount === false) {\n if (!placeholderSelected) {\n for (var selectedIndex = 0; selectedIndex < selectedCount; selectedIndex++) {\n if (selectedIndex < 50) {\n var option = selectedOptions[selectedIndex],\n titleOptions = {};\n\n if (option) {\n if (this.multiple && selectedIndex > 0) {\n titleFragment.appendChild(multipleSeparator.cloneNode(false));\n }\n\n if (option.title) {\n titleOptions.text = option.title;\n } else if (option.content && that.options.showContent) {\n titleOptions.content = option.content.toString();\n hasContent = true;\n } else {\n if (that.options.showIcon) {\n titleOptions.icon = option.icon;\n }\n if (that.options.showSubtext && !that.multiple && option.subtext) titleOptions.subtext = ' ' + option.subtext;\n titleOptions.text = option.text.trim();\n }\n\n titleFragment.appendChild(generateOption.text.call(this, titleOptions, true));\n }\n } else {\n break;\n }\n }\n\n // add ellipsis\n if (selectedCount > 49) {\n titleFragment.appendChild(document.createTextNode('...'));\n }\n }\n } else {\n var optionSelector = ':not([hidden]):not([data-hidden=\"true\"]):not([data-divider=\"true\"]):not([style*=\"display: none\"])';\n if (this.options.hideDisabled) optionSelector += ':not(:disabled)';\n\n // If this is a multiselect, and selectedTextFormat is count, then show 1 of 2 selected, etc.\n var totalCount = this.element.querySelectorAll('select > option' + optionSelector + ', optgroup' + optionSelector + ' option' + optionSelector).length,\n tr8nText = (typeof this.options.countSelectedText === 'function') ? this.options.countSelectedText(selectedCount, totalCount) : this.options.countSelectedText;\n\n titleFragment = generateOption.text.call(this, {\n text: tr8nText.replace('{0}', selectedCount.toString()).replace('{1}', totalCount.toString())\n }, true);\n }\n }\n\n // If the select doesn't have a title, then use the default, or if nothing is set at all, use noneSelectedText\n if (!titleFragment.childNodes.length) {\n titleFragment = generateOption.text.call(this, {\n text: this.options.placeholder ? this.options.placeholder : this.options.noneSelectedText\n }, true);\n }\n\n // if the select has a title, apply it to the button, and if not, apply titleFragment text\n button.title = titleFragment.textContent.replace(/<[^>]*>?/g, '').trim();\n\n if (this.options.sanitize && hasContent) {\n sanitizeHtml([titleFragment], that.options.whiteList, that.options.sanitizeFn);\n }\n\n buttonInner.innerHTML = '';\n buttonInner.appendChild(titleFragment);\n\n this.syncTagEditor();\n\n this._emit('rendered');\n }\n\n usesTagEditor () {\n return this.options.liveSearch && (this.options.showSelectedTags || this.options.openOptions);\n }\n\n syncTagEditor () {\n if (!this.usesTagEditor()) return;\n\n if (this.selectedItems) {\n var selectedOptions = getSelectedOptions.call(this),\n useListStyle = this.options.selectedItemsStyle === 'list';\n\n this.selectedItems.innerHTML = '';\n this.selectedItems.hidden = !selectedOptions.length;\n this.selectedItems.classList.toggle('list-group', useListStyle);\n\n for (var i = 0; i < selectedOptions.length; i++) {\n var item = selectedOptions[i],\n selectedTag = document.createElement('button'),\n removeText = this.options.selectedTagRemoveLabel + ' ' + getOptionLabelText(item),\n content = document.createElement('span'),\n label = document.createElement('span'),\n remove = document.createElement('span'),\n icon;\n\n selectedTag.type = 'button';\n selectedTag.className = useListStyle\n ? 'bs-selected-item list-group-item list-group-item-action'\n : 'bs-selected-item';\n selectedTag.setAttribute('data-option-value', item.value);\n selectedTag.setAttribute('aria-label', removeText);\n selectedTag.title = removeText;\n\n content.className = 'bs-selected-item-content';\n\n if (item.icon && this.options.showIcon) {\n icon = document.createElement('span');\n icon.className = 'bs-selected-item-icon ' + this.options.iconBase + ' ' + item.icon;\n icon.setAttribute('aria-hidden', 'true');\n content.appendChild(icon);\n }\n\n label.className = 'bs-selected-item-label';\n label.textContent = getOptionLabelText(item);\n content.appendChild(label);\n\n remove.className = 'bs-selected-item-remove';\n remove.setAttribute('aria-hidden', 'true');\n remove.textContent = '\\u00d7';\n\n selectedTag.appendChild(content);\n selectedTag.appendChild(remove);\n this.selectedItems.appendChild(selectedTag);\n }\n }\n\n this.syncOpenOptionButton();\n\n if (this.newElement && this.newElement.classList.contains(classNames.SHOW)) {\n this.setSize(true);\n }\n }\n\n syncOpenOptionButton () {\n if (!this.createOptionButton) return;\n\n var searchValue = this.searchbox ? this.searchbox.value : '',\n normalizedValue = searchValue.toString().trim(),\n shouldShow = !!normalizedValue &&\n !this.selectpicker.openOption.isCreating &&\n !this.findOptionBySearchValue(normalizedValue);\n\n this.createOptionButton.hidden = !shouldShow;\n this.createOptionButton.disabled = this.selectpicker.openOption.isCreating;\n\n if (shouldShow) {\n this.createOptionButton.textContent = this.options.openOptionsText.replace('{0}', normalizedValue);\n this.createOptionButton.setAttribute('data-search-value', normalizedValue);\n } else {\n this.createOptionButton.textContent = '';\n this.createOptionButton.removeAttribute('data-search-value');\n }\n }\n\n findOptionByValue (value, dataSet) {\n var options = dataSet || this.selectpicker.main.data,\n stringValue = String(value);\n\n for (var i = 0; i < options.length; i++) {\n var option = options[i];\n\n if (option.type === 'option' && String(option.value) === stringValue) {\n return option;\n }\n }\n\n return null;\n }\n\n findOptionBySearchValue (searchValue) {\n var options = this.options.source.data || this.options.source.search\n ? Object.values(this.selectpicker.optionValuesDataMap)\n : this.selectpicker.main.data,\n normalizedSearch = normalizeSearchInput(searchValue, this.options.liveSearchNormalize);\n\n for (var i = 0; i < options.length; i++) {\n var option = options[i];\n\n if (option.type !== 'option') continue;\n\n if (\n normalizeSearchInput(option.text, this.options.liveSearchNormalize) === normalizedSearch ||\n normalizeSearchInput(option.value, this.options.liveSearchNormalize) === normalizedSearch ||\n normalizeSearchInput(option.title, this.options.liveSearchNormalize) === normalizedSearch\n ) {\n return option;\n }\n }\n\n return null;\n }\n\n createOptionElement (optionData) {\n var option = document.createElement('option');\n\n option.value = optionData.value === undefined ? optionData.text : optionData.value;\n option.textContent = optionData.text === undefined ? option.value : optionData.text;\n\n if (optionData.className) option.className = optionData.className;\n if (optionData.title) option.title = optionData.title;\n if (optionData.content) option.setAttribute('data-content', optionData.content);\n if (optionData.tokens) option.setAttribute('data-tokens', optionData.tokens);\n if (optionData.subtext) option.setAttribute('data-subtext', optionData.subtext);\n if (optionData.icon) option.setAttribute('data-icon', optionData.icon);\n if (optionData.disabled) option.disabled = true;\n if (optionData.hidden) option.hidden = true;\n\n return option;\n }\n\n appendCreatedSearchResults (searchValue) {\n if (!this.selectpicker.createdOptions.length) return;\n\n var matches = [];\n\n for (var i = 0; i < this.selectpicker.createdOptions.length; i++) {\n var option = this.selectpicker.createdOptions[i];\n\n if (\n stringSearch(option, normalizeSearchInput(searchValue, this.options.liveSearchNormalize), this._searchStyle(), this.options.liveSearchNormalize) &&\n !this.findOptionByValue(option.value, this.selectpicker.search.data)\n ) {\n matches.push(option);\n }\n }\n\n if (matches.length) this.buildData(matches, 'search');\n }\n\n addCreatedOption (optionData) {\n optionData = Object.assign({}, optionData);\n optionData.value = optionData.value === undefined ? optionData.text : optionData.value;\n optionData.text = optionData.text === undefined ? optionData.value : optionData.text;\n\n var size = this.selectpicker.main.elements ? this.selectpicker.main.elements.length : 0,\n option = this.createOptionElement(optionData);\n optionData.option = option;\n\n this.element.appendChild(option);\n var builtOptions = this.buildData([optionData], 'data'),\n builtOption = builtOptions[0];\n\n this.buildList(size);\n this.selectpicker.createdOptions.push(builtOption);\n\n return builtOption;\n }\n\n removeSelectedTag (value) {\n var option = this.findOptionByValue(value);\n\n if (!option || !option.selected) return;\n\n var prevValue = getSelectValues.call(this);\n\n this.setSelected(option, false);\n changedArguments = [option.index, false, prevValue];\n triggerNative(this.element, 'change');\n\n if (this.options.liveSearch) this.searchbox.focus();\n }\n\n createOpenOption (searchValue) {\n searchValue = searchValue === undefined || searchValue === null ? '' : searchValue.toString().trim();\n\n if (!searchValue || this.selectpicker.openOption.isCreating) return;\n\n var existingOption = this.findOptionBySearchValue(searchValue);\n\n if (existingOption) {\n if (!existingOption.selected) {\n var prevSelectedValue = getSelectValues.call(this);\n\n this.setSelected(existingOption, true);\n changedArguments = [existingOption.index, true, prevSelectedValue];\n triggerNative(this.element, 'change');\n }\n\n if (this.options.liveSearch) this.searchbox.focus();\n return;\n }\n\n var that = this,\n prevValue = getSelectValues.call(this),\n createHandler = this.options.source.create;\n\n this.selectpicker.openOption.isCreating = true;\n this.syncOpenOptionButton();\n\n function finalize (createdOption) {\n that.selectpicker.openOption.isCreating = false;\n\n if (createdOption === undefined || createdOption === null || createdOption === false) {\n that.syncOpenOptionButton();\n return;\n }\n\n if (Array.isArray(createdOption)) createdOption = createdOption[0];\n if (typeof createdOption !== 'object') {\n createdOption = {\n text: createdOption,\n value: createdOption\n };\n }\n\n if (!createdOption.text && !createdOption.value) {\n createdOption.text = searchValue;\n }\n\n if (createdOption.value === undefined) createdOption.value = createdOption.text;\n if (createdOption.text === undefined) createdOption.text = createdOption.value;\n\n var option = that.findOptionByValue(createdOption.value) || that.findOptionBySearchValue(createdOption.text);\n\n if (!option) {\n option = that.addCreatedOption(createdOption);\n }\n\n that.setSelected(option, true);\n\n if (that.options.source.data) that.element.appendChild(that.selectpicker.main.optionQueue);\n\n if (that.searchbox) {\n that.searchbox.value = '';\n }\n\n that.selectpicker.search.previousValue = '';\n that.selectpicker.search.data = [];\n that.selectpicker.search.elements = [];\n that.createView(false);\n\n changedArguments = [option.index, true, prevValue];\n triggerNative(that.element, 'change');\n\n if (that.options.liveSearch) that.searchbox.focus();\n }\n\n if (typeof createHandler === 'function') {\n var returnedOption = createHandler.call(this, finalize, searchValue);\n\n if (returnedOption && typeof returnedOption.then === 'function') {\n returnedOption.then(finalize);\n } else if (returnedOption !== undefined) {\n finalize(returnedOption);\n }\n } else {\n finalize({\n text: searchValue,\n value: searchValue\n });\n }\n }\n\n /**\n * @param [newStyle]\n * @param [status]\n */\n setStyle (newStyle, status) {\n var button = this.button,\n newElement = this.newElement,\n style = this.options.style.trim(),\n buttonClass;\n\n if (this.element.getAttribute('class')) {\n var extra = this.element.getAttribute('class').replace(/selectpicker|mobile-device|bs-select-hidden|validate\\[.*\\]/gi, '').trim();\n if (extra) newElement.classList.add.apply(newElement.classList, extra.split(/\\s+/));\n }\n\n if (newStyle) {\n buttonClass = newStyle.trim();\n } else {\n buttonClass = style;\n }\n\n if (status === 'add') {\n if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' '));\n } else if (status === 'remove') {\n if (buttonClass) button.classList.remove.apply(button.classList, buttonClass.split(' '));\n } else {\n if (style) button.classList.remove.apply(button.classList, style.split(' '));\n if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' '));\n }\n }\n\n liHeight (refresh) {\n if (!refresh && (this.options.size === false || Object.keys(this.sizeInfo).length)) return;\n\n var newElement = elementTemplates.div.cloneNode(false),\n menu = elementTemplates.div.cloneNode(false),\n menuInner = elementTemplates.div.cloneNode(false),\n menuInnerInner = document.createElement('ul'),\n divider = elementTemplates.li.cloneNode(false),\n dropdownHeader = elementTemplates.li.cloneNode(false),\n li,\n a = elementTemplates.a.cloneNode(false),\n text = elementTemplates.span.cloneNode(false),\n header = this.options.header && this.menu.querySelectorAll('.' + classNames.POPOVERHEADER).length > 0 ? this.menu.querySelector('.' + classNames.POPOVERHEADER).cloneNode(true) : null,\n search = this.options.liveSearch && this.menu.querySelector('.bs-searchbox')\n ? this.menu.querySelector('.bs-searchbox').cloneNode(true)\n : null,\n actions = this.options.actionsBox && this.multiple && this.menu.querySelectorAll('.bs-actionsbox').length > 0 ? this.menu.querySelector('.bs-actionsbox').cloneNode(true) : null,\n doneButton = this.options.doneButton && this.multiple && this.menu.querySelectorAll('.bs-donebutton').length > 0 ? this.menu.querySelector('.bs-donebutton').cloneNode(true) : null,\n firstOption = this.element.options[0];\n\n this.sizeInfo.selectWidth = this.newElement.offsetWidth;\n\n text.className = 'text';\n a.className = 'dropdown-item ' + (firstOption ? firstOption.className : '');\n newElement.className = this.menu.parentNode.className + ' ' + classNames.SHOW;\n newElement.style.width = 0; // ensure button width doesn't affect natural width of menu when calculating\n menu.className = classNames.MENU + ' ' + classNames.SHOW;\n menuInner.className = 'inner ' + classNames.SHOW;\n menuInnerInner.className = classNames.MENU + ' inner ' + classNames.SHOW;\n divider.className = classNames.DIVIDER;\n dropdownHeader.className = 'dropdown-header';\n\n text.appendChild(document.createTextNode('\\u200b'));\n\n if (this.selectpicker.current.data.length) {\n for (var i = 0; i < this.selectpicker.current.data.length; i++) {\n var data = this.selectpicker.current.data[i];\n if (data.type === 'option' && window.getComputedStyle(data.element.firstChild).display !== 'none') {\n li = data.element;\n break;\n }\n }\n } else {\n li = elementTemplates.li.cloneNode(false);\n a.appendChild(text);\n li.appendChild(a);\n }\n\n dropdownHeader.appendChild(text.cloneNode(true));\n\n if (this.selectpicker.view.widestOption) {\n menuInnerInner.appendChild(this.selectpicker.view.widestOption.cloneNode(true));\n }\n\n menuInnerInner.appendChild(li);\n menuInnerInner.appendChild(divider);\n menuInnerInner.appendChild(dropdownHeader);\n if (header) menu.appendChild(header);\n if (search) menu.appendChild(search);\n if (actions) menu.appendChild(actions);\n menuInner.appendChild(menuInnerInner);\n menu.appendChild(menuInner);\n if (doneButton) menu.appendChild(doneButton);\n newElement.appendChild(menu);\n\n document.body.appendChild(newElement);\n\n var liHeight = li.offsetHeight,\n dropdownHeaderHeight = dropdownHeader ? dropdownHeader.offsetHeight : 0,\n headerHeight = header ? header.offsetHeight : 0,\n searchHeight = search ? search.offsetHeight : 0,\n actionsHeight = actions ? actions.offsetHeight : 0,\n doneButtonHeight = doneButton ? doneButton.offsetHeight : 0,\n dividerHeight = outerHeight(divider, true),\n menuStyle = window.getComputedStyle(menu),\n menuWidth = menu.offsetWidth,\n menuPadding = {\n vert: toInteger(menuStyle.paddingTop) +\n toInteger(menuStyle.paddingBottom) +\n toInteger(menuStyle.borderTopWidth) +\n toInteger(menuStyle.borderBottomWidth),\n horiz: toInteger(menuStyle.paddingLeft) +\n toInteger(menuStyle.paddingRight) +\n toInteger(menuStyle.borderLeftWidth) +\n toInteger(menuStyle.borderRightWidth)\n },\n menuExtras = {\n vert: menuPadding.vert +\n toInteger(menuStyle.marginTop) +\n toInteger(menuStyle.marginBottom) + 2,\n horiz: menuPadding.horiz +\n toInteger(menuStyle.marginLeft) +\n toInteger(menuStyle.marginRight) + 2\n },\n scrollBarWidth;\n\n menuInner.style.overflowY = 'scroll';\n\n scrollBarWidth = menu.offsetWidth - menuWidth;\n\n document.body.removeChild(newElement);\n\n this.sizeInfo.liHeight = liHeight;\n this.sizeInfo.dropdownHeaderHeight = dropdownHeaderHeight;\n this.sizeInfo.headerHeight = headerHeight;\n this.sizeInfo.searchHeight = searchHeight;\n this.sizeInfo.actionsHeight = actionsHeight;\n this.sizeInfo.doneButtonHeight = doneButtonHeight;\n this.sizeInfo.dividerHeight = dividerHeight;\n this.sizeInfo.menuPadding = menuPadding;\n this.sizeInfo.menuExtras = menuExtras;\n this.sizeInfo.menuWidth = menuWidth;\n this.sizeInfo.menuInnerInnerWidth = menuWidth - menuPadding.horiz;\n this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth;\n this.sizeInfo.scrollBarWidth = scrollBarWidth;\n this.sizeInfo.selectHeight = this.newElement.offsetHeight;\n\n this.setPositionData();\n }\n\n getSelectPosition () {\n var that = this,\n winScrollTop = window.pageYOffset,\n winScrollLeft = window.pageXOffset,\n winHeight = document.documentElement.clientHeight,\n winWidth = document.documentElement.clientWidth,\n pos = offset(that.newElement);\n\n this.sizeInfo.selectOffsetTop = pos.top - winScrollTop;\n this.sizeInfo.selectOffsetBot = winHeight - this.sizeInfo.selectOffsetTop - this.sizeInfo.selectHeight;\n this.sizeInfo.selectOffsetLeft = pos.left - winScrollLeft;\n this.sizeInfo.selectOffsetRight = winWidth - this.sizeInfo.selectOffsetLeft - this.sizeInfo.selectWidth;\n }\n\n setMenuSize (isAuto) {\n this.getSelectPosition();\n\n var selectWidth = this.sizeInfo.selectWidth,\n liHeight = this.sizeInfo.liHeight,\n headerHeight = this.sizeInfo.headerHeight,\n searchHeight = this.sizeInfo.searchHeight,\n actionsHeight = this.sizeInfo.actionsHeight,\n doneButtonHeight = this.sizeInfo.doneButtonHeight,\n divHeight = this.sizeInfo.dividerHeight,\n menuPadding = this.sizeInfo.menuPadding,\n menuInnerHeight,\n menuHeight,\n divLength = 0,\n minHeight,\n _minHeight,\n maxHeight,\n menuInnerMinHeight,\n estimate,\n isDropup;\n\n if (this.options.dropupAuto) {\n // Get the estimated height of the menu without scrollbars.\n estimate = liHeight * this.selectpicker.current.data.length + menuPadding.vert;\n\n isDropup = this.sizeInfo.selectOffsetTop - this.sizeInfo.selectOffsetBot > this.sizeInfo.menuExtras.vert && estimate + this.sizeInfo.menuExtras.vert + 50 > this.sizeInfo.selectOffsetBot;\n\n // ensure dropup doesn't change while searching (so menu doesn't bounce back and forth)\n if (this.selectpicker.isSearching === true) {\n isDropup = this.selectpicker.dropup;\n }\n\n this.newElement.classList.toggle(classNames.DROPUP, isDropup);\n this.selectpicker.dropup = isDropup;\n }\n\n if (this.options.size === 'auto') {\n _minHeight = this.selectpicker.current.data.length > 3 ? this.sizeInfo.liHeight * 3 + this.sizeInfo.menuExtras.vert - 2 : 0;\n menuHeight = this.sizeInfo.selectOffsetBot - this.sizeInfo.menuExtras.vert;\n minHeight = _minHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight;\n menuInnerMinHeight = Math.max(_minHeight - menuPadding.vert, 0);\n\n if (this.newElement.classList.contains(classNames.DROPUP)) {\n menuHeight = this.sizeInfo.selectOffsetTop - this.sizeInfo.menuExtras.vert;\n }\n\n maxHeight = menuHeight;\n menuInnerHeight = menuHeight - headerHeight - searchHeight - actionsHeight - doneButtonHeight - menuPadding.vert;\n } else if (this.options.size && this.options.size !== 'auto' && this.selectpicker.current.elements.length > this.options.size) {\n for (var i = 0; i < this.options.size; i++) {\n if (this.selectpicker.current.data[i].type === 'divider') divLength++;\n }\n\n menuHeight = liHeight * this.options.size + divLength * divHeight + menuPadding.vert;\n menuInnerHeight = menuHeight - menuPadding.vert;\n maxHeight = menuHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight;\n minHeight = menuInnerMinHeight = '';\n }\n\n setStyles(this.menu, {\n maxHeight: maxHeight + 'px',\n overflow: 'hidden',\n minHeight: minHeight + 'px'\n });\n\n setStyles(this.menuInner, {\n maxHeight: menuInnerHeight + 'px',\n overflow: 'hidden auto',\n minHeight: menuInnerMinHeight + 'px'\n });\n\n // ensure menuInnerHeight is always a positive number to prevent issues calculating chunkSize in createView\n this.sizeInfo.menuInnerHeight = Math.max(menuInnerHeight, 1);\n\n if (this.selectpicker.current.data.length && this.selectpicker.current.data[this.selectpicker.current.data.length - 1].position > this.sizeInfo.menuInnerHeight) {\n this.sizeInfo.hasScrollBar = true;\n this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth + this.sizeInfo.scrollBarWidth;\n }\n\n if (this.options.dropdownAlignRight === 'auto') {\n this.menu.classList.toggle(classNames.MENUEND, this.sizeInfo.selectOffsetLeft > this.sizeInfo.selectOffsetRight && this.sizeInfo.selectOffsetRight < (this.sizeInfo.totalMenuWidth - selectWidth));\n }\n\n if (this.dropdown && this.dropdown._popper) this.dropdown._popper.update();\n }\n\n setSize (refresh) {\n this.liHeight(refresh);\n\n if (this.options.header) this.menu.style.paddingTop = 0;\n\n if (this.options.size !== false) {\n var that = this;\n\n this.setMenuSize();\n\n if (this.options.liveSearch) {\n this._replace('setMenuSizeInput', this.searchbox, 'input', function () {\n return that.setMenuSize();\n });\n }\n\n if (this.options.size === 'auto') {\n var windowSizeHandler = function () {\n return that.setMenuSize();\n };\n this._replace('setMenuSizeResize', window, 'resize', windowSizeHandler);\n this._replace('setMenuSizeScroll', window, 'scroll', windowSizeHandler);\n } else if (this.options.size && this.options.size !== 'auto' && this.selectpicker.current.elements.length > this.options.size) {\n this._removeNamed('setMenuSizeResize');\n this._removeNamed('setMenuSizeScroll');\n }\n }\n\n this.createView(false, true, refresh);\n }\n\n setWidth () {\n this.menu.style.minWidth = '';\n this.newElement.style.width = '';\n this.newElement.classList.remove('fit-width');\n\n if (this.options.width === 'fit') {\n this.newElement.classList.add('fit-width');\n return;\n }\n\n if (this.options.width && this.options.width !== 'auto') {\n this.newElement.style.width = this.options.width;\n }\n }\n\n selectPosition () {\n this.bsContainer = createFromHTML('
    ');\n\n var that = this,\n container = resolveContainer(this.options.container),\n pos,\n containerPos,\n actualHeight,\n getPlacement = function (element) {\n var Dropdown = getDropdown(),\n containerPosition = {},\n // fall back to dropdown's default display setting if display is not manually set\n display = that.options.display || (Dropdown.Default ? Dropdown.Default.display : false);\n\n var extraClass = element.getAttribute('class').replace(/form-control|fit-width/gi, '').trim();\n if (extraClass) that.bsContainer.classList.add.apply(that.bsContainer.classList, extraClass.split(/\\s+/));\n that.bsContainer.classList.toggle(classNames.DROPUP, element.classList.contains(classNames.DROPUP));\n pos = offset(element);\n\n if (container !== document.body) {\n containerPos = offset(container);\n var containerStyle = window.getComputedStyle(container);\n containerPos.top += toInteger(containerStyle.borderTopWidth) - container.scrollTop;\n containerPos.left += toInteger(containerStyle.borderLeftWidth) - container.scrollLeft;\n } else {\n containerPos = { top: 0, left: 0 };\n }\n\n actualHeight = element.classList.contains(classNames.DROPUP) ? 0 : element.offsetHeight;\n\n // Bootstrap 5 uses Popper for menu positioning\n if (display === 'static') {\n containerPosition.top = pos.top - containerPos.top + actualHeight;\n containerPosition.left = pos.left - containerPos.left;\n }\n\n containerPosition.width = element.offsetWidth;\n\n setStyles(that.bsContainer, {\n top: containerPosition.top !== undefined ? containerPosition.top + 'px' : '',\n left: containerPosition.left !== undefined ? containerPosition.left + 'px' : '',\n width: containerPosition.width + 'px'\n });\n };\n\n this._on(this.button, 'click', function () {\n if (that.isDisabled()) {\n return;\n }\n\n getPlacement(that.newElement);\n\n container.appendChild(that.bsContainer);\n that.bsContainer.classList.toggle(classNames.SHOW, !that.button.classList.contains(classNames.SHOW));\n that.bsContainer.appendChild(that.menu);\n });\n\n var windowHandler = function () {\n var isActive = that.newElement.classList.contains(classNames.SHOW);\n\n if (isActive) getPlacement(that.newElement);\n };\n this._replace('selectPositionResize', window, 'resize', windowHandler);\n this._replace('selectPositionScroll', window, 'scroll', windowHandler);\n\n this._on(this.element, 'hide' + EVENT_KEY, function () {\n that._menuHeight = outerHeight(that.menu);\n if (that.bsContainer.parentNode) that.bsContainer.parentNode.removeChild(that.bsContainer);\n });\n }\n\n createOption (data, init) {\n var optionData = !data.option ? data : data.option;\n\n if (optionData && optionData.nodeType !== 1) {\n var option = (init ? elementTemplates.selectedOption : elementTemplates.option).cloneNode(true);\n if (optionData.value !== undefined) option.value = optionData.value;\n option.textContent = optionData.text;\n\n option.selected = true;\n\n if (optionData.liIndex !== undefined) {\n option.liIndex = optionData.liIndex;\n } else if (!init) {\n option.liIndex = data.index;\n }\n\n data.option = option;\n\n this.selectpicker.main.optionQueue.appendChild(option);\n }\n }\n\n setOptionStatus (selectedOnly) {\n var that = this;\n\n that.noScroll = false;\n\n if (that.selectpicker.view.visibleElements && that.selectpicker.view.visibleElements.length) {\n for (var i = 0; i < that.selectpicker.view.visibleElements.length; i++) {\n var liData = that.selectpicker.current.data[i + that.selectpicker.view.position0],\n option = liData.option;\n\n if (option) {\n if (selectedOnly !== true) {\n that.setDisabled(liData);\n }\n\n that.setSelected(liData);\n }\n }\n\n // append optionQueue (documentFragment with option elements for select options)\n if (this.options.source.data) this.element.appendChild(this.selectpicker.main.optionQueue);\n }\n }\n\n /**\n * @param {Object} liData - the option object that is being changed\n * @param {boolean} selected - true if the option is being selected, false if being deselected\n */\n setSelected (liData, selected) {\n selected = selected === undefined ? liData.selected : selected;\n\n var li = liData.element,\n activeElementIsSet = this.activeElement !== undefined,\n thisIsActive = this.activeElement === li,\n prevActive,\n a,\n keepActive = thisIsActive || (selected && !this.multiple && !activeElementIsSet);\n\n if (selected !== undefined) {\n liData.selected = selected;\n if (liData.option) liData.option.selected = selected;\n }\n\n if (selected && this.options.source.data) {\n this.createOption(liData, false);\n }\n\n if (!li) return;\n\n a = li.firstChild;\n\n if (selected) {\n this.selectedElement = li;\n }\n\n li.classList.toggle('selected', selected);\n\n if (keepActive) {\n this.focusItem(li, liData);\n this.selectpicker.view.currentActive = li;\n this.activeElement = li;\n } else {\n this.defocusItem(li);\n }\n\n if (a) {\n a.classList.toggle('selected', selected);\n\n if (selected) {\n a.setAttribute('aria-selected', true);\n } else {\n if (this.multiple) {\n a.setAttribute('aria-selected', false);\n } else {\n a.removeAttribute('aria-selected');\n }\n }\n }\n\n if (!keepActive && !activeElementIsSet && selected && this.prevActiveElement !== undefined) {\n prevActive = this.prevActiveElement;\n\n this.defocusItem(prevActive);\n }\n }\n\n /**\n * @param {Object} liData - the option that is being disabled\n */\n setDisabled (liData) {\n var disabled = liData.disabled,\n li = liData.element,\n a;\n\n if (!li) return;\n\n a = li.firstChild;\n\n li.classList.toggle(classNames.DISABLED, disabled);\n\n if (a) {\n a.classList.toggle(classNames.DISABLED, disabled);\n\n if (disabled) {\n a.setAttribute('aria-disabled', disabled);\n a.setAttribute('tabindex', -1);\n } else {\n a.removeAttribute('aria-disabled');\n a.setAttribute('tabindex', 0);\n }\n }\n }\n\n isDisabled () {\n return this.element.disabled;\n }\n\n checkDisabled () {\n if (this.isDisabled()) {\n this.newElement.classList.add(classNames.DISABLED);\n this.button.classList.add(classNames.DISABLED);\n this.button.setAttribute('aria-disabled', true);\n } else {\n if (this.button.classList.contains(classNames.DISABLED)) {\n this.newElement.classList.remove(classNames.DISABLED);\n this.button.classList.remove(classNames.DISABLED);\n this.button.setAttribute('aria-disabled', false);\n }\n }\n }\n\n clickListener () {\n var that = this;\n\n spaceSelectFlag = false;\n\n this._on(this.button, 'keyup', function (e) {\n if (/(32)/.test(e.keyCode.toString(10)) && spaceSelectFlag) {\n e.preventDefault();\n spaceSelectFlag = false;\n }\n });\n\n function clearSelection (e) {\n if (that.multiple) {\n that.deselectAll();\n } else {\n var element = that.element,\n prevValue = element.value,\n prevIndex = element.selectedIndex,\n prevOption = element.options[prevIndex],\n prevData = prevOption ? that.selectpicker.main.data[prevOption.liIndex] : false;\n\n if (prevData) {\n that.setSelected(prevData, false);\n }\n\n element.selectedIndex = 0;\n\n changedArguments = [prevIndex, false, prevValue];\n triggerNative(that.element, 'change');\n }\n\n // remove selected styling if menu is open\n if (that.newElement.classList.contains(classNames.SHOW)) {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n }\n\n that.createView(false);\n }\n }\n\n if (this.options.allowClear) {\n this._on(this.button, 'click', function (e) {\n var target = e.target,\n clearButton = that.clearButton;\n\n if (target === clearButton || target.parentElement === clearButton) {\n e.stopImmediatePropagation();\n clearSelection(e);\n }\n });\n }\n\n function setFocus () {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.menuInner.focus();\n }\n }\n\n function checkPopperExists () {\n if (that.dropdown && that.dropdown._popper && that.dropdown._popper.state) {\n setFocus();\n } else {\n requestAnimationFrame(checkPopperExists);\n }\n }\n\n this._on(this.element, 'shown' + EVENT_KEY, function () {\n if (that.menuInner.scrollTop !== that.selectpicker.view.scrollTop) {\n that.menuInner.scrollTop = that.selectpicker.view.scrollTop;\n }\n\n requestAnimationFrame(checkPopperExists);\n });\n\n // ensure posinset and setsize are correct before selecting an option via a click\n this._delegate(this.menuInner, 'mouseover', 'li a', function () {\n var hoverLi = this.parentElement,\n position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0,\n index = Array.prototype.indexOf.call(hoverLi.parentElement.children, hoverLi),\n hoverData = that.selectpicker.current.data[index + position0];\n\n that.focusItem(hoverLi, hoverData, true);\n });\n\n this._delegate(this.menuInner, 'click', 'li a', function (e) {\n that.onOptionClick(this, e);\n });\n\n this._delegate(this.menu, 'click', 'li.' + classNames.DISABLED + ' a, .' + classNames.POPOVERHEADER + ', .' + classNames.POPOVERHEADER + ' :not(.btn-close):not(.close)', function (e) {\n if (e.currentTarget === this || e.target === this) {\n e.preventDefault();\n e.stopPropagation();\n if (that.options.liveSearch && !e.target.classList.contains('btn-close') && !e.target.classList.contains('close')) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n }\n });\n\n this._delegate(this.menuInner, 'click', '.divider, .dropdown-header', function (e) {\n e.preventDefault();\n e.stopPropagation();\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n });\n\n this._delegate(this.menu, 'click', '.' + classNames.POPOVERHEADER + ' .btn-close, .' + classNames.POPOVERHEADER + ' .close', function () {\n that.dropdown.hide();\n });\n\n this._delegate(this.newElement, 'click', '.bs-selected-item', function (e) {\n e.preventDefault();\n e.stopPropagation();\n that.removeSelectedTag(this.getAttribute('data-option-value'));\n });\n\n this._delegate(this.menu, 'click', '.bs-create-option', function (e) {\n e.preventDefault();\n e.stopPropagation();\n that.createOpenOption(this.getAttribute('data-search-value'));\n });\n\n if (this.searchbox) {\n this._on(this.searchbox, 'click', function (e) {\n e.stopPropagation();\n });\n }\n\n this._delegate(this.menu, 'click', '.actions-btn', function (e) {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (this.classList.contains('bs-select-all')) {\n that.selectAll();\n } else {\n that.deselectAll();\n }\n });\n\n this._on(this.button, 'focus', function (e) {\n var tabindex = that.element.getAttribute('tabindex');\n\n // only change when button is actually focused\n if (tabindex !== undefined && tabindex !== null && e.isTrusted) {\n // apply select element's tabindex to ensure correct order is followed when tabbing to the next element\n this.setAttribute('tabindex', tabindex);\n // set element's tabindex to -1 to allow for reverse tabbing\n that.element.setAttribute('tabindex', -1);\n that.selectpicker.view.tabindex = tabindex;\n }\n });\n\n this._on(this.button, 'blur', function (e) {\n // revert everything to original tabindex\n if (that.selectpicker.view.tabindex !== undefined && e.isTrusted) {\n that.element.setAttribute('tabindex', that.selectpicker.view.tabindex);\n this.setAttribute('tabindex', -1);\n that.selectpicker.view.tabindex = undefined;\n }\n });\n\n this._on(this.element, 'change', function () {\n that.render();\n that._emit('changed', changedArguments ? {\n clickedIndex: changedArguments[0],\n isSelected: changedArguments[1],\n previousValue: changedArguments[2]\n } : null);\n changedArguments = null;\n });\n\n this._on(this.element, 'focus', function () {\n if (!that.options.mobile) that.button.focus();\n });\n }\n\n onOptionClick (clickedAnchor, e, retainActive) {\n var that = this,\n element = that.element,\n li = clickedAnchor.parentElement,\n position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0,\n clickedData = that.selectpicker.current.data[Array.prototype.indexOf.call(li.parentElement.children, li) + position0],\n clickedElement = clickedData.element,\n prevValue = getSelectValues.call(that),\n prevIndex = element.selectedIndex,\n prevOption = element.options[prevIndex],\n prevData = prevOption ? that.selectpicker.main.data[prevOption.liIndex] : false,\n triggerChange = true;\n\n // Don't close on multi choice menu\n if (that.multiple && that.options.maxOptions !== 1) {\n e.stopPropagation();\n }\n\n e.preventDefault();\n\n // Don't run if the select is disabled\n if (!that.isDisabled() && !li.classList.contains(classNames.DISABLED)) {\n var option = clickedData.option,\n state = option.selected,\n optgroupData = that.selectpicker.current.data.find(function (datum) {\n return datum.optID === clickedData.optID && datum.type === 'optgroup-label';\n }),\n optgroup = optgroupData ? optgroupData.optgroup : undefined,\n dataGetter = optgroup instanceof Element ? getOptionData.fromOption : getOptionData.fromDataSource,\n optgroupOptions = optgroup && optgroup.children,\n maxOptions = parseInt(that.options.maxOptions),\n maxOptionsGrp = optgroup && parseInt(dataGetter(optgroup, 'maxOptions')) || false;\n\n if (clickedElement === that.activeElement) retainActive = true;\n\n if (!retainActive) {\n that.prevActiveElement = that.activeElement;\n that.activeElement = undefined;\n }\n\n if (!that.multiple || maxOptions === 1) { // Deselect previous option if not multi select\n if (prevData) that.setSelected(prevData, false);\n that.setSelected(clickedData, true);\n } else { // Toggle the clicked option if multi select.\n that.setSelected(clickedData, !state);\n that.focusedParent.focus();\n\n if (maxOptions !== false || maxOptionsGrp !== false) {\n var maxReached = maxOptions < getSelectedOptions.call(that).length,\n selectedGroupOptions = 0;\n\n if (optgroup && optgroup.children) {\n for (var i = 0; i < optgroup.children.length; i++) {\n if (optgroup.children[i].selected) selectedGroupOptions++;\n }\n }\n\n var maxReachedGrp = maxOptionsGrp < selectedGroupOptions;\n\n if ((maxOptions && maxReached) || (maxOptionsGrp && maxReachedGrp)) {\n if (maxOptions && maxOptions === 1) {\n element.selectedIndex = -1;\n that.setOptionStatus(true);\n } else if (maxOptionsGrp && maxOptionsGrp === 1) {\n for (var j = 0; j < optgroupOptions.length; j++) {\n var _option = optgroupOptions[j];\n that.setSelected(that.selectpicker.current.data[_option.liIndex], false);\n }\n\n that.setSelected(clickedData, true);\n } else {\n var maxOptionsText = typeof that.options.maxOptionsText === 'string' ? [that.options.maxOptionsText, that.options.maxOptionsText] : that.options.maxOptionsText,\n maxOptionsArr = typeof maxOptionsText === 'function' ? maxOptionsText(maxOptions, maxOptionsGrp) : maxOptionsText,\n maxTxt = maxOptionsArr[0].replace('{n}', maxOptions),\n maxTxtGrp = maxOptionsArr[1].replace('{n}', maxOptionsGrp),\n notify = createFromHTML('
    ');\n\n that.menu.appendChild(notify);\n\n if (maxOptions && maxReached) {\n notify.appendChild(createFromHTML('
    ' + maxTxt + '
    '));\n triggerChange = false;\n that._emit('maxReached');\n }\n\n if (maxOptionsGrp && maxReachedGrp) {\n notify.appendChild(createFromHTML('
    ' + maxTxtGrp + '
    '));\n triggerChange = false;\n that._emit('maxReachedGrp');\n }\n\n setTimeout(function () {\n that.setSelected(clickedData, false);\n }, 10);\n\n notify.classList.add('fadeOut');\n\n setTimeout(function () {\n notify.remove();\n }, 1050);\n }\n }\n }\n }\n\n if (that.options.source.data) that.element.appendChild(that.selectpicker.main.optionQueue);\n\n if (!that.multiple || (that.multiple && that.options.maxOptions === 1)) {\n that.button.focus();\n } else if (that.options.liveSearch) {\n that.searchbox.focus();\n }\n\n // Trigger select 'change'\n if (triggerChange) {\n if (that.multiple || prevIndex !== element.selectedIndex) {\n changedArguments = [option.index, option.selected, prevValue];\n triggerNative(that.element, 'change');\n }\n }\n }\n }\n\n liveSearchListener () {\n var that = this;\n\n this._on(this.searchbox, 'click', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'focus', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'touchend', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'keydown', function (e) {\n if (e.key === 'Enter' && that.createOptionButton && !that.createOptionButton.hidden && !that.selectpicker.current.data.length) {\n e.preventDefault();\n e.stopPropagation();\n that.createOpenOption(that.searchbox.value);\n }\n });\n\n this._on(this.searchbox, 'input', function () {\n var searchValue = that.searchbox.value;\n\n that.selectpicker.search.elements = [];\n that.selectpicker.search.data = [];\n\n if (searchValue) {\n that.selectpicker.search.previousValue = searchValue;\n\n if (that.options.source.search) {\n that.fetchData(function () {\n that.appendCreatedSearchResults(searchValue);\n that.render();\n that.buildList(undefined, true);\n that.noScroll = true;\n that.menuInner.scrollTop = 0;\n that.createView(true);\n showNoResults.call(that, that.selectpicker.search.data, searchValue);\n }, 'search', 0, searchValue);\n } else {\n var searchMatch = [],\n q = searchValue.toUpperCase(),\n cache = {},\n cacheArr = [],\n searchStyle = that._searchStyle(),\n normalizeSearch = that.options.liveSearchNormalize;\n\n if (normalizeSearch) q = normalizeToBase(q);\n\n for (var i = 0; i < that.selectpicker.main.data.length; i++) {\n var li = that.selectpicker.main.data[i];\n\n if (!cache[i]) {\n cache[i] = stringSearch(li, q, searchStyle, normalizeSearch);\n }\n\n if (cache[i] && li.headerIndex !== undefined && cacheArr.indexOf(li.headerIndex) === -1) {\n if (li.headerIndex > 0) {\n cache[li.headerIndex - 1] = true;\n cacheArr.push(li.headerIndex - 1);\n }\n\n cache[li.headerIndex] = true;\n cacheArr.push(li.headerIndex);\n\n cache[li.lastIndex + 1] = true;\n }\n\n if (cache[i] && li.type !== 'optgroup-label') cacheArr.push(i);\n }\n\n for (var j = 0, cacheLen = cacheArr.length; j < cacheLen; j++) {\n var index = cacheArr[j],\n prevIndex = cacheArr[j - 1],\n liData = that.selectpicker.main.data[index],\n liPrev = that.selectpicker.main.data[prevIndex];\n\n if (liData.type !== 'divider' || (liData.type === 'divider' && liPrev && liPrev.type !== 'divider' && cacheLen - 1 !== j)) {\n that.selectpicker.search.data.push(liData);\n searchMatch.push(that.selectpicker.main.elements[index]);\n }\n }\n\n that.activeElement = undefined;\n that.noScroll = true;\n that.menuInner.scrollTop = 0;\n that.selectpicker.search.elements = searchMatch;\n that.createView(true);\n showNoResults.call(that, searchMatch, searchValue);\n }\n } else if (that.selectpicker.search.previousValue) {\n that.menuInner.scrollTop = 0;\n that.createView(false);\n }\n\n that.syncOpenOptionButton();\n });\n }\n\n _searchStyle () {\n return this.options.liveSearchStyle || 'contains';\n }\n\n getValue () {\n var element = this.element;\n\n if (this.multiple) {\n var values = [];\n for (var i = 0; i < element.options.length; i++) {\n if (element.options[i].selected) values.push(element.options[i].value);\n }\n return values;\n }\n\n return element.value;\n }\n\n val (value) {\n var element = this.element;\n\n if (typeof value !== 'undefined') {\n var selectedOptions = getSelectedOptions.call(this),\n prevValue = getSelectValues.call(this, selectedOptions);\n\n changedArguments = [null, null, prevValue];\n\n if (!Array.isArray(value)) value = [ value ];\n\n value.map(String);\n\n for (var i = 0; i < selectedOptions.length; i++) {\n var item = selectedOptions[i];\n\n if (item && value.indexOf(String(item.value)) === -1) {\n this.setSelected(item, false);\n }\n }\n\n // only update selected value if it matches an existing option\n this.selectpicker.main.data.filter(function (item) {\n if (value.indexOf(String(item.value)) !== -1) {\n this.setSelected(item, true);\n return true;\n }\n\n return false;\n }, this);\n\n if (this.options.source.data) element.appendChild(this.selectpicker.main.optionQueue);\n\n this._emit('changed', changedArguments ? {\n clickedIndex: changedArguments[0],\n isSelected: changedArguments[1],\n previousValue: changedArguments[2]\n } : null);\n\n if (this.newElement.classList.contains(classNames.SHOW)) {\n if (this.multiple) {\n this.setOptionStatus(true);\n } else {\n var liSelectedIndex = (element.options[element.selectedIndex] || {}).liIndex;\n\n if (typeof liSelectedIndex === 'number') {\n this.setSelected(this.selectpicker.current.data[liSelectedIndex], true);\n }\n }\n }\n\n this.render();\n\n changedArguments = null;\n\n return this.element;\n } else {\n return this.getValue();\n }\n }\n\n changeAll (status) {\n if (!this.multiple) return;\n if (typeof status === 'undefined') status = true;\n\n var element = this.element,\n previousSelected = 0,\n currentSelected = 0,\n prevValue = getSelectValues.call(this);\n\n element.classList.add('bs-select-hidden');\n\n for (var i = 0, data = this.selectpicker.current.data, len = data.length; i < len; i++) {\n var liData = data[i],\n option = liData.option;\n\n if (option && !liData.disabled && liData.type !== 'divider') {\n if (liData.selected) previousSelected++;\n option.selected = status;\n liData.selected = status;\n if (status === true) currentSelected++;\n }\n }\n\n element.classList.remove('bs-select-hidden');\n\n if (previousSelected === currentSelected) return;\n\n this.setOptionStatus();\n\n changedArguments = [null, null, prevValue];\n\n triggerNative(this.element, 'change');\n }\n\n selectAll () {\n return this.changeAll(true);\n }\n\n deselectAll () {\n return this.changeAll(false);\n }\n\n toggle (e, state) {\n var isActive,\n triggerToggle = state === undefined;\n\n if (e && e.stopPropagation) e.stopPropagation();\n\n if (triggerToggle === false) {\n isActive = this.newElement.classList.contains(classNames.SHOW);\n triggerToggle = (state === true && isActive === false) || (state === false && isActive === true);\n }\n\n if (triggerToggle) this.dropdown.toggle();\n }\n\n open (e) {\n this.toggle(e, true);\n }\n\n close (e) {\n this.toggle(e, false);\n }\n\n _keydown (e, el) {\n var that = this,\n which = e.which || e.keyCode,\n isToggle = el.classList.contains('dropdown-toggle'),\n items = that.findLis(),\n index,\n isActive,\n liActive,\n activeLi,\n offsetVal,\n updateScroll = false,\n downOnTab = which === keyCodes.TAB && !isToggle && !that.options.selectOnTab,\n isArrowKey = REGEXP_ARROW.test(which) || downOnTab,\n scrollTop = that.menuInner.scrollTop,\n isVirtual = that.isVirtual(),\n position0 = isVirtual === true ? that.selectpicker.view.position0 : 0;\n\n // do nothing if a function key is pressed\n if (which >= 112 && which <= 123) return;\n\n isActive = that.menu.classList.contains(classNames.SHOW);\n\n if (\n !isActive &&\n (\n isArrowKey ||\n (which >= 48 && which <= 57) ||\n (which >= 96 && which <= 105) ||\n (which >= 65 && which <= 90)\n )\n ) {\n that.dropdown.show();\n\n if (that.options.liveSearch) {\n that.searchbox.focus();\n return;\n }\n }\n\n if (which === keyCodes.ESCAPE && isActive) {\n e.preventDefault();\n that.dropdown.hide();\n that.button.focus();\n }\n\n if (isArrowKey) { // if up or down\n if (!items.length) return;\n\n liActive = that.activeElement;\n index = liActive ? Array.prototype.indexOf.call(liActive.parentElement.children, liActive) : -1;\n\n if (index !== -1) {\n that.defocusItem(liActive);\n }\n\n if (which === keyCodes.ARROW_UP) { // up\n if (index !== -1) index--;\n if (index + position0 < 0) index += items.length;\n\n if (!that.selectpicker.view.canHighlight[index + position0]) {\n index = that.selectpicker.view.canHighlight.slice(0, index + position0).lastIndexOf(true) - position0;\n if (index === -1) index = items.length - 1;\n }\n } else if (which === keyCodes.ARROW_DOWN || downOnTab) { // down\n index++;\n if (index + position0 >= that.selectpicker.view.canHighlight.length) index = that.selectpicker.view.firstHighlightIndex;\n\n if (!that.selectpicker.view.canHighlight[index + position0]) {\n index = index + 1 + that.selectpicker.view.canHighlight.slice(index + position0 + 1).indexOf(true);\n }\n }\n\n e.preventDefault();\n\n var liActiveIndex = position0 + index;\n\n if (which === keyCodes.ARROW_UP) { // up\n // scroll to bottom and highlight last option\n if (position0 === 0 && index === items.length - 1) {\n that.menuInner.scrollTop = that.menuInner.scrollHeight;\n\n liActiveIndex = that.selectpicker.current.elements.length - 1;\n } else {\n activeLi = that.selectpicker.current.data[liActiveIndex];\n\n // could be undefined if no results exist\n if (activeLi) {\n offsetVal = activeLi.position - activeLi.height;\n\n updateScroll = offsetVal < scrollTop;\n }\n }\n } else if (which === keyCodes.ARROW_DOWN || downOnTab) { // down\n // scroll to top and highlight first option\n if (index === that.selectpicker.view.firstHighlightIndex) {\n that.menuInner.scrollTop = 0;\n\n liActiveIndex = that.selectpicker.view.firstHighlightIndex;\n } else {\n activeLi = that.selectpicker.current.data[liActiveIndex];\n\n // could be undefined if no results exist\n if (activeLi) {\n offsetVal = activeLi.position - that.sizeInfo.menuInnerHeight;\n\n updateScroll = offsetVal > scrollTop;\n }\n }\n }\n\n liActive = that.selectpicker.current.elements[liActiveIndex];\n\n that.activeElement = (that.selectpicker.current.data[liActiveIndex] || {}).element;\n\n that.focusItem(liActive);\n\n that.selectpicker.view.currentActive = liActive;\n\n if (updateScroll) that.menuInner.scrollTop = offsetVal;\n\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n el.focus();\n }\n } else if (\n (!el.matches('input') && !REGEXP_TAB_OR_ESCAPE.test(which)) ||\n (which === keyCodes.SPACE && that.selectpicker.keydown.keyHistory)\n ) {\n var matches = [],\n keyHistory;\n\n e.preventDefault();\n\n that.selectpicker.keydown.keyHistory += keyCodeMap[which];\n\n if (that.selectpicker.keydown.resetKeyHistory.cancel) clearTimeout(that.selectpicker.keydown.resetKeyHistory.cancel);\n that.selectpicker.keydown.resetKeyHistory.cancel = that.selectpicker.keydown.resetKeyHistory.start();\n\n keyHistory = that.selectpicker.keydown.keyHistory;\n\n // if all letters are the same, set keyHistory to just the first character when searching\n if (/^(.)\\1+$/.test(keyHistory)) {\n keyHistory = keyHistory.charAt(0);\n }\n\n // find matches\n for (var i = 0; i < that.selectpicker.current.data.length; i++) {\n var li = that.selectpicker.current.data[i],\n hasMatch;\n\n hasMatch = stringSearch(li, keyHistory, 'startsWith', true);\n\n if (hasMatch && that.selectpicker.view.canHighlight[i]) {\n matches.push(li.element);\n }\n }\n\n if (matches.length) {\n var matchIndex = 0;\n\n Array.prototype.forEach.call(items, function (item) {\n item.classList.remove('active');\n if (item.firstChild) item.firstChild.classList.remove('active');\n });\n\n // either only one key has been pressed or they are all the same key\n if (keyHistory.length === 1) {\n matchIndex = matches.indexOf(that.activeElement);\n\n if (matchIndex === -1 || matchIndex === matches.length - 1) {\n matchIndex = 0;\n } else {\n matchIndex++;\n }\n }\n\n activeLi = that.selectpicker.main.data[that.selectpicker.main.elements.indexOf(matches[matchIndex])];\n\n if (activeLi) {\n if (scrollTop - activeLi.position > 0) {\n offsetVal = activeLi.position - activeLi.height;\n updateScroll = true;\n } else {\n offsetVal = activeLi.position - that.sizeInfo.menuInnerHeight;\n // if the option is already visible at the current scroll position, just keep it the same\n updateScroll = activeLi.position > scrollTop + that.sizeInfo.menuInnerHeight;\n }\n }\n\n liActive = matches[matchIndex];\n\n that.activeElement = liActive;\n\n that.focusItem(liActive);\n\n if (liActive) liActive.firstChild.focus();\n\n if (updateScroll) that.menuInner.scrollTop = offsetVal;\n\n el.focus();\n }\n }\n\n // Select focused option if \"Enter\", \"Spacebar\" or \"Tab\" (when selectOnTab is true) are pressed inside the menu.\n if (\n isActive &&\n (\n (which === keyCodes.SPACE && !that.selectpicker.keydown.keyHistory) ||\n which === keyCodes.ENTER ||\n (which === keyCodes.TAB && that.options.selectOnTab)\n )\n ) {\n if (which !== keyCodes.SPACE) e.preventDefault();\n\n if (!that.options.liveSearch || which !== keyCodes.SPACE) {\n var activeAnchor = that.menuInner.querySelector('.active a');\n if (activeAnchor) that.onOptionClick(activeAnchor, e, true); // retain active class\n el.focus();\n\n if (!that.options.liveSearch) {\n // Prevent screen from scrolling if the user hits the spacebar\n e.preventDefault();\n // Fixes spacebar selection of dropdown items in FF & IE\n spaceSelectFlag = true;\n }\n }\n }\n }\n\n mobile () {\n // ensure mobile is set to true if mobile function is called after init\n this.options.mobile = true;\n this.element.classList.add('mobile-device');\n }\n\n resetMenuData () {\n this.selectpicker.main.data = [];\n this.selectpicker.main.elements = [];\n this.selectpicker.main.hasMore = false;\n this.selectpicker.search.data = [];\n this.selectpicker.search.elements = [];\n this.selectpicker.search.hasMore = false;\n this.selectpicker.current.data = this.selectpicker.main.data;\n this.selectpicker.current.elements = this.selectpicker.main.elements;\n this.selectpicker.current.hasMore = false;\n this.selectpicker.isSearching = false;\n }\n\n refresh () {\n var that = this;\n // update options if data attributes have been changed\n var config = stripRemovedOptions(Object.assign({}, this.options, getAttributesObject(this.element), getDataset(this.element)));\n this.options = config;\n\n if (this.options.source.data) {\n this.render();\n this.buildList();\n } else {\n this.resetMenuData();\n this.fetchData(function () {\n that.render();\n that.buildList();\n });\n }\n\n this.checkDisabled();\n this.setStyle();\n this.setWidth();\n\n this.setSize(true);\n\n this._emit('refreshed');\n }\n\n hide () {\n this.newElement.style.display = 'none';\n }\n\n show () {\n this.newElement.style.display = '';\n }\n\n remove () {\n if (this.newElement.parentNode) this.newElement.parentNode.removeChild(this.newElement);\n instanceMap.delete(this.element);\n }\n\n destroy () {\n // move the select back out of newElement, then remove newElement\n if (this.newElement.parentNode) {\n this.newElement.parentNode.insertBefore(this.element, this.newElement);\n this.newElement.parentNode.removeChild(this.newElement);\n }\n\n if (this.bsContainer) {\n if (this.bsContainer.parentNode) this.bsContainer.parentNode.removeChild(this.bsContainer);\n } else if (this.menu && this.menu.parentNode) {\n this.menu.parentNode.removeChild(this.menu);\n }\n\n if (this.selectpicker.view.titleOption && this.selectpicker.view.titleOption.parentNode) {\n this.selectpicker.view.titleOption.parentNode.removeChild(this.selectpicker.view.titleOption);\n }\n\n // remove all tracked event listeners\n for (var i = 0; i < this._listeners.length; i++) {\n var l = this._listeners[i];\n l.el.removeEventListener(l.type, l.handler, l.options);\n }\n this._listeners = [];\n\n for (var key in this._named) {\n if (Object.prototype.hasOwnProperty.call(this._named, key)) {\n this._removeNamed(key);\n }\n }\n\n if (this.dropdown && typeof this.dropdown.dispose === 'function') {\n this.dropdown.dispose();\n }\n\n this.element.classList.remove('bs-select-hidden', 'selectpicker', 'mobile-device');\n\n instanceMap.delete(this.element);\n }\n}\n\n// stores element -> Selectpicker instance\nvar instanceMap = new WeakMap();\n\nSelectpicker.NAME = 'selectpicker';\nSelectpicker.VERSION = '1.1.2';\n\n// user-provided global defaults (set via Selectpicker.setDefaults, used by i18n files)\nSelectpicker.defaults = null;\n\n// part of this is duplicated in i18n/defaults-en_US.js. Make sure to update both.\nSelectpicker.DEFAULTS = {\n noneSelectedText: 'Nothing selected',\n noneResultsText: 'No results matched {0}',\n countSelectedText: function (numSelected) {\n return (numSelected == 1) ? '{0} item selected' : '{0} items selected';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)',\n (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'\n ];\n },\n selectAllText: 'Select All',\n deselectAllText: 'Deselect All',\n source: {\n pageSize: 40,\n create: null\n },\n chunkSize: 40,\n doneButton: false,\n doneButtonText: 'Close',\n multipleSeparator: ', ',\n style: classNames.BUTTONCLASS,\n size: 'auto',\n placeholder: null,\n allowClear: false,\n selectedTextFormat: 'values',\n width: false,\n hideDisabled: false,\n showSubtext: false,\n showIcon: true,\n showContent: true,\n dropupAuto: true,\n header: false,\n liveSearch: false,\n liveSearchPlaceholder: null,\n liveSearchNormalize: false,\n liveSearchStyle: 'contains',\n openOptions: false,\n openOptionsText: 'Create \"{0}\"',\n selectionIndicator: 'checkmark',\n actionsBox: false,\n iconBase: classNames.ICONBASE,\n tickIcon: classNames.TICKICON,\n showTick: false,\n showSelectedTags: false,\n selectedItemsStyle: 'tags',\n selectedTagRemoveLabel: 'Remove',\n template: {\n caret: ''\n },\n maxOptions: false,\n selectOnTab: true,\n dropdownAlignRight: false,\n virtualScroll: 600,\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist\n};\n\nSelectpicker._buildConfig = function (element, options) {\n options = stripRemovedOptions(options || {});\n\n var dataAttributes = stripRemovedOptions(getDataset(element));\n\n for (var dataAttr in dataAttributes) {\n if (Object.prototype.hasOwnProperty.call(dataAttributes, dataAttr) && DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr];\n }\n }\n\n var userDefaults = stripRemovedOptions(Selectpicker.defaults || {});\n\n var config = Object.assign({}, Selectpicker.DEFAULTS, userDefaults, getAttributesObject(element), dataAttributes, options);\n config.template = Object.assign({}, Selectpicker.DEFAULTS.template, userDefaults.template || {}, dataAttributes.template, options.template);\n config.source = Object.assign({}, Selectpicker.DEFAULTS.source, userDefaults.source || {}, options.source);\n\n return applyLegacyOptions(element, config);\n};\n\nSelectpicker.setDefaults = function (newDefaults) {\n Selectpicker.defaults = stripRemovedOptions(Object.assign({}, Selectpicker.defaults, newDefaults));\n};\n\nSelectpicker.getInstance = function (element) {\n if (typeof element === 'string') element = document.querySelector(element);\n return instanceMap.get(element) || null;\n};\n\nSelectpicker.getOrCreateInstance = function (element, options) {\n if (typeof element === 'string') element = document.querySelector(element);\n if (!element || element.tagName !== 'SELECT') return null;\n\n var instance = instanceMap.get(element);\n\n if (instance) {\n options = stripRemovedOptions(options);\n\n if (options && typeof options === 'object') {\n for (var i in options) {\n if (Object.prototype.hasOwnProperty.call(options, i)) {\n instance.options[i] = options[i];\n }\n }\n }\n\n return instance;\n }\n\n return new Selectpicker(element, typeof options === 'object' ? options : {});\n};\n\n// \nvar KEYDOWN_SELECTOR = '.bootstrap-select [' + Selector.DATA_TOGGLE + '], .bootstrap-select [role=\"listbox\"], .bootstrap-select .bs-searchbox input';\n\n// Handle keyboard navigation ourselves. This listener runs in the capture\n// phase on `window` so it executes before Bootstrap's `document`-level\n// (capture-phase, delegated) dropdown keydown handler and prevents it from\n// processing bootstrap-select's custom menu (which would otherwise error on\n// relocated/container menus and conflict with our own navigation). This\n// replaces the upstream approach of unbinding Bootstrap's global handler.\nwindow.addEventListener('keydown', function (e) {\n var target = e.target;\n if (!target || !target.closest) return;\n\n // Any keydown originating inside a bootstrap-select widget (or its relocated\n // menu container) must not reach Bootstrap's dropdown keydown handler.\n var widget = target.closest('.bootstrap-select, .bs-container');\n if (!widget) return;\n\n e.stopImmediatePropagation();\n\n var trigger = target.closest(KEYDOWN_SELECTOR);\n if (!trigger) return;\n\n var instance;\n for (var node = trigger; node; node = node.parentElement) {\n if (node.bootstrapSelectInstance) {\n instance = node.bootstrapSelectInstance;\n break;\n }\n }\n\n if (instance) instance._keydown(e, trigger);\n}, true);\n\ndocument.addEventListener('focusin', function (e) {\n var target = e.target;\n if (target && target.closest && target.closest(KEYDOWN_SELECTOR)) {\n e.stopPropagation();\n }\n});\n\nfunction initAll () {\n var selects = document.querySelectorAll('.selectpicker');\n Array.prototype.forEach.call(selects, function (select) {\n Selectpicker.getOrCreateInstance(select);\n });\n}\n\nif (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', initAll);\n} else {\n initAll();\n}\n// \n\nif (typeof window !== 'undefined') {\n window.Selectpicker = Selectpicker;\n}\n\nreturn Selectpicker;\n"]} \ No newline at end of file +{"version":3,"file":"bootstrap-select.js","sources":["../../virtual:bootstrap-select-umd"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/* eslint-disable no-unused-vars */\n// Shared ordered source fragment consumed by the Grunt JS build.\n\n'use strict';\n\n// Resolve Bootstrap's Dropdown component (Bootstrap 5+). It may be provided\n// by the UMD factory (`bootstrap`), or available as a global.\nfunction getDropdown () {\n var bs = bootstrap || (typeof window !== 'undefined' ? window.bootstrap : undefined);\n return (bs && bs.Dropdown) || (typeof window !== 'undefined' ? window.Dropdown : undefined);\n}\n\n// \nfunction createFromHTML (html) {\n var wrapper = document.createElement('div');\n wrapper.innerHTML = html.trim();\n return wrapper.firstChild;\n}\n\nfunction toInteger (value) {\n return parseInt(value, 10) || 0;\n}\n\nfunction offset (el) {\n var rect = el.getBoundingClientRect();\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset\n };\n}\n\n// Resolves a container option (selector string or element) to an element.\nfunction resolveContainer (container) {\n if (!container) return null;\n return typeof container === 'string' ? document.querySelector(container) : container;\n}\n\nfunction outerHeight (el, includeMargin) {\n var height = el.offsetHeight;\n if (includeMargin) {\n var style = window.getComputedStyle(el);\n height += toInteger(style.marginTop) + toInteger(style.marginBottom);\n }\n return height;\n}\n\nfunction setStyles (el, styles) {\n for (var prop in styles) {\n if (Object.prototype.hasOwnProperty.call(styles, prop)) {\n el.style[prop] = styles[prop];\n }\n }\n}\n\nfunction triggerNative (el, eventName) {\n el.dispatchEvent(new Event(eventName, { bubbles: true }));\n}\n\n// shallow array comparison\nfunction isEqual (array1, array2) {\n return array1.length === array2.length && array1.every(function (element, index) {\n return element === array2[index];\n });\n}\n\nfunction toKebabCase (str) {\n return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, function ($, ofs) {\n return (ofs ? '-' : '') + $.toLowerCase();\n });\n}\n\nfunction toCamelCase (str) {\n return str.replace(/-([a-z])/g, function (m, letter) {\n return letter.toUpperCase();\n });\n}\n\n// Read options from data-* attributes using native values where possible.\nfunction convertDataValue (value) {\n if (value === 'true') return true;\n if (value === 'false') return false;\n if (value === 'null') return null;\n if (value === +value + '') return +value;\n if (/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/.test(value)) {\n try {\n return JSON.parse(value);\n } catch (e) {\n return value;\n }\n }\n return value;\n}\n\nfunction getDataset (el) {\n var dataset = {},\n attributes = el.attributes;\n\n for (var i = 0; i < attributes.length; i++) {\n var name = attributes[i].name;\n if (name.indexOf('data-') === 0) {\n dataset[toCamelCase(name.slice(5))] = convertDataValue(attributes[i].value);\n }\n }\n\n return dataset;\n}\n// \n\n// \nvar DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\n\nvar uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n];\n\nvar ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n\nvar DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', 'tabindex', 'style', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n};\n\n// A pattern that recognizes a commonly useful subset of URLs that are safe.\nvar SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;\n\n// A pattern that matches safe data URLs. Only matches image, video and audio types.\nvar DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;\n\nvar ParseableAttributes = ['placeholder']; // attributes to use as settings, can add others in the future\n\nfunction applyLegacyOptions (element, config) {\n if (!config.placeholder) {\n var title = element.getAttribute('title');\n if (title) config.placeholder = title;\n }\n\n return config;\n}\n\nfunction allowedAttribute (attr, allowedAttributeList) {\n var attrName = attr.nodeName.toLowerCase();\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));\n }\n\n return true;\n }\n\n var regExp = allowedAttributeList.filter(function (value) {\n return value instanceof RegExp;\n });\n\n // Check if a regular expression validates the attribute.\n for (var i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction sanitizeHtml (unsafeElements, whiteList, sanitizeFn) {\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeElements);\n }\n\n var whitelistKeys = Object.keys(whiteList);\n\n for (var i = 0, len = unsafeElements.length; i < len; i++) {\n var elements = unsafeElements[i].querySelectorAll('*');\n\n for (var j = 0, len2 = elements.length; j < len2; j++) {\n var el = elements[j];\n var elName = el.nodeName.toLowerCase();\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el);\n\n continue;\n }\n\n var attributeList = [].slice.call(el.attributes);\n var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\n\n for (var k = 0, len3 = attributeList.length; k < len3; k++) {\n var attr = attributeList[k];\n\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName);\n }\n }\n }\n }\n}\n// \n\nfunction getAttributesObject (element) {\n var attributesObject = {},\n attrVal;\n\n ParseableAttributes.forEach(function (item) {\n attrVal = element.getAttribute(item);\n if (attrVal) attributesObject[item] = attrVal;\n });\n\n return attributesObject;\n}\n\n\n/* eslint-disable no-unused-vars */\n// Shared ordered source fragment consumed by the Grunt JS build.\n\n// \nfunction stringSearch (li, searchString, method, normalize) {\n var stringTypes = [\n 'display',\n 'subtext',\n 'tokens'\n ],\n searchSuccess = false;\n\n for (var i = 0; i < stringTypes.length; i++) {\n var stringType = stringTypes[i],\n string = li[stringType];\n\n if (string) {\n string = string.toString();\n\n // Strip HTML tags. This isn't perfect, but it's much faster than any other method\n if (stringType === 'display') {\n string = string.replace(/<[^>]+>/g, '');\n }\n\n if (normalize) string = normalizeToBase(string);\n string = string.toUpperCase();\n\n if (typeof method === 'function') {\n searchSuccess = method(string, searchString);\n } else if (method === 'contains') {\n searchSuccess = string.indexOf(searchString) >= 0;\n } else {\n searchSuccess = string.startsWith(searchString);\n }\n\n if (searchSuccess) break;\n }\n }\n\n return searchSuccess;\n}\n\nfunction normalizeSearchInput (value, normalize) {\n if (value === undefined || value === null) value = '';\n value = value.toString().trim();\n\n if (normalize && value) value = normalizeToBase(value);\n\n return value.toUpperCase();\n}\n\nfunction getOptionLabelText (option) {\n if (!option) return '';\n\n return option.title || option.text || option.value || '';\n}\n\n// Borrowed from Lodash (_.deburr)\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboMarksExtendedRange = '\\\\u1ab0-\\\\u1aff',\n rsComboMarksSupplementRange = '\\\\u1dc0-\\\\u1dff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange + rsComboMarksExtendedRange + rsComboMarksSupplementRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\nvar reComboMark = RegExp(rsCombo, 'g');\n\nfunction deburrLetter (key) {\n return deburredLetters[key];\n}\n\nfunction normalizeToBase (string) {\n string = string.toString();\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\n// List of HTML entities for escaping.\nvar escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n};\n\nvar createEscaper = function (map) {\n var escaper = function (match) {\n return map[match];\n };\n var source = '(?:' + Object.keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function (string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n};\n\nvar htmlEscape = createEscaper(escapeMap);\n// \n\n\n/* eslint-disable no-undef, no-unused-vars */\n// Shared ordered source fragment consumed by the Grunt JS build.\n\n// \nvar keyCodeMap = {\n 32: ' ', 48: '0', 49: '1', 50: '2', 51: '3', 52: '4', 53: '5', 54: '6',\n 55: '7', 56: '8', 57: '9', 59: ';',\n 65: 'A', 66: 'B', 67: 'C', 68: 'D', 69: 'E', 70: 'F', 71: 'G', 72: 'H',\n 73: 'I', 74: 'J', 75: 'K', 76: 'L', 77: 'M', 78: 'N', 79: 'O', 80: 'P',\n 81: 'Q', 82: 'R', 83: 'S', 84: 'T', 85: 'U', 86: 'V', 87: 'W', 88: 'X',\n 89: 'Y', 90: 'Z',\n 96: '0', 97: '1', 98: '2', 99: '3', 100: '4', 101: '5', 102: '6',\n 103: '7', 104: '8', 105: '9'\n};\n\nvar keyCodes = {\n ESCAPE: 27,\n ENTER: 13,\n SPACE: 32,\n TAB: 9,\n ARROW_UP: 38,\n ARROW_DOWN: 40\n};\n\nvar selectId = 0;\n\nvar EVENT_KEY = '.bs.select';\n\n// Bootstrap 5 class names.\nvar classNames = {\n DISABLED: 'disabled',\n DIVIDER: 'dropdown-divider',\n SHOW: 'show',\n DROPUP: 'dropup',\n MENU: 'dropdown-menu',\n MENUEND: 'dropdown-menu-end',\n BUTTONCLASS: 'btn-light',\n POPOVERHEADER: 'popover-header',\n ICONBASE: '',\n TICKICON: 'bs-ok-default'\n};\n\nvar Selector = {\n MENU: '.' + classNames.MENU,\n DATA_TOGGLE: 'data-bs-toggle=\"dropdown\"'\n};\n\nvar elementTemplates = {\n div: document.createElement('div'),\n span: document.createElement('span'),\n i: document.createElement('i'),\n subtext: document.createElement('small'),\n a: document.createElement('a'),\n li: document.createElement('li'),\n whitespace: document.createTextNode('\\u00A0'),\n fragment: document.createDocumentFragment(),\n option: document.createElement('option')\n};\n\nelementTemplates.selectedOption = elementTemplates.option.cloneNode(false);\nelementTemplates.selectedOption.setAttribute('selected', true);\n\nelementTemplates.noResults = elementTemplates.li.cloneNode(false);\nelementTemplates.noResults.className = 'no-results';\n\nelementTemplates.a.setAttribute('role', 'option');\nelementTemplates.a.className = 'dropdown-item';\n\nelementTemplates.subtext.className = 'text-muted';\n\nelementTemplates.text = elementTemplates.span.cloneNode(false);\nelementTemplates.text.className = 'text';\n\nelementTemplates.checkMark = elementTemplates.span.cloneNode(false);\n\nvar REGEXP_ARROW = new RegExp(keyCodes.ARROW_UP + '|' + keyCodes.ARROW_DOWN);\nvar REGEXP_TAB_OR_ESCAPE = new RegExp('^' + keyCodes.TAB + '$|' + keyCodes.ESCAPE);\n\nvar generateOption = {\n li: function (content, classes, optgroup) {\n var li = elementTemplates.li.cloneNode(false);\n\n if (content) {\n if (content.nodeType === 1 || content.nodeType === 11) {\n li.appendChild(content);\n } else {\n li.innerHTML = content;\n }\n }\n\n if (typeof classes !== 'undefined' && classes !== '') li.className = classes;\n if (typeof optgroup !== 'undefined' && optgroup !== null) li.classList.add('optgroup-' + optgroup);\n\n return li;\n },\n\n a: function (text, classes, inline) {\n var a = elementTemplates.a.cloneNode(true);\n\n if (text) {\n if (text.nodeType === 11) {\n a.appendChild(text);\n } else {\n a.insertAdjacentHTML('beforeend', text);\n }\n }\n\n if (typeof classes !== 'undefined' && classes !== '') a.classList.add.apply(a.classList, classes.split(/\\s+/));\n if (inline) a.setAttribute('style', inline);\n\n return a;\n },\n\n text: function (options, useFragment) {\n var textElement = elementTemplates.text.cloneNode(false),\n subtextElement,\n iconElement;\n\n if (options.content) {\n textElement.innerHTML = options.content;\n } else {\n textElement.textContent = options.text;\n\n if (options.icon) {\n var whitespace = elementTemplates.whitespace.cloneNode(false);\n\n // need to use for icons in the button to prevent a breaking change\n iconElement = (useFragment === true ? elementTemplates.i : elementTemplates.span).cloneNode(false);\n iconElement.className = this.options.iconBase + ' ' + options.icon;\n\n elementTemplates.fragment.appendChild(iconElement);\n elementTemplates.fragment.appendChild(whitespace);\n }\n\n if (options.subtext) {\n subtextElement = elementTemplates.subtext.cloneNode(false);\n subtextElement.textContent = options.subtext;\n textElement.appendChild(subtextElement);\n }\n }\n\n if (useFragment === true) {\n while (textElement.childNodes.length > 0) {\n elementTemplates.fragment.appendChild(textElement.childNodes[0]);\n }\n } else {\n elementTemplates.fragment.appendChild(textElement);\n }\n\n return elementTemplates.fragment;\n },\n\n label: function (options) {\n var textElement = elementTemplates.text.cloneNode(false),\n subtextElement,\n iconElement;\n\n textElement.innerHTML = options.display;\n\n if (options.icon) {\n var whitespace = elementTemplates.whitespace.cloneNode(false);\n\n iconElement = elementTemplates.span.cloneNode(false);\n iconElement.className = this.options.iconBase + ' ' + options.icon;\n\n elementTemplates.fragment.appendChild(iconElement);\n elementTemplates.fragment.appendChild(whitespace);\n }\n\n if (options.subtext) {\n subtextElement = elementTemplates.subtext.cloneNode(false);\n subtextElement.textContent = options.subtext;\n textElement.appendChild(subtextElement);\n }\n\n elementTemplates.fragment.appendChild(textElement);\n\n return elementTemplates.fragment;\n }\n};\n\nvar getOptionData = {\n fromOption: function (option, type) {\n var value;\n\n switch (type) {\n case 'divider':\n value = option.getAttribute('data-divider') === 'true';\n break;\n\n case 'text':\n value = option.textContent;\n break;\n\n case 'label':\n value = option.label;\n break;\n\n case 'style':\n value = option.style.cssText;\n break;\n\n case 'title':\n value = option.title;\n break;\n\n default:\n value = option.getAttribute('data-' + toKebabCase(type));\n break;\n }\n\n return value;\n },\n fromDataSource: function (option, type) {\n var value;\n\n switch (type) {\n case 'text':\n case 'label':\n value = option.text || option.value || '';\n break;\n\n default:\n value = option[type];\n break;\n }\n\n return value;\n }\n};\n\nfunction showNoResults (searchMatch, searchValue) {\n if (!searchMatch.length) {\n elementTemplates.noResults.innerHTML = this.options.noneResultsText.replace('{0}', '\"' + htmlEscape(searchValue) + '\"');\n this.menuInner.firstChild.appendChild(elementTemplates.noResults);\n }\n}\n\nfunction filterHidden (item) {\n return !(item.hidden || this.options.hideDisabled && item.disabled);\n}\n\nfunction getSelectedOptions () {\n var options = this.selectpicker.main.data;\n\n if (this.options.source.data || this.options.source.search) {\n options = Object.values(this.selectpicker.optionValuesDataMap);\n }\n\n var selectedOptions = options.filter(function (item) {\n if (item.selected) {\n if (this.options.hideDisabled && item.disabled) return false;\n return true;\n }\n\n return false;\n }, this);\n\n // ensure only 1 option is selected if multiple are set in the data source\n if (this.options.source.data && !this.multiple && selectedOptions.length > 1) {\n for (var i = 0; i < selectedOptions.length - 1; i++) {\n selectedOptions[i].selected = false;\n }\n\n selectedOptions = [ selectedOptions[selectedOptions.length - 1] ];\n }\n\n return selectedOptions;\n}\n\nfunction getSelectValues (selectedOptions) {\n var value = [],\n options = selectedOptions || getSelectedOptions.call(this),\n opt;\n\n for (var i = 0, len = options.length; i < len; i++) {\n opt = options[i];\n\n if (!opt.disabled) {\n value.push(opt.value === undefined ? opt.text : opt.value);\n }\n }\n\n if (!this.multiple) {\n return !value.length ? null : value[0];\n }\n\n return value;\n}\n// \n\nvar changedArguments = null;\n\n// shared flag for spacebar selection handling (mirrors original document data flag)\nvar spaceSelectFlag = false;\n\nvar REMOVED_OPTIONS = ['container', 'display', 'mobile', 'styleBase', 'windowPadding'];\n\nfunction stripRemovedOptions (source) {\n if (!source || typeof source !== 'object') return source;\n\n var result = Object.assign({}, source);\n\n for (var i = 0; i < REMOVED_OPTIONS.length; i++) {\n delete result[REMOVED_OPTIONS[i]];\n }\n\n return result;\n}\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n\nclass Selectpicker {\n constructor (element, options) {\n if (typeof element === 'string') {\n element = document.querySelector(element);\n }\n\n if (!element || element.tagName !== 'SELECT') {\n throw new TypeError('Selectpicker requires a select element or selector.');\n }\n\n this.element = element;\n this.newElement = null;\n this.button = null;\n this.menu = null;\n this.options = Selectpicker._buildConfig(element, options || {});\n\n // tracked event listeners for clean teardown\n this._listeners = [];\n this._named = {};\n\n this.selectpicker = {\n main: {\n data: [],\n optionQueue: elementTemplates.fragment.cloneNode(false),\n hasMore: false\n },\n search: {\n data: [],\n hasMore: false\n },\n current: {}, // current is either equal to main or search depending on if a search is in progress\n view: {},\n // map of option values and their respective data (only used in conjunction with options.source)\n optionValuesDataMap: {},\n createdOptions: [],\n openOption: {\n isCreating: false\n },\n isSearching: false,\n keydown: {\n keyHistory: '',\n resetKeyHistory: {\n start: () => {\n return setTimeout(() => {\n this.selectpicker.keydown.keyHistory = '';\n }, 800);\n }\n }\n }\n };\n\n this.sizeInfo = {};\n\n this.init();\n\n instanceMap.set(element, this);\n }\n\n // \n _on (el, type, handler, options) {\n el.addEventListener(type, handler, options);\n this._listeners.push({ el: el, type: type, handler: handler, options: options });\n return handler;\n }\n\n _delegate (el, type, selector, handler, options) {\n var listener = function (e) {\n var target = e.target.closest(selector);\n if (target && el.contains(target)) {\n handler.call(target, e);\n }\n };\n return this._on(el, type, listener, options);\n }\n\n _emit (name, detail) {\n var event = new CustomEvent(name + EVENT_KEY, {\n bubbles: true,\n cancelable: true,\n detail: detail || null\n });\n this.element.dispatchEvent(event);\n return event;\n }\n\n // adds an event listener that replaces any previously-registered listener under `key`\n _replace (key, el, type, handler, options) {\n this._removeNamed(key);\n el.addEventListener(type, handler, options);\n this._named[key] = { el: el, type: type, handler: handler, options: options };\n }\n\n _removeNamed (key) {\n var prev = this._named[key];\n if (prev) {\n prev.el.removeEventListener(prev.type, prev.handler, prev.options);\n delete this._named[key];\n }\n }\n // \n\n init () {\n var that = this,\n id = this.element.getAttribute('id'),\n element = this.element,\n form = element.form;\n\n selectId++;\n this.selectId = 'bs-select-' + selectId;\n\n element.classList.add('bs-select-hidden');\n\n this.multiple = this.element.multiple;\n this.autofocus = this.element.autofocus;\n\n if (element.classList.contains('show-tick')) {\n this.options.showTick = true;\n }\n\n this.newElement = this.createDropdown();\n\n // insert newElement after element, then move element to be the first child of newElement\n element.parentNode.insertBefore(this.newElement, element.nextSibling);\n this.newElement.insertBefore(element, this.newElement.firstChild);\n\n // ensure select is associated with form element if it got unlinked after moving it inside newElement\n if (form && element.form === null) {\n if (!form.id) form.id = 'form-' + this.selectId;\n element.setAttribute('form', form.id);\n }\n\n this.button = this.newElement.querySelector(':scope > button');\n if (this.options.allowClear) this.clearButton = this.button.querySelector('.bs-select-clear-selected');\n this.menu = this.newElement.querySelector(':scope > ' + Selector.MENU);\n this.menuInner = this.menu.querySelector('.inner');\n this.searchbox = this.menu.querySelector('input');\n this.selectedItems = this.newElement.querySelector(':scope > .bs-selected-items-external') || this.menu.querySelector('.bs-selected-items');\n this.createOptionButton = this.menu.querySelector('.bs-create-option');\n\n element.classList.remove('bs-select-hidden');\n\n this.fetchData(function () {\n that.render(true);\n that.buildList();\n\n requestAnimationFrame(function () {\n that._emit('loaded');\n });\n });\n\n if (this.options.dropdownAlignRight === true) this.menu.classList.add(classNames.MENUEND);\n\n if (typeof id !== 'undefined' && id !== null) {\n this.button.setAttribute('data-id', id);\n }\n\n this.checkDisabled();\n this.clickListener();\n\n var Dropdown = getDropdown();\n this.dropdown = new Dropdown(this.button);\n\n // store a reference to the instance for delegated handlers\n this.newElement.bootstrapSelectInstance = this;\n this.menu.bootstrapSelectInstance = this;\n\n if (this.options.liveSearch) {\n this.liveSearchListener();\n this.focusedParent = this.searchbox;\n } else {\n this.focusedParent = this.menuInner;\n }\n\n this.setStyle();\n this.setWidth();\n this._on(this.element, 'hide' + EVENT_KEY, function () {\n if (that.isVirtual()) {\n // empty menu on close\n var menuInner = that.menuInner,\n emptyMenu = menuInner.firstChild.cloneNode(false);\n\n // replace the existing UL with an empty one - this is faster than emptying it\n menuInner.replaceChild(emptyMenu, menuInner.firstChild);\n menuInner.scrollTop = 0;\n }\n });\n\n // re-emit Bootstrap dropdown events as bootstrap-select events\n this._on(this.newElement, 'hide.bs.dropdown', function (e) {\n that._emit('hide', { bsEvent: e });\n });\n this._on(this.newElement, 'hidden.bs.dropdown', function (e) {\n that._emit('hidden', { bsEvent: e });\n });\n this._on(this.newElement, 'show.bs.dropdown', function (e) {\n that.onShow(e);\n that._emit('show', { bsEvent: e });\n });\n this._on(this.newElement, 'shown.bs.dropdown', function (e) {\n that._emit('shown', { bsEvent: e });\n });\n\n if (element.hasAttribute('required')) {\n this._on(this.element, 'invalid', function () {\n that.button.classList.add('bs-invalid');\n\n var onShownInvalid = function () {\n // set the value to hide the validation message in Chrome when menu is opened\n triggerNative(that.element, 'change');\n that.element.removeEventListener('shown' + EVENT_KEY, onShownInvalid);\n };\n that._on(that.element, 'shown' + EVENT_KEY, onShownInvalid);\n\n var onRendered = function () {\n // if select is no longer invalid, remove the bs-invalid class\n if (that.element.validity.valid) that.button.classList.remove('bs-invalid');\n that.element.removeEventListener('rendered' + EVENT_KEY, onRendered);\n };\n that._on(that.element, 'rendered' + EVENT_KEY, onRendered);\n\n var onBlur = function () {\n that.element.focus();\n that.element.blur();\n that.button.removeEventListener('blur' + EVENT_KEY, onBlur);\n };\n that._on(that.button, 'blur' + EVENT_KEY, onBlur);\n });\n }\n\n if (form) {\n this._on(form, 'reset', function () {\n requestAnimationFrame(function () {\n that.render();\n });\n });\n }\n }\n\n createDropdown () {\n // Multiple selects always show an indicator. Single selects also need the\n // indicator column when selectionIndicator is enabled.\n var usesSelectionIndicator = this.options.selectionIndicator === 'checkbox',\n showTick = (this.multiple || this.options.showTick || usesSelectionIndicator) ? ' show-tick' : '',\n showSelectedTags = this.options.showSelectedTags ? ' show-selected-tags' : '',\n selectedItemsStyle = this.options.selectedItemsStyle === 'list' ? ' selected-items-style-list' : '',\n selectionIndicator = usesSelectionIndicator\n ? (this.multiple ? ' selection-indicator-checkbox' : ' selection-indicator-radio')\n : '',\n multiselectable = this.multiple ? ' aria-multiselectable=\"true\"' : '',\n autofocus = this.autofocus ? ' autofocus' : '',\n liveSearchPlaceholder = this.options.liveSearchPlaceholder;\n\n if (liveSearchPlaceholder === null && (this.options.showSelectedTags || this.options.openOptions)) {\n liveSearchPlaceholder = this.options.placeholder || 'Search';\n }\n\n // Elements\n var drop,\n header = '',\n searchbox = '',\n actionsbox = '',\n donebutton = '',\n clearButton = '';\n\n if (this.options.header) {\n header =\n '
    ' +\n '' + this.options.header + '' +\n '' +\n '
    ';\n }\n\n if (this.options.liveSearch) {\n searchbox =\n '
    ' +\n '' +\n (this.options.openOptions\n ? ''\n : '') +\n '
    ';\n }\n\n if (this.multiple && this.options.actionsBox) {\n actionsbox =\n '
    ' +\n '
    ' +\n '' +\n '' +\n '
    ' +\n '
    ';\n }\n\n if (this.multiple && this.options.doneButton) {\n donebutton =\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ';\n }\n\n if (this.options.allowClear) {\n clearButton = '×';\n }\n\n drop =\n '
    ' +\n '' +\n '
    ' +\n header +\n searchbox +\n actionsbox +\n '
    ' +\n '
      ' +\n '
    ' +\n '
    ' +\n donebutton +\n '
    ' +\n (this.multiple && this.options.showSelectedTags\n ? ''\n : '') +\n '
    ';\n\n return createFromHTML(drop);\n }\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n // runs when the dropdown is about to be shown\n onShow () {\n if (this.options.liveSearch && this.searchbox.value) {\n this.searchbox.value = '';\n this.selectpicker.search.previousValue = undefined;\n }\n\n if (!this.newElement.classList.contains(classNames.SHOW)) {\n this.setSize();\n }\n }\n\n setPositionData () {\n this.selectpicker.view.canHighlight = [];\n this.selectpicker.view.size = 0;\n this.selectpicker.view.firstHighlightIndex = false;\n\n for (var i = 0; i < this.selectpicker.current.data.length; i++) {\n var li = this.selectpicker.current.data[i],\n canHighlight = true;\n\n if (li.type === 'divider') {\n canHighlight = false;\n li.height = this.sizeInfo.dividerHeight;\n } else if (li.type === 'optgroup-label') {\n canHighlight = false;\n li.height = this.sizeInfo.dropdownHeaderHeight;\n } else {\n li.height = this.sizeInfo.liHeight;\n }\n\n if (li.disabled) canHighlight = false;\n\n this.selectpicker.view.canHighlight.push(canHighlight);\n\n if (canHighlight) {\n this.selectpicker.view.size++;\n li.posinset = this.selectpicker.view.size;\n if (this.selectpicker.view.firstHighlightIndex === false) this.selectpicker.view.firstHighlightIndex = i;\n }\n\n li.position = (i === 0 ? 0 : this.selectpicker.current.data[i - 1].position) + li.height;\n }\n }\n\n isVirtual () {\n return (this.options.virtualScroll !== false) && (this.selectpicker.main.data.length >= this.options.virtualScroll) || this.options.virtualScroll === true;\n }\n\n createView (isSearching, setSize, refresh) {\n var that = this,\n scrollTop = 0;\n\n this.selectpicker.isSearching = isSearching;\n this.selectpicker.current = isSearching ? this.selectpicker.search : this.selectpicker.main;\n\n this.setPositionData();\n\n if (setSize) {\n if (refresh) {\n scrollTop = this.menuInner.scrollTop;\n } else if (!that.multiple) {\n var element = that.element,\n selectedIndex = (element.options[element.selectedIndex] || {}).liIndex;\n\n if (typeof selectedIndex === 'number' && that.options.size !== false) {\n var selectedData = that.selectpicker.main.data[selectedIndex],\n position = selectedData && selectedData.position;\n\n if (position) {\n scrollTop = position - ((that.sizeInfo.menuInnerHeight + that.sizeInfo.liHeight) / 2);\n }\n }\n }\n }\n\n scroll(scrollTop, true);\n\n this._replace('createViewScroll', this.menuInner, 'scroll', function () {\n if (!that.noScroll) scroll(that.menuInner.scrollTop);\n that.noScroll = false;\n });\n\n function scroll (scrollTop, init) {\n var size = that.selectpicker.current.data.length,\n chunks = [],\n chunkSize,\n chunkCount,\n firstChunk,\n lastChunk,\n currentChunk,\n prevPositions,\n positionIsDifferent,\n previousElements,\n menuIsDifferent = true,\n isVirtual = that.isVirtual();\n\n that.selectpicker.view.scrollTop = scrollTop;\n\n chunkSize = that.options.chunkSize; // number of options in a chunk\n chunkCount = Math.ceil(size / chunkSize) || 1; // number of chunks\n\n for (var i = 0; i < chunkCount; i++) {\n var endOfChunk = (i + 1) * chunkSize;\n\n if (i === chunkCount - 1) {\n endOfChunk = size;\n }\n\n chunks[i] = [\n (i) * chunkSize + (!i ? 0 : 1),\n endOfChunk\n ];\n\n if (!size) break;\n\n if (currentChunk === undefined && scrollTop - 1 <= that.selectpicker.current.data[endOfChunk - 1].position - that.sizeInfo.menuInnerHeight) {\n currentChunk = i;\n }\n }\n\n if (currentChunk === undefined) currentChunk = 0;\n\n prevPositions = [that.selectpicker.view.position0, that.selectpicker.view.position1];\n\n // always display previous, current, and next chunks\n firstChunk = Math.max(0, currentChunk - 1);\n lastChunk = Math.min(chunkCount - 1, currentChunk + 1);\n\n that.selectpicker.view.position0 = isVirtual === false ? 0 : (Math.max(0, chunks[firstChunk][0]) || 0);\n that.selectpicker.view.position1 = isVirtual === false ? size : (Math.min(size, chunks[lastChunk][1]) || 0);\n\n positionIsDifferent = prevPositions[0] !== that.selectpicker.view.position0 || prevPositions[1] !== that.selectpicker.view.position1;\n\n if (that.activeElement !== undefined) {\n if (init) {\n if (that.activeElement !== that.selectedElement) {\n that.defocusItem(that.activeElement);\n }\n that.activeElement = undefined;\n }\n\n if (that.activeElement !== that.selectedElement) {\n that.defocusItem(that.selectedElement);\n }\n }\n\n if (that.prevActiveElement !== undefined && that.prevActiveElement !== that.activeElement && that.prevActiveElement !== that.selectedElement) {\n that.defocusItem(that.prevActiveElement);\n }\n\n if (init || positionIsDifferent || that.selectpicker.current.hasMore) {\n previousElements = that.selectpicker.view.visibleElements ? that.selectpicker.view.visibleElements.slice() : [];\n\n if (isVirtual === false) {\n that.selectpicker.view.visibleElements = that.selectpicker.current.elements;\n } else {\n that.selectpicker.view.visibleElements = that.selectpicker.current.elements.slice(that.selectpicker.view.position0, that.selectpicker.view.position1);\n }\n\n that.setOptionStatus();\n\n // if searching, check to make sure the list has actually been updated before updating DOM\n // this prevents unnecessary repaints\n if (isSearching || (isVirtual === false && init)) menuIsDifferent = !isEqual(previousElements, that.selectpicker.view.visibleElements);\n\n // if virtual scroll is disabled and not searching,\n // menu should never need to be updated more than once\n if ((init || isVirtual === true) && menuIsDifferent) {\n var menuInner = that.menuInner,\n menuFragment = document.createDocumentFragment(),\n emptyMenu = menuInner.firstChild.cloneNode(false),\n marginTop,\n marginBottom,\n elements = that.selectpicker.view.visibleElements,\n toSanitize = [];\n\n // replace the existing UL with an empty one - this is faster than emptying it\n menuInner.replaceChild(emptyMenu, menuInner.firstChild);\n\n for (var i = 0, visibleElementsLen = elements.length; i < visibleElementsLen; i++) {\n var element = elements[i],\n elText,\n elementData;\n\n if (that.options.sanitize) {\n elText = element.lastChild;\n\n if (elText) {\n elementData = that.selectpicker.current.data[i + that.selectpicker.view.position0];\n\n if (elementData && elementData.content && !elementData.sanitized) {\n toSanitize.push(elText);\n elementData.sanitized = true;\n }\n }\n }\n\n menuFragment.appendChild(element);\n }\n\n if (that.options.sanitize && toSanitize.length) {\n sanitizeHtml(toSanitize, that.options.whiteList, that.options.sanitizeFn);\n }\n\n if (isVirtual === true) {\n marginTop = (that.selectpicker.view.position0 === 0 ? 0 : that.selectpicker.current.data[that.selectpicker.view.position0 - 1].position);\n marginBottom = (that.selectpicker.view.position1 > size - 1 ? 0 : that.selectpicker.current.data[size - 1].position - that.selectpicker.current.data[that.selectpicker.view.position1 - 1].position);\n\n menuInner.firstChild.style.marginTop = marginTop + 'px';\n menuInner.firstChild.style.marginBottom = marginBottom + 'px';\n } else {\n menuInner.firstChild.style.marginTop = 0;\n menuInner.firstChild.style.marginBottom = 0;\n }\n\n menuInner.firstChild.appendChild(menuFragment);\n\n // if an option is encountered that is wider than the current menu width, update the menu width accordingly\n if (isVirtual === true && that.sizeInfo.hasScrollBar) {\n var menuInnerInnerWidth = menuInner.firstChild.offsetWidth;\n\n if (init && menuInnerInnerWidth < that.sizeInfo.menuInnerInnerWidth && that.sizeInfo.totalMenuWidth > that.sizeInfo.selectWidth) {\n menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px';\n } else if (menuInnerInnerWidth > that.sizeInfo.menuInnerInnerWidth) {\n // set to 0 to get actual width of menu\n that.menu.style.minWidth = 0;\n\n var actualMenuWidth = menuInner.firstChild.offsetWidth;\n\n if (actualMenuWidth > that.sizeInfo.menuInnerInnerWidth) {\n that.sizeInfo.menuInnerInnerWidth = actualMenuWidth;\n menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px';\n }\n\n // reset to default CSS styling\n that.menu.style.minWidth = '';\n }\n }\n }\n\n if ((!isSearching && that.options.source.data || isSearching && that.options.source.search) && that.selectpicker.current.hasMore && currentChunk === chunkCount - 1) {\n // Don't load the next chunk until scrolling has started\n // This prevents unnecessary requests while the user is typing if pageSize is <= chunkSize\n if (scrollTop > 0) {\n // Chunks use 0-based indexing, but pages use 1-based. Add 1 to convert and add 1 again to get next page\n var page = Math.floor((currentChunk * that.options.chunkSize) / that.options.source.pageSize) + 2;\n\n that.fetchData(function () {\n that.render();\n that.buildList(size, isSearching);\n that.setPositionData();\n scroll(scrollTop);\n }, isSearching ? 'search' : 'data', page, isSearching ? that.selectpicker.search.previousValue : undefined);\n }\n }\n }\n\n that.prevActiveElement = that.activeElement;\n\n if (!that.options.liveSearch) {\n that.menuInner.focus();\n } else if (isSearching && init) {\n var index = 0,\n newActive;\n\n if (!that.selectpicker.view.canHighlight[index]) {\n index = 1 + that.selectpicker.view.canHighlight.slice(1).indexOf(true);\n }\n\n newActive = that.selectpicker.view.visibleElements[index];\n\n that.defocusItem(that.selectpicker.view.currentActive);\n\n that.activeElement = (that.selectpicker.current.data[index] || {}).element;\n\n that.focusItem(newActive);\n }\n }\n\n this._replace('createViewResize', window, 'resize', function () {\n var isActive = that.newElement.classList.contains(classNames.SHOW);\n\n if (isActive) scroll(that.menuInner.scrollTop);\n });\n }\n\n focusItem (li, liData, noStyle) {\n if (li) {\n liData = liData || this.selectpicker.current.data[this.selectpicker.current.elements.indexOf(this.activeElement)];\n var a = li.firstChild;\n\n if (a) {\n a.setAttribute('aria-setsize', this.selectpicker.view.size);\n a.setAttribute('aria-posinset', liData.posinset);\n\n if (noStyle !== true) {\n this.focusedParent.setAttribute('aria-activedescendant', a.id);\n li.classList.add('active');\n a.classList.add('active');\n }\n }\n }\n }\n\n defocusItem (li) {\n if (li) {\n li.classList.remove('active');\n if (li.firstChild) li.firstChild.classList.remove('active');\n }\n }\n\n setPlaceholder () {\n var that = this,\n updateIndex = false;\n\n if ((this.options.placeholder || this.options.allowClear) && !this.multiple) {\n if (!this.selectpicker.view.titleOption) this.selectpicker.view.titleOption = document.createElement('option');\n\n // this option doesn't create a new
  • element, but does add a new option at the start,\n // so startIndex should increase to prevent having to check every option for the bs-title-option class\n updateIndex = true;\n\n var element = this.element,\n selectTitleOption = false,\n titleNotAppended = !this.selectpicker.view.titleOption.parentNode,\n selectedIndex = element.selectedIndex,\n selectedOption = element.options[selectedIndex],\n firstSelectable = element.querySelector('select > *:not(:disabled)'),\n firstSelectableIndex = firstSelectable ? firstSelectable.index : 0,\n navigation = window.performance && window.performance.getEntriesByType('navigation'),\n // Safari doesn't support getEntriesByType('navigation') - fall back to performance.navigation\n isNotBackForward = (navigation && navigation.length) ? navigation[0].type !== 'back_forward' : window.performance.navigation.type !== 2;\n\n if (titleNotAppended) {\n // Use native JS to prepend option (faster)\n this.selectpicker.view.titleOption.className = 'bs-title-option';\n this.selectpicker.view.titleOption.value = '';\n\n // Check if selected or data-selected attribute is already set on an option. If not, select the titleOption option.\n selectTitleOption = !selectedOption || (selectedIndex === firstSelectableIndex && selectedOption.defaultSelected === false);\n }\n\n if (titleNotAppended || this.selectpicker.view.titleOption.index !== 0) {\n element.insertBefore(this.selectpicker.view.titleOption, element.firstChild);\n }\n\n // Set selected *after* appending to select\n if (selectTitleOption && isNotBackForward) {\n element.selectedIndex = 0;\n } else if (document.readyState !== 'complete') {\n // if navigation type is back_forward, there's a chance the select will have its value set by BFCache\n // wait for that value to be set, then run render again\n window.addEventListener('pageshow', function () {\n if (that.selectpicker.view.displayedValue !== element.value) that.render();\n });\n }\n }\n\n return updateIndex;\n }\n\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n fetchData (callback, type, page, searchValue) {\n page = page || 1;\n type = type || 'data';\n\n var that = this,\n data = this.options.source[type],\n builtData;\n\n if (data) {\n this.options.virtualScroll = true;\n\n if (typeof data === 'function') {\n data.call(\n this,\n function (data, more, totalItems) {\n var current = that.selectpicker[type === 'search' ? 'search' : 'main'];\n current.hasMore = more;\n current.totalItems = totalItems;\n builtData = that.buildData(data, type);\n callback.call(that, builtData);\n that._emit('fetched');\n },\n page,\n searchValue\n );\n } else if (Array.isArray(data)) {\n builtData = that.buildData(data, type);\n callback.call(that, builtData);\n }\n } else {\n builtData = this.buildData(false, type);\n callback.call(that, builtData);\n }\n }\n\n buildData (data, type) {\n var that = this;\n var dataGetter = data === false ? getOptionData.fromOption : getOptionData.fromDataSource;\n\n var optionSelector = ':not([hidden]):not([data-hidden=\"true\"]):not([style*=\"display: none\"])',\n mainData = [],\n startLen = this.selectpicker.main.data ? this.selectpicker.main.data.length : 0,\n optID = 0,\n startIndex = this.setPlaceholder() && !data ? 1 : 0; // append the titleOption if necessary and skip the first option in the loop\n\n if (type === 'search') {\n startLen = this.selectpicker.search.data.length;\n }\n\n if (this.options.hideDisabled) optionSelector += ':not(:disabled)';\n\n var selectOptions = data ? data.filter(filterHidden, this) : this.element.querySelectorAll('select > *' + optionSelector);\n\n function addDivider (config) {\n var previousData = mainData[mainData.length - 1];\n\n // ensure optgroup doesn't create back-to-back dividers\n if (\n previousData &&\n previousData.type === 'divider' &&\n (previousData.optID || config.optID)\n ) {\n return;\n }\n\n config = config || {};\n config.type = 'divider';\n\n mainData.push(config);\n }\n\n function addOption (item, config) {\n config = config || {};\n\n config.divider = dataGetter(item, 'divider');\n\n if (config.divider === true) {\n addDivider({\n optID: config.optID\n });\n } else {\n var liIndex = mainData.length + startLen,\n cssText = dataGetter(item, 'style'),\n inlineStyle = cssText ? htmlEscape(cssText) : '',\n optionClass = (item.className || '') + (config.optgroupClass || '');\n\n if (config.optID) optionClass = 'opt ' + optionClass;\n\n config.optionClass = optionClass.trim();\n config.inlineStyle = inlineStyle;\n\n config.text = dataGetter(item, 'text');\n config.title = dataGetter(item, 'title');\n config.content = dataGetter(item, 'content');\n config.tokens = dataGetter(item, 'tokens');\n config.subtext = dataGetter(item, 'subtext');\n config.icon = dataGetter(item, 'icon');\n\n config.display = config.content || config.text;\n config.value = item.value === undefined ? item.text : item.value;\n config.type = 'option';\n config.index = liIndex;\n\n config.option = !item.option ? item : item.option; // reference option element if it exists\n config.option.liIndex = liIndex;\n config.selected = !!item.selected;\n config.disabled = config.disabled || !!item.disabled;\n\n if (data !== false) {\n if (that.selectpicker.optionValuesDataMap[config.value]) {\n config = Object.assign(that.selectpicker.optionValuesDataMap[config.value], config);\n } else {\n that.selectpicker.optionValuesDataMap[config.value] = config;\n }\n }\n\n mainData.push(config);\n }\n }\n\n function addOptgroup (index, selectOptions) {\n var optgroup = selectOptions[index],\n // skip placeholder option\n previous = index - 1 < startIndex ? false : selectOptions[index - 1],\n next = selectOptions[index + 1],\n options = data ? optgroup.children.filter(filterHidden, this) : optgroup.querySelectorAll('option' + optionSelector);\n\n if (!options.length) return;\n\n var config = {\n display: htmlEscape(dataGetter(item, 'label')),\n subtext: dataGetter(optgroup, 'subtext'),\n icon: dataGetter(optgroup, 'icon'),\n type: 'optgroup-label',\n optgroupClass: ' ' + (optgroup.className || ''),\n optgroup: optgroup\n },\n headerIndex,\n lastIndex;\n\n optID++;\n\n if (previous) {\n addDivider({ optID: optID });\n }\n\n config.optID = optID;\n\n mainData.push(config);\n\n for (var j = 0, len = options.length; j < len; j++) {\n var option = options[j];\n\n if (j === 0) {\n headerIndex = mainData.length - 1;\n lastIndex = headerIndex + len;\n }\n\n addOption(option, {\n headerIndex: headerIndex,\n lastIndex: lastIndex,\n optID: config.optID,\n optgroupClass: config.optgroupClass,\n disabled: optgroup.disabled\n });\n }\n\n if (next) {\n addDivider({ optID: optID });\n }\n }\n\n var item;\n\n for (var len = selectOptions.length, i = startIndex; i < len; i++) {\n item = selectOptions[i];\n var children = item.children;\n\n if (children && children.length) {\n addOptgroup.call(this, i, selectOptions);\n } else {\n addOption.call(this, item, {});\n }\n }\n\n switch (type) {\n case 'data': {\n if (!this.selectpicker.main.data) {\n this.selectpicker.main.data = [];\n }\n Array.prototype.push.apply(this.selectpicker.main.data, mainData);\n this.selectpicker.current.data = this.selectpicker.main.data;\n break;\n }\n case 'search': {\n Array.prototype.push.apply(this.selectpicker.search.data, mainData);\n break;\n }\n }\n\n return mainData;\n }\n\n buildList (size, searching) {\n var that = this,\n selectData = searching ? this.selectpicker.search.data : this.selectpicker.main.data,\n mainElements = [],\n widestOptionLength = 0;\n\n if (that.options.showTick || that.multiple || that.options.selectionIndicator === 'checkbox') {\n elementTemplates.checkMark.className = this.options.selectionIndicator === 'checkbox'\n ? 'check-mark bs-selection-indicator'\n : this.options.iconBase + ' ' + that.options.tickIcon + ' check-mark';\n\n if (!elementTemplates.checkMark.parentNode) {\n elementTemplates.a.appendChild(elementTemplates.checkMark);\n }\n }\n\n function buildElement (mainElements, item) {\n var liElement,\n combinedLength = 0;\n\n switch (item.type) {\n case 'divider':\n liElement = generateOption.li(\n false,\n classNames.DIVIDER,\n (item.optID ? item.optID + 'div' : undefined)\n );\n\n break;\n\n case 'option':\n liElement = generateOption.li(\n generateOption.a(\n generateOption.text.call(that, item),\n item.optionClass,\n item.inlineStyle\n ),\n '',\n item.optID\n );\n\n if (liElement.firstChild) {\n liElement.firstChild.id = that.selectId + '-' + item.index;\n }\n\n break;\n\n case 'optgroup-label':\n liElement = generateOption.li(\n generateOption.label.call(that, item),\n 'dropdown-header' + item.optgroupClass,\n item.optID\n );\n\n break;\n }\n\n if (item.content) item.sanitized = false;\n\n if (!item.element) {\n item.element = liElement;\n } else {\n item.element.innerHTML = liElement.innerHTML;\n }\n mainElements.push(item.element);\n\n // count the number of characters in the option - not perfect, but should work in most cases\n if (item.display) combinedLength += item.display.length;\n if (item.subtext) combinedLength += item.subtext.length;\n // if there is an icon, ensure this option's width is checked\n if (item.icon) combinedLength += 1;\n\n if (combinedLength > widestOptionLength) {\n widestOptionLength = combinedLength;\n\n // guess which option is the widest\n that.selectpicker.view.widestOption = mainElements[mainElements.length - 1];\n }\n }\n\n var startIndex = size || 0;\n\n for (var len = selectData.length, i = startIndex; i < len; i++) {\n var item = selectData[i];\n\n buildElement(mainElements, item);\n }\n\n if (size) {\n if (searching) {\n Array.prototype.push.apply(this.selectpicker.search.elements, mainElements);\n } else {\n Array.prototype.push.apply(this.selectpicker.main.elements, mainElements);\n this.selectpicker.current.elements = this.selectpicker.main.elements;\n }\n } else {\n if (searching) {\n this.selectpicker.search.elements = mainElements;\n } else {\n this.selectpicker.main.elements = this.selectpicker.current.elements = mainElements;\n }\n }\n }\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n findLis () {\n return this.menuInner.querySelectorAll('.inner > li');\n }\n\n render (init) {\n var that = this,\n element = this.element,\n // ensure titleOption is appended and selected (if necessary) before getting selectedOptions\n placeholderSelected = this.setPlaceholder() && element.selectedIndex === 0,\n selectedOptions = getSelectedOptions.call(this),\n selectedCount = selectedOptions.length,\n selectedValues = getSelectValues.call(this, selectedOptions),\n button = this.button,\n buttonInner = button.querySelector('.filter-option-inner-inner'),\n multipleSeparator = document.createTextNode(this.options.multipleSeparator),\n titleFragment = elementTemplates.fragment.cloneNode(false),\n forceCount = this.multiple && this.options.showSelectedTags && selectedCount > 0,\n showCount,\n countMax,\n hasContent = false;\n\n function createSelected (item) {\n if (item.selected) {\n that.createOption(item, true);\n } else if (item.children && item.children.length) {\n item.children.map(createSelected);\n }\n }\n\n // create selected option elements to ensure select value is correct\n if (this.options.source.data && init) {\n selectedOptions.map(createSelected);\n element.appendChild(this.selectpicker.main.optionQueue);\n\n if (placeholderSelected) placeholderSelected = element.selectedIndex === 0;\n }\n\n button.classList.toggle('bs-placeholder', that.multiple ? !selectedCount : !selectedValues && selectedValues !== 0);\n\n if (!that.multiple && selectedOptions.length === 1) {\n that.selectpicker.view.displayedValue = selectedValues;\n }\n\n if (this.options.selectedTextFormat === 'static') {\n titleFragment = generateOption.text.call(this, { text: this.options.placeholder }, true);\n } else {\n showCount = forceCount || this.multiple && this.options.selectedTextFormat.indexOf('count') !== -1 && selectedCount > 0;\n\n // determine if the number of selected options will be shown (showCount === true)\n if (showCount && !forceCount) {\n countMax = this.options.selectedTextFormat.split('>');\n showCount = (countMax.length > 1 && selectedCount > countMax[1]) || (countMax.length === 1 && selectedCount >= 2);\n }\n\n // only loop through all selected options if the count won't be shown\n if (showCount === false) {\n if (!placeholderSelected) {\n for (var selectedIndex = 0; selectedIndex < selectedCount; selectedIndex++) {\n if (selectedIndex < 50) {\n var option = selectedOptions[selectedIndex],\n titleOptions = {};\n\n if (option) {\n if (this.multiple && selectedIndex > 0) {\n titleFragment.appendChild(multipleSeparator.cloneNode(false));\n }\n\n if (option.title) {\n titleOptions.text = option.title;\n } else if (option.content && that.options.showContent) {\n titleOptions.content = option.content.toString();\n hasContent = true;\n } else {\n if (that.options.showIcon) {\n titleOptions.icon = option.icon;\n }\n if (that.options.showSubtext && !that.multiple && option.subtext) titleOptions.subtext = ' ' + option.subtext;\n titleOptions.text = option.text.trim();\n }\n\n titleFragment.appendChild(generateOption.text.call(this, titleOptions, true));\n }\n } else {\n break;\n }\n }\n\n // add ellipsis\n if (selectedCount > 49) {\n titleFragment.appendChild(document.createTextNode('...'));\n }\n }\n } else {\n var optionSelector = ':not([hidden]):not([data-hidden=\"true\"]):not([data-divider=\"true\"]):not([style*=\"display: none\"])';\n if (this.options.hideDisabled) optionSelector += ':not(:disabled)';\n\n // If this is a multiselect, and selectedTextFormat is count, then show 1 of 2 selected, etc.\n var totalCount = this.element.querySelectorAll('select > option' + optionSelector + ', optgroup' + optionSelector + ' option' + optionSelector).length,\n tr8nText = (typeof this.options.countSelectedText === 'function') ? this.options.countSelectedText(selectedCount, totalCount) : this.options.countSelectedText;\n\n titleFragment = generateOption.text.call(this, {\n text: tr8nText.replace('{0}', selectedCount.toString()).replace('{1}', totalCount.toString())\n }, true);\n }\n }\n\n // If the select doesn't have a title, then use the default, or if nothing is set at all, use noneSelectedText\n if (!titleFragment.childNodes.length) {\n titleFragment = generateOption.text.call(this, {\n text: this.options.placeholder ? this.options.placeholder : this.options.noneSelectedText\n }, true);\n }\n\n // if the select has a title, apply it to the button, and if not, apply titleFragment text\n button.title = titleFragment.textContent.replace(/<[^>]*>?/g, '').trim();\n\n if (this.options.sanitize && hasContent) {\n sanitizeHtml([titleFragment], that.options.whiteList, that.options.sanitizeFn);\n }\n\n buttonInner.innerHTML = '';\n buttonInner.appendChild(titleFragment);\n\n this.syncTagEditor();\n\n this._emit('rendered');\n }\n\n usesTagEditor () {\n return this.options.liveSearch && (this.options.showSelectedTags || this.options.openOptions);\n }\n\n syncTagEditor () {\n if (!this.usesTagEditor()) return;\n\n if (this.selectedItems) {\n var selectedOptions = getSelectedOptions.call(this),\n useListStyle = this.options.selectedItemsStyle === 'list';\n\n this.selectedItems.innerHTML = '';\n this.selectedItems.hidden = !selectedOptions.length;\n this.selectedItems.classList.toggle('list-group', useListStyle);\n\n for (var i = 0; i < selectedOptions.length; i++) {\n var item = selectedOptions[i],\n selectedTag = document.createElement('button'),\n removeText = this.options.selectedTagRemoveLabel + ' ' + getOptionLabelText(item),\n content = document.createElement('span'),\n label = document.createElement('span'),\n remove = document.createElement('span'),\n icon;\n\n selectedTag.type = 'button';\n selectedTag.className = useListStyle\n ? 'bs-selected-item list-group-item list-group-item-action'\n : 'bs-selected-item';\n selectedTag.setAttribute('data-option-value', item.value);\n selectedTag.setAttribute('aria-label', removeText);\n selectedTag.title = removeText;\n\n content.className = 'bs-selected-item-content';\n\n if (item.icon && this.options.showIcon) {\n icon = document.createElement('span');\n icon.className = 'bs-selected-item-icon ' + this.options.iconBase + ' ' + item.icon;\n icon.setAttribute('aria-hidden', 'true');\n content.appendChild(icon);\n }\n\n label.className = 'bs-selected-item-label';\n label.textContent = getOptionLabelText(item);\n content.appendChild(label);\n\n remove.className = 'bs-selected-item-remove';\n remove.setAttribute('aria-hidden', 'true');\n remove.textContent = '\\u00d7';\n\n selectedTag.appendChild(content);\n selectedTag.appendChild(remove);\n this.selectedItems.appendChild(selectedTag);\n }\n }\n\n this.syncOpenOptionButton();\n\n if (this.newElement && this.newElement.classList.contains(classNames.SHOW)) {\n this.setSize(true);\n }\n }\n\n syncOpenOptionButton () {\n if (!this.createOptionButton) return;\n\n var searchValue = this.searchbox ? this.searchbox.value : '',\n normalizedValue = searchValue.toString().trim(),\n shouldShow = !!normalizedValue &&\n !this.selectpicker.openOption.isCreating &&\n !this.findOptionBySearchValue(normalizedValue);\n\n this.createOptionButton.hidden = !shouldShow;\n this.createOptionButton.disabled = this.selectpicker.openOption.isCreating;\n\n if (shouldShow) {\n this.createOptionButton.textContent = this.options.openOptionsText.replace('{0}', normalizedValue);\n this.createOptionButton.setAttribute('data-search-value', normalizedValue);\n } else {\n this.createOptionButton.textContent = '';\n this.createOptionButton.removeAttribute('data-search-value');\n }\n }\n\n findOptionByValue (value, dataSet) {\n var options = dataSet || this.selectpicker.main.data,\n stringValue = String(value);\n\n for (var i = 0; i < options.length; i++) {\n var option = options[i];\n\n if (option.type === 'option' && String(option.value) === stringValue) {\n return option;\n }\n }\n\n return null;\n }\n\n findOptionBySearchValue (searchValue) {\n var options = this.options.source.data || this.options.source.search\n ? Object.values(this.selectpicker.optionValuesDataMap)\n : this.selectpicker.main.data,\n normalizedSearch = normalizeSearchInput(searchValue, this.options.liveSearchNormalize);\n\n for (var i = 0; i < options.length; i++) {\n var option = options[i];\n\n if (option.type !== 'option') continue;\n\n if (\n normalizeSearchInput(option.text, this.options.liveSearchNormalize) === normalizedSearch ||\n normalizeSearchInput(option.value, this.options.liveSearchNormalize) === normalizedSearch ||\n normalizeSearchInput(option.title, this.options.liveSearchNormalize) === normalizedSearch\n ) {\n return option;\n }\n }\n\n return null;\n }\n\n createOptionElement (optionData) {\n var option = document.createElement('option');\n\n option.value = optionData.value === undefined ? optionData.text : optionData.value;\n option.textContent = optionData.text === undefined ? option.value : optionData.text;\n\n if (optionData.className) option.className = optionData.className;\n if (optionData.title) option.title = optionData.title;\n if (optionData.content) option.setAttribute('data-content', optionData.content);\n if (optionData.tokens) option.setAttribute('data-tokens', optionData.tokens);\n if (optionData.subtext) option.setAttribute('data-subtext', optionData.subtext);\n if (optionData.icon) option.setAttribute('data-icon', optionData.icon);\n if (optionData.disabled) option.disabled = true;\n if (optionData.hidden) option.hidden = true;\n\n return option;\n }\n\n appendCreatedSearchResults (searchValue) {\n if (!this.selectpicker.createdOptions.length) return;\n\n var matches = [];\n\n for (var i = 0; i < this.selectpicker.createdOptions.length; i++) {\n var option = this.selectpicker.createdOptions[i];\n\n if (\n stringSearch(option, normalizeSearchInput(searchValue, this.options.liveSearchNormalize), this._searchStyle(), this.options.liveSearchNormalize) &&\n !this.findOptionByValue(option.value, this.selectpicker.search.data)\n ) {\n matches.push(option);\n }\n }\n\n if (matches.length) this.buildData(matches, 'search');\n }\n\n addCreatedOption (optionData) {\n optionData = Object.assign({}, optionData);\n optionData.value = optionData.value === undefined ? optionData.text : optionData.value;\n optionData.text = optionData.text === undefined ? optionData.value : optionData.text;\n\n var size = this.selectpicker.main.elements ? this.selectpicker.main.elements.length : 0,\n option = this.createOptionElement(optionData);\n optionData.option = option;\n\n this.element.appendChild(option);\n var builtOptions = this.buildData([optionData], 'data'),\n builtOption = builtOptions[0];\n\n this.buildList(size);\n this.selectpicker.createdOptions.push(builtOption);\n\n return builtOption;\n }\n\n removeSelectedTag (value) {\n var option = this.findOptionByValue(value);\n\n if (!option || !option.selected) return;\n\n var prevValue = getSelectValues.call(this);\n\n this.setSelected(option, false);\n changedArguments = [option.index, false, prevValue];\n triggerNative(this.element, 'change');\n\n if (this.options.liveSearch) this.searchbox.focus();\n }\n\n createOpenOption (searchValue) {\n searchValue = searchValue === undefined || searchValue === null ? '' : searchValue.toString().trim();\n\n if (!searchValue || this.selectpicker.openOption.isCreating) return;\n\n var existingOption = this.findOptionBySearchValue(searchValue);\n\n if (existingOption) {\n if (!existingOption.selected) {\n var prevSelectedValue = getSelectValues.call(this);\n\n this.setSelected(existingOption, true);\n changedArguments = [existingOption.index, true, prevSelectedValue];\n triggerNative(this.element, 'change');\n }\n\n if (this.options.liveSearch) this.searchbox.focus();\n return;\n }\n\n var that = this,\n prevValue = getSelectValues.call(this),\n createHandler = this.options.source.create;\n\n this.selectpicker.openOption.isCreating = true;\n this.syncOpenOptionButton();\n\n function finalize (createdOption) {\n that.selectpicker.openOption.isCreating = false;\n\n if (createdOption === undefined || createdOption === null || createdOption === false) {\n that.syncOpenOptionButton();\n return;\n }\n\n if (Array.isArray(createdOption)) createdOption = createdOption[0];\n if (typeof createdOption !== 'object') {\n createdOption = {\n text: createdOption,\n value: createdOption\n };\n }\n\n if (!createdOption.text && !createdOption.value) {\n createdOption.text = searchValue;\n }\n\n if (createdOption.value === undefined) createdOption.value = createdOption.text;\n if (createdOption.text === undefined) createdOption.text = createdOption.value;\n\n var option = that.findOptionByValue(createdOption.value) || that.findOptionBySearchValue(createdOption.text);\n\n if (!option) {\n option = that.addCreatedOption(createdOption);\n }\n\n that.setSelected(option, true);\n\n if (that.options.source.data) that.element.appendChild(that.selectpicker.main.optionQueue);\n\n if (that.searchbox) {\n that.searchbox.value = '';\n }\n\n that.selectpicker.search.previousValue = '';\n that.selectpicker.search.data = [];\n that.selectpicker.search.elements = [];\n that.createView(false);\n\n changedArguments = [option.index, true, prevValue];\n triggerNative(that.element, 'change');\n\n if (that.options.liveSearch) that.searchbox.focus();\n }\n\n if (typeof createHandler === 'function') {\n var returnedOption = createHandler.call(this, finalize, searchValue);\n\n if (returnedOption && typeof returnedOption.then === 'function') {\n returnedOption.then(finalize);\n } else if (returnedOption !== undefined) {\n finalize(returnedOption);\n }\n } else {\n finalize({\n text: searchValue,\n value: searchValue\n });\n }\n }\n\n /**\n * @param [newStyle]\n * @param [status]\n */\n setStyle (newStyle, status) {\n var button = this.button,\n newElement = this.newElement,\n style = this.options.style.trim(),\n buttonClass;\n\n if (this.element.getAttribute('class')) {\n var extra = this.element.getAttribute('class').replace(/selectpicker|mobile-device|bs-select-hidden|validate\\[.*\\]/gi, '').trim();\n if (extra) newElement.classList.add.apply(newElement.classList, extra.split(/\\s+/));\n }\n\n if (newStyle) {\n buttonClass = newStyle.trim();\n } else {\n buttonClass = style;\n }\n\n if (status === 'add') {\n if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' '));\n } else if (status === 'remove') {\n if (buttonClass) button.classList.remove.apply(button.classList, buttonClass.split(' '));\n } else {\n if (style) button.classList.remove.apply(button.classList, style.split(' '));\n if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' '));\n }\n }\n\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n liHeight (refresh) {\n if (!refresh && (this.options.size === false || Object.keys(this.sizeInfo).length)) return;\n\n var newElement = elementTemplates.div.cloneNode(false),\n menu = elementTemplates.div.cloneNode(false),\n menuInner = elementTemplates.div.cloneNode(false),\n menuInnerInner = document.createElement('ul'),\n divider = elementTemplates.li.cloneNode(false),\n dropdownHeader = elementTemplates.li.cloneNode(false),\n li,\n a = elementTemplates.a.cloneNode(false),\n text = elementTemplates.span.cloneNode(false),\n header = this.options.header && this.menu.querySelectorAll('.' + classNames.POPOVERHEADER).length > 0 ? this.menu.querySelector('.' + classNames.POPOVERHEADER).cloneNode(true) : null,\n search = this.options.liveSearch && this.menu.querySelector('.bs-searchbox')\n ? this.menu.querySelector('.bs-searchbox').cloneNode(true)\n : null,\n actions = this.options.actionsBox && this.multiple && this.menu.querySelectorAll('.bs-actionsbox').length > 0 ? this.menu.querySelector('.bs-actionsbox').cloneNode(true) : null,\n doneButton = this.options.doneButton && this.multiple && this.menu.querySelectorAll('.bs-donebutton').length > 0 ? this.menu.querySelector('.bs-donebutton').cloneNode(true) : null,\n firstOption = this.element.options[0];\n\n this.sizeInfo.selectWidth = this.newElement.offsetWidth;\n\n text.className = 'text';\n a.className = 'dropdown-item ' + (firstOption ? firstOption.className : '');\n newElement.className = this.menu.parentNode.className + ' ' + classNames.SHOW;\n newElement.style.width = 0; // ensure button width doesn't affect natural width of menu when calculating\n menu.className = classNames.MENU + ' ' + classNames.SHOW;\n menuInner.className = 'inner ' + classNames.SHOW;\n menuInnerInner.className = classNames.MENU + ' inner ' + classNames.SHOW;\n divider.className = classNames.DIVIDER;\n dropdownHeader.className = 'dropdown-header';\n\n text.appendChild(document.createTextNode('\\u200b'));\n\n if (this.selectpicker.current.data.length) {\n for (var i = 0; i < this.selectpicker.current.data.length; i++) {\n var data = this.selectpicker.current.data[i];\n if (data.type === 'option' && window.getComputedStyle(data.element.firstChild).display !== 'none') {\n li = data.element;\n break;\n }\n }\n } else {\n li = elementTemplates.li.cloneNode(false);\n a.appendChild(text);\n li.appendChild(a);\n }\n\n dropdownHeader.appendChild(text.cloneNode(true));\n\n if (this.selectpicker.view.widestOption) {\n menuInnerInner.appendChild(this.selectpicker.view.widestOption.cloneNode(true));\n }\n\n menuInnerInner.appendChild(li);\n menuInnerInner.appendChild(divider);\n menuInnerInner.appendChild(dropdownHeader);\n if (header) menu.appendChild(header);\n if (search) menu.appendChild(search);\n if (actions) menu.appendChild(actions);\n menuInner.appendChild(menuInnerInner);\n menu.appendChild(menuInner);\n if (doneButton) menu.appendChild(doneButton);\n newElement.appendChild(menu);\n\n document.body.appendChild(newElement);\n\n var liHeight = li.offsetHeight,\n dropdownHeaderHeight = dropdownHeader ? dropdownHeader.offsetHeight : 0,\n headerHeight = header ? header.offsetHeight : 0,\n searchHeight = search ? search.offsetHeight : 0,\n actionsHeight = actions ? actions.offsetHeight : 0,\n doneButtonHeight = doneButton ? doneButton.offsetHeight : 0,\n dividerHeight = outerHeight(divider, true),\n menuStyle = window.getComputedStyle(menu),\n menuWidth = menu.offsetWidth,\n menuPadding = {\n vert: toInteger(menuStyle.paddingTop) +\n toInteger(menuStyle.paddingBottom) +\n toInteger(menuStyle.borderTopWidth) +\n toInteger(menuStyle.borderBottomWidth),\n horiz: toInteger(menuStyle.paddingLeft) +\n toInteger(menuStyle.paddingRight) +\n toInteger(menuStyle.borderLeftWidth) +\n toInteger(menuStyle.borderRightWidth)\n },\n menuExtras = {\n vert: menuPadding.vert +\n toInteger(menuStyle.marginTop) +\n toInteger(menuStyle.marginBottom) + 2,\n horiz: menuPadding.horiz +\n toInteger(menuStyle.marginLeft) +\n toInteger(menuStyle.marginRight) + 2\n },\n scrollBarWidth;\n\n menuInner.style.overflowY = 'scroll';\n\n scrollBarWidth = menu.offsetWidth - menuWidth;\n\n document.body.removeChild(newElement);\n\n this.sizeInfo.liHeight = liHeight;\n this.sizeInfo.dropdownHeaderHeight = dropdownHeaderHeight;\n this.sizeInfo.headerHeight = headerHeight;\n this.sizeInfo.searchHeight = searchHeight;\n this.sizeInfo.actionsHeight = actionsHeight;\n this.sizeInfo.doneButtonHeight = doneButtonHeight;\n this.sizeInfo.dividerHeight = dividerHeight;\n this.sizeInfo.menuPadding = menuPadding;\n this.sizeInfo.menuExtras = menuExtras;\n this.sizeInfo.menuWidth = menuWidth;\n this.sizeInfo.menuInnerInnerWidth = menuWidth - menuPadding.horiz;\n this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth;\n this.sizeInfo.scrollBarWidth = scrollBarWidth;\n this.sizeInfo.selectHeight = this.newElement.offsetHeight;\n\n this.setPositionData();\n }\n\n getSelectPosition () {\n var that = this,\n winScrollTop = window.pageYOffset,\n winScrollLeft = window.pageXOffset,\n winHeight = document.documentElement.clientHeight,\n winWidth = document.documentElement.clientWidth,\n pos = offset(that.newElement);\n\n this.sizeInfo.selectOffsetTop = pos.top - winScrollTop;\n this.sizeInfo.selectOffsetBot = winHeight - this.sizeInfo.selectOffsetTop - this.sizeInfo.selectHeight;\n this.sizeInfo.selectOffsetLeft = pos.left - winScrollLeft;\n this.sizeInfo.selectOffsetRight = winWidth - this.sizeInfo.selectOffsetLeft - this.sizeInfo.selectWidth;\n }\n\n setMenuSize (isAuto) {\n this.getSelectPosition();\n\n var selectWidth = this.sizeInfo.selectWidth,\n liHeight = this.sizeInfo.liHeight,\n headerHeight = this.sizeInfo.headerHeight,\n searchHeight = this.sizeInfo.searchHeight,\n actionsHeight = this.sizeInfo.actionsHeight,\n doneButtonHeight = this.sizeInfo.doneButtonHeight,\n divHeight = this.sizeInfo.dividerHeight,\n menuPadding = this.sizeInfo.menuPadding,\n menuInnerHeight,\n menuHeight,\n divLength = 0,\n minHeight,\n _minHeight,\n maxHeight,\n menuInnerMinHeight,\n estimate,\n isDropup;\n\n if (this.options.dropupAuto) {\n // Get the estimated height of the menu without scrollbars.\n estimate = liHeight * this.selectpicker.current.data.length + menuPadding.vert;\n\n isDropup = this.sizeInfo.selectOffsetTop - this.sizeInfo.selectOffsetBot > this.sizeInfo.menuExtras.vert && estimate + this.sizeInfo.menuExtras.vert + 50 > this.sizeInfo.selectOffsetBot;\n\n // ensure dropup doesn't change while searching (so menu doesn't bounce back and forth)\n if (this.selectpicker.isSearching === true) {\n isDropup = this.selectpicker.dropup;\n }\n\n this.newElement.classList.toggle(classNames.DROPUP, isDropup);\n this.selectpicker.dropup = isDropup;\n }\n\n if (this.options.size === 'auto') {\n _minHeight = this.selectpicker.current.data.length > 3 ? this.sizeInfo.liHeight * 3 + this.sizeInfo.menuExtras.vert - 2 : 0;\n menuHeight = this.sizeInfo.selectOffsetBot - this.sizeInfo.menuExtras.vert;\n minHeight = _minHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight;\n menuInnerMinHeight = Math.max(_minHeight - menuPadding.vert, 0);\n\n if (this.newElement.classList.contains(classNames.DROPUP)) {\n menuHeight = this.sizeInfo.selectOffsetTop - this.sizeInfo.menuExtras.vert;\n }\n\n maxHeight = menuHeight;\n menuInnerHeight = menuHeight - headerHeight - searchHeight - actionsHeight - doneButtonHeight - menuPadding.vert;\n } else if (this.options.size && this.options.size !== 'auto' && this.selectpicker.current.elements.length > this.options.size) {\n for (var i = 0; i < this.options.size; i++) {\n if (this.selectpicker.current.data[i].type === 'divider') divLength++;\n }\n\n menuHeight = liHeight * this.options.size + divLength * divHeight + menuPadding.vert;\n menuInnerHeight = menuHeight - menuPadding.vert;\n maxHeight = menuHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight;\n minHeight = menuInnerMinHeight = '';\n }\n\n setStyles(this.menu, {\n maxHeight: maxHeight + 'px',\n overflow: 'hidden',\n minHeight: minHeight + 'px'\n });\n\n setStyles(this.menuInner, {\n maxHeight: menuInnerHeight + 'px',\n overflow: 'hidden auto',\n minHeight: menuInnerMinHeight + 'px'\n });\n\n // ensure menuInnerHeight is always a positive number to prevent issues calculating chunkSize in createView\n this.sizeInfo.menuInnerHeight = Math.max(menuInnerHeight, 1);\n\n if (this.selectpicker.current.data.length && this.selectpicker.current.data[this.selectpicker.current.data.length - 1].position > this.sizeInfo.menuInnerHeight) {\n this.sizeInfo.hasScrollBar = true;\n this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth + this.sizeInfo.scrollBarWidth;\n }\n\n if (this.options.dropdownAlignRight === 'auto') {\n this.menu.classList.toggle(classNames.MENUEND, this.sizeInfo.selectOffsetLeft > this.sizeInfo.selectOffsetRight && this.sizeInfo.selectOffsetRight < (this.sizeInfo.totalMenuWidth - selectWidth));\n }\n\n if (this.dropdown && this.dropdown._popper) this.dropdown._popper.update();\n }\n\n setSize (refresh) {\n this.liHeight(refresh);\n\n if (this.options.header) this.menu.style.paddingTop = 0;\n\n if (this.options.size !== false) {\n var that = this;\n\n this.setMenuSize();\n\n if (this.options.liveSearch) {\n this._replace('setMenuSizeInput', this.searchbox, 'input', function () {\n return that.setMenuSize();\n });\n }\n\n if (this.options.size === 'auto') {\n var windowSizeHandler = function () {\n return that.setMenuSize();\n };\n this._replace('setMenuSizeResize', window, 'resize', windowSizeHandler);\n this._replace('setMenuSizeScroll', window, 'scroll', windowSizeHandler);\n } else if (this.options.size && this.options.size !== 'auto' && this.selectpicker.current.elements.length > this.options.size) {\n this._removeNamed('setMenuSizeResize');\n this._removeNamed('setMenuSizeScroll');\n }\n }\n\n this.createView(false, true, refresh);\n }\n\n setWidth () {\n this.menu.style.minWidth = '';\n this.newElement.style.width = '';\n this.newElement.classList.remove('fit-width');\n\n if (this.options.width === 'fit') {\n this.newElement.classList.add('fit-width');\n return;\n }\n\n if (this.options.width && this.options.width !== 'auto') {\n this.newElement.style.width = this.options.width;\n }\n }\n\n selectPosition () {\n this.bsContainer = createFromHTML('
    ');\n\n var that = this,\n container = resolveContainer(this.options.container),\n pos,\n containerPos,\n actualHeight,\n getPlacement = function (element) {\n var Dropdown = getDropdown(),\n containerPosition = {},\n // fall back to dropdown's default display setting if display is not manually set\n display = that.options.display || (Dropdown.Default ? Dropdown.Default.display : false);\n\n var extraClass = element.getAttribute('class').replace(/form-control|fit-width/gi, '').trim();\n if (extraClass) that.bsContainer.classList.add.apply(that.bsContainer.classList, extraClass.split(/\\s+/));\n that.bsContainer.classList.toggle(classNames.DROPUP, element.classList.contains(classNames.DROPUP));\n pos = offset(element);\n\n if (container !== document.body) {\n containerPos = offset(container);\n var containerStyle = window.getComputedStyle(container);\n containerPos.top += toInteger(containerStyle.borderTopWidth) - container.scrollTop;\n containerPos.left += toInteger(containerStyle.borderLeftWidth) - container.scrollLeft;\n } else {\n containerPos = { top: 0, left: 0 };\n }\n\n actualHeight = element.classList.contains(classNames.DROPUP) ? 0 : element.offsetHeight;\n\n // Bootstrap 5 uses Popper for menu positioning\n if (display === 'static') {\n containerPosition.top = pos.top - containerPos.top + actualHeight;\n containerPosition.left = pos.left - containerPos.left;\n }\n\n containerPosition.width = element.offsetWidth;\n\n setStyles(that.bsContainer, {\n top: containerPosition.top !== undefined ? containerPosition.top + 'px' : '',\n left: containerPosition.left !== undefined ? containerPosition.left + 'px' : '',\n width: containerPosition.width + 'px'\n });\n };\n\n this._on(this.button, 'click', function () {\n if (that.isDisabled()) {\n return;\n }\n\n getPlacement(that.newElement);\n\n container.appendChild(that.bsContainer);\n that.bsContainer.classList.toggle(classNames.SHOW, !that.button.classList.contains(classNames.SHOW));\n that.bsContainer.appendChild(that.menu);\n });\n\n var windowHandler = function () {\n var isActive = that.newElement.classList.contains(classNames.SHOW);\n\n if (isActive) getPlacement(that.newElement);\n };\n this._replace('selectPositionResize', window, 'resize', windowHandler);\n this._replace('selectPositionScroll', window, 'scroll', windowHandler);\n\n this._on(this.element, 'hide' + EVENT_KEY, function () {\n that._menuHeight = outerHeight(that.menu);\n if (that.bsContainer.parentNode) that.bsContainer.parentNode.removeChild(that.bsContainer);\n });\n }\n\n createOption (data, init) {\n var optionData = !data.option ? data : data.option;\n\n if (optionData && optionData.nodeType !== 1) {\n var option = (init ? elementTemplates.selectedOption : elementTemplates.option).cloneNode(true);\n if (optionData.value !== undefined) option.value = optionData.value;\n option.textContent = optionData.text;\n\n option.selected = true;\n\n if (optionData.liIndex !== undefined) {\n option.liIndex = optionData.liIndex;\n } else if (!init) {\n option.liIndex = data.index;\n }\n\n data.option = option;\n\n this.selectpicker.main.optionQueue.appendChild(option);\n }\n }\n\n setOptionStatus (selectedOnly) {\n var that = this;\n\n that.noScroll = false;\n\n if (that.selectpicker.view.visibleElements && that.selectpicker.view.visibleElements.length) {\n for (var i = 0; i < that.selectpicker.view.visibleElements.length; i++) {\n var liData = that.selectpicker.current.data[i + that.selectpicker.view.position0],\n option = liData.option;\n\n if (option) {\n if (selectedOnly !== true) {\n that.setDisabled(liData);\n }\n\n that.setSelected(liData);\n }\n }\n\n // append optionQueue (documentFragment with option elements for select options)\n if (this.options.source.data) this.element.appendChild(this.selectpicker.main.optionQueue);\n }\n }\n\n /**\n * @param {Object} liData - the option object that is being changed\n * @param {boolean} selected - true if the option is being selected, false if being deselected\n */\n setSelected (liData, selected) {\n selected = selected === undefined ? liData.selected : selected;\n\n var li = liData.element,\n activeElementIsSet = this.activeElement !== undefined,\n thisIsActive = this.activeElement === li,\n prevActive,\n a,\n keepActive = thisIsActive || (selected && !this.multiple && !activeElementIsSet);\n\n if (selected !== undefined) {\n liData.selected = selected;\n if (liData.option) liData.option.selected = selected;\n }\n\n if (selected && this.options.source.data) {\n this.createOption(liData, false);\n }\n\n if (!li) return;\n\n a = li.firstChild;\n\n if (selected) {\n this.selectedElement = li;\n }\n\n li.classList.toggle('selected', selected);\n\n if (keepActive) {\n this.focusItem(li, liData);\n this.selectpicker.view.currentActive = li;\n this.activeElement = li;\n } else {\n this.defocusItem(li);\n }\n\n if (a) {\n a.classList.toggle('selected', selected);\n\n if (selected) {\n a.setAttribute('aria-selected', true);\n } else {\n if (this.multiple) {\n a.setAttribute('aria-selected', false);\n } else {\n a.removeAttribute('aria-selected');\n }\n }\n }\n\n if (!keepActive && !activeElementIsSet && selected && this.prevActiveElement !== undefined) {\n prevActive = this.prevActiveElement;\n\n this.defocusItem(prevActive);\n }\n }\n\n /**\n * @param {Object} liData - the option that is being disabled\n */\n setDisabled (liData) {\n var disabled = liData.disabled,\n li = liData.element,\n a;\n\n if (!li) return;\n\n a = li.firstChild;\n\n li.classList.toggle(classNames.DISABLED, disabled);\n\n if (a) {\n a.classList.toggle(classNames.DISABLED, disabled);\n\n if (disabled) {\n a.setAttribute('aria-disabled', disabled);\n a.setAttribute('tabindex', -1);\n } else {\n a.removeAttribute('aria-disabled');\n a.setAttribute('tabindex', 0);\n }\n }\n }\n\n isDisabled () {\n return this.element.disabled;\n }\n\n checkDisabled () {\n if (this.isDisabled()) {\n this.newElement.classList.add(classNames.DISABLED);\n this.button.classList.add(classNames.DISABLED);\n this.button.setAttribute('aria-disabled', true);\n } else {\n if (this.button.classList.contains(classNames.DISABLED)) {\n this.newElement.classList.remove(classNames.DISABLED);\n this.button.classList.remove(classNames.DISABLED);\n this.button.setAttribute('aria-disabled', false);\n }\n }\n }\n\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n clickListener () {\n var that = this;\n\n spaceSelectFlag = false;\n\n this._on(this.button, 'keyup', function (e) {\n if (/(32)/.test(e.keyCode.toString(10)) && spaceSelectFlag) {\n e.preventDefault();\n spaceSelectFlag = false;\n }\n });\n\n function clearSelection (e) {\n if (that.multiple) {\n that.deselectAll();\n } else {\n var element = that.element,\n prevValue = element.value,\n prevIndex = element.selectedIndex,\n prevOption = element.options[prevIndex],\n prevData = prevOption ? that.selectpicker.main.data[prevOption.liIndex] : false;\n\n if (prevData) {\n that.setSelected(prevData, false);\n }\n\n element.selectedIndex = 0;\n\n changedArguments = [prevIndex, false, prevValue];\n triggerNative(that.element, 'change');\n }\n\n // remove selected styling if menu is open\n if (that.newElement.classList.contains(classNames.SHOW)) {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n }\n\n that.createView(false);\n }\n }\n\n if (this.options.allowClear) {\n this._on(this.button, 'click', function (e) {\n var target = e.target,\n clearButton = that.clearButton;\n\n if (target === clearButton || target.parentElement === clearButton) {\n e.stopImmediatePropagation();\n clearSelection(e);\n }\n });\n }\n\n function setFocus () {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.menuInner.focus();\n }\n }\n\n function checkPopperExists () {\n if (that.dropdown && that.dropdown._popper && that.dropdown._popper.state) {\n setFocus();\n } else {\n requestAnimationFrame(checkPopperExists);\n }\n }\n\n this._on(this.element, 'shown' + EVENT_KEY, function () {\n if (that.menuInner.scrollTop !== that.selectpicker.view.scrollTop) {\n that.menuInner.scrollTop = that.selectpicker.view.scrollTop;\n }\n\n requestAnimationFrame(checkPopperExists);\n });\n\n // ensure posinset and setsize are correct before selecting an option via a click\n this._delegate(this.menuInner, 'mouseover', 'li a', function () {\n var hoverLi = this.parentElement,\n position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0,\n index = Array.prototype.indexOf.call(hoverLi.parentElement.children, hoverLi),\n hoverData = that.selectpicker.current.data[index + position0];\n\n that.focusItem(hoverLi, hoverData, true);\n });\n\n this._delegate(this.menuInner, 'click', 'li a', function (e) {\n that.onOptionClick(this, e);\n });\n\n this._delegate(this.menu, 'click', 'li.' + classNames.DISABLED + ' a, .' + classNames.POPOVERHEADER + ', .' + classNames.POPOVERHEADER + ' :not(.btn-close):not(.close)', function (e) {\n if (e.currentTarget === this || e.target === this) {\n e.preventDefault();\n e.stopPropagation();\n if (that.options.liveSearch && !e.target.classList.contains('btn-close') && !e.target.classList.contains('close')) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n }\n });\n\n this._delegate(this.menuInner, 'click', '.divider, .dropdown-header', function (e) {\n e.preventDefault();\n e.stopPropagation();\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n });\n\n this._delegate(this.menu, 'click', '.' + classNames.POPOVERHEADER + ' .btn-close, .' + classNames.POPOVERHEADER + ' .close', function () {\n that.dropdown.hide();\n });\n\n this._delegate(this.newElement, 'click', '.bs-selected-item', function (e) {\n e.preventDefault();\n e.stopPropagation();\n that.removeSelectedTag(this.getAttribute('data-option-value'));\n });\n\n this._delegate(this.menu, 'click', '.bs-create-option', function (e) {\n e.preventDefault();\n e.stopPropagation();\n that.createOpenOption(this.getAttribute('data-search-value'));\n });\n\n if (this.searchbox) {\n this._on(this.searchbox, 'click', function (e) {\n e.stopPropagation();\n });\n }\n\n this._delegate(this.menu, 'click', '.actions-btn', function (e) {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (this.classList.contains('bs-select-all')) {\n that.selectAll();\n } else {\n that.deselectAll();\n }\n });\n\n this._on(this.button, 'focus', function (e) {\n var tabindex = that.element.getAttribute('tabindex');\n\n // only change when button is actually focused\n if (tabindex !== undefined && tabindex !== null && e.isTrusted) {\n // apply select element's tabindex to ensure correct order is followed when tabbing to the next element\n this.setAttribute('tabindex', tabindex);\n // set element's tabindex to -1 to allow for reverse tabbing\n that.element.setAttribute('tabindex', -1);\n that.selectpicker.view.tabindex = tabindex;\n }\n });\n\n this._on(this.button, 'blur', function (e) {\n // revert everything to original tabindex\n if (that.selectpicker.view.tabindex !== undefined && e.isTrusted) {\n that.element.setAttribute('tabindex', that.selectpicker.view.tabindex);\n this.setAttribute('tabindex', -1);\n that.selectpicker.view.tabindex = undefined;\n }\n });\n\n this._on(this.element, 'change', function () {\n that.render();\n that._emit('changed', changedArguments ? {\n clickedIndex: changedArguments[0],\n isSelected: changedArguments[1],\n previousValue: changedArguments[2]\n } : null);\n changedArguments = null;\n });\n\n this._on(this.element, 'focus', function () {\n if (!that.options.mobile) that.button.focus();\n });\n }\n\n onOptionClick (clickedAnchor, e, retainActive) {\n var that = this,\n element = that.element,\n li = clickedAnchor.parentElement,\n position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0,\n clickedData = that.selectpicker.current.data[Array.prototype.indexOf.call(li.parentElement.children, li) + position0],\n clickedElement = clickedData.element,\n prevValue = getSelectValues.call(that),\n prevIndex = element.selectedIndex,\n prevOption = element.options[prevIndex],\n prevData = prevOption ? that.selectpicker.main.data[prevOption.liIndex] : false,\n triggerChange = true;\n\n // Don't close on multi choice menu\n if (that.multiple && that.options.maxOptions !== 1) {\n e.stopPropagation();\n }\n\n e.preventDefault();\n\n // Don't run if the select is disabled\n if (!that.isDisabled() && !li.classList.contains(classNames.DISABLED)) {\n var option = clickedData.option,\n state = option.selected,\n optgroupData = that.selectpicker.current.data.find(function (datum) {\n return datum.optID === clickedData.optID && datum.type === 'optgroup-label';\n }),\n optgroup = optgroupData ? optgroupData.optgroup : undefined,\n dataGetter = optgroup instanceof Element ? getOptionData.fromOption : getOptionData.fromDataSource,\n optgroupOptions = optgroup && optgroup.children,\n maxOptions = parseInt(that.options.maxOptions),\n maxOptionsGrp = optgroup && parseInt(dataGetter(optgroup, 'maxOptions')) || false;\n\n if (clickedElement === that.activeElement) retainActive = true;\n\n if (!retainActive) {\n that.prevActiveElement = that.activeElement;\n that.activeElement = undefined;\n }\n\n if (!that.multiple || maxOptions === 1) { // Deselect previous option if not multi select\n if (prevData) that.setSelected(prevData, false);\n that.setSelected(clickedData, true);\n } else { // Toggle the clicked option if multi select.\n that.setSelected(clickedData, !state);\n that.focusedParent.focus();\n\n if (maxOptions !== false || maxOptionsGrp !== false) {\n var maxReached = maxOptions < getSelectedOptions.call(that).length,\n selectedGroupOptions = 0;\n\n if (optgroup && optgroup.children) {\n for (var i = 0; i < optgroup.children.length; i++) {\n if (optgroup.children[i].selected) selectedGroupOptions++;\n }\n }\n\n var maxReachedGrp = maxOptionsGrp < selectedGroupOptions;\n\n if ((maxOptions && maxReached) || (maxOptionsGrp && maxReachedGrp)) {\n if (maxOptions && maxOptions === 1) {\n element.selectedIndex = -1;\n that.setOptionStatus(true);\n } else if (maxOptionsGrp && maxOptionsGrp === 1) {\n for (var j = 0; j < optgroupOptions.length; j++) {\n var _option = optgroupOptions[j];\n that.setSelected(that.selectpicker.current.data[_option.liIndex], false);\n }\n\n that.setSelected(clickedData, true);\n } else {\n var maxOptionsText = typeof that.options.maxOptionsText === 'string' ? [that.options.maxOptionsText, that.options.maxOptionsText] : that.options.maxOptionsText,\n maxOptionsArr = typeof maxOptionsText === 'function' ? maxOptionsText(maxOptions, maxOptionsGrp) : maxOptionsText,\n maxTxt = maxOptionsArr[0].replace('{n}', maxOptions),\n maxTxtGrp = maxOptionsArr[1].replace('{n}', maxOptionsGrp),\n notify = createFromHTML('
    ');\n\n that.menu.appendChild(notify);\n\n if (maxOptions && maxReached) {\n notify.appendChild(createFromHTML('
    ' + maxTxt + '
    '));\n triggerChange = false;\n that._emit('maxReached');\n }\n\n if (maxOptionsGrp && maxReachedGrp) {\n notify.appendChild(createFromHTML('
    ' + maxTxtGrp + '
    '));\n triggerChange = false;\n that._emit('maxReachedGrp');\n }\n\n setTimeout(function () {\n that.setSelected(clickedData, false);\n }, 10);\n\n notify.classList.add('fadeOut');\n\n setTimeout(function () {\n notify.remove();\n }, 1050);\n }\n }\n }\n }\n\n if (that.options.source.data) that.element.appendChild(that.selectpicker.main.optionQueue);\n\n if (!that.multiple || (that.multiple && that.options.maxOptions === 1)) {\n that.button.focus();\n } else if (that.options.liveSearch) {\n that.searchbox.focus();\n }\n\n // Trigger select 'change'\n if (triggerChange) {\n if (that.multiple || prevIndex !== element.selectedIndex) {\n changedArguments = [option.index, option.selected, prevValue];\n triggerNative(that.element, 'change');\n }\n }\n }\n }\n\n liveSearchListener () {\n var that = this;\n\n this._on(this.searchbox, 'click', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'focus', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'touchend', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'keydown', function (e) {\n if (e.key === 'Enter' && that.createOptionButton && !that.createOptionButton.hidden && !that.selectpicker.current.data.length) {\n e.preventDefault();\n e.stopPropagation();\n that.createOpenOption(that.searchbox.value);\n }\n });\n\n this._on(this.searchbox, 'input', function () {\n var searchValue = that.searchbox.value;\n\n that.selectpicker.search.elements = [];\n that.selectpicker.search.data = [];\n\n if (searchValue) {\n that.selectpicker.search.previousValue = searchValue;\n\n if (that.options.source.search) {\n that.fetchData(function () {\n that.appendCreatedSearchResults(searchValue);\n that.render();\n that.buildList(undefined, true);\n that.noScroll = true;\n that.menuInner.scrollTop = 0;\n that.createView(true);\n showNoResults.call(that, that.selectpicker.search.data, searchValue);\n }, 'search', 0, searchValue);\n } else {\n var searchMatch = [],\n q = searchValue.toUpperCase(),\n cache = {},\n cacheArr = [],\n searchStyle = that._searchStyle(),\n normalizeSearch = that.options.liveSearchNormalize;\n\n if (normalizeSearch) q = normalizeToBase(q);\n\n for (var i = 0; i < that.selectpicker.main.data.length; i++) {\n var li = that.selectpicker.main.data[i];\n\n if (!cache[i]) {\n cache[i] = stringSearch(li, q, searchStyle, normalizeSearch);\n }\n\n if (cache[i] && li.headerIndex !== undefined && cacheArr.indexOf(li.headerIndex) === -1) {\n if (li.headerIndex > 0) {\n cache[li.headerIndex - 1] = true;\n cacheArr.push(li.headerIndex - 1);\n }\n\n cache[li.headerIndex] = true;\n cacheArr.push(li.headerIndex);\n\n cache[li.lastIndex + 1] = true;\n }\n\n if (cache[i] && li.type !== 'optgroup-label') cacheArr.push(i);\n }\n\n for (var j = 0, cacheLen = cacheArr.length; j < cacheLen; j++) {\n var index = cacheArr[j],\n prevIndex = cacheArr[j - 1],\n liData = that.selectpicker.main.data[index],\n liPrev = that.selectpicker.main.data[prevIndex];\n\n if (liData.type !== 'divider' || (liData.type === 'divider' && liPrev && liPrev.type !== 'divider' && cacheLen - 1 !== j)) {\n that.selectpicker.search.data.push(liData);\n searchMatch.push(that.selectpicker.main.elements[index]);\n }\n }\n\n that.activeElement = undefined;\n that.noScroll = true;\n that.menuInner.scrollTop = 0;\n that.selectpicker.search.elements = searchMatch;\n that.createView(true);\n showNoResults.call(that, searchMatch, searchValue);\n }\n } else if (that.selectpicker.search.previousValue) {\n that.menuInner.scrollTop = 0;\n that.createView(false);\n }\n\n that.syncOpenOptionButton();\n });\n }\n\n _searchStyle () {\n return this.options.liveSearchStyle || 'contains';\n }\n\n getValue () {\n var element = this.element;\n\n if (this.multiple) {\n var values = [];\n for (var i = 0; i < element.options.length; i++) {\n if (element.options[i].selected) values.push(element.options[i].value);\n }\n return values;\n }\n\n return element.value;\n }\n\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n val (value) {\n var element = this.element;\n\n if (typeof value !== 'undefined') {\n var selectedOptions = getSelectedOptions.call(this),\n prevValue = getSelectValues.call(this, selectedOptions);\n\n changedArguments = [null, null, prevValue];\n\n if (!Array.isArray(value)) value = [ value ];\n\n value.map(String);\n\n for (var i = 0; i < selectedOptions.length; i++) {\n var item = selectedOptions[i];\n\n if (item && value.indexOf(String(item.value)) === -1) {\n this.setSelected(item, false);\n }\n }\n\n // only update selected value if it matches an existing option\n this.selectpicker.main.data.filter(function (item) {\n if (value.indexOf(String(item.value)) !== -1) {\n this.setSelected(item, true);\n return true;\n }\n\n return false;\n }, this);\n\n if (this.options.source.data) element.appendChild(this.selectpicker.main.optionQueue);\n\n this._emit('changed', changedArguments ? {\n clickedIndex: changedArguments[0],\n isSelected: changedArguments[1],\n previousValue: changedArguments[2]\n } : null);\n\n if (this.newElement.classList.contains(classNames.SHOW)) {\n if (this.multiple) {\n this.setOptionStatus(true);\n } else {\n var liSelectedIndex = (element.options[element.selectedIndex] || {}).liIndex;\n\n if (typeof liSelectedIndex === 'number') {\n this.setSelected(this.selectpicker.current.data[liSelectedIndex], true);\n }\n }\n }\n\n this.render();\n\n changedArguments = null;\n\n return this.element;\n } else {\n return this.getValue();\n }\n }\n\n changeAll (status) {\n if (!this.multiple) return;\n if (typeof status === 'undefined') status = true;\n\n var element = this.element,\n previousSelected = 0,\n currentSelected = 0,\n prevValue = getSelectValues.call(this);\n\n element.classList.add('bs-select-hidden');\n\n for (var i = 0, data = this.selectpicker.current.data, len = data.length; i < len; i++) {\n var liData = data[i],\n option = liData.option;\n\n if (option && !liData.disabled && liData.type !== 'divider') {\n if (liData.selected) previousSelected++;\n option.selected = status;\n liData.selected = status;\n if (status === true) currentSelected++;\n }\n }\n\n element.classList.remove('bs-select-hidden');\n\n if (previousSelected === currentSelected) return;\n\n this.setOptionStatus();\n\n changedArguments = [null, null, prevValue];\n\n triggerNative(this.element, 'change');\n }\n\n selectAll () {\n return this.changeAll(true);\n }\n\n deselectAll () {\n return this.changeAll(false);\n }\n\n toggle (e, state) {\n var isActive,\n triggerToggle = state === undefined;\n\n if (e && e.stopPropagation) e.stopPropagation();\n\n if (triggerToggle === false) {\n isActive = this.newElement.classList.contains(classNames.SHOW);\n triggerToggle = (state === true && isActive === false) || (state === false && isActive === true);\n }\n\n if (triggerToggle) this.dropdown.toggle();\n }\n\n open (e) {\n this.toggle(e, true);\n }\n\n close (e) {\n this.toggle(e, false);\n }\n\n _keydown (e, el) {\n var that = this,\n which = e.which || e.keyCode,\n isToggle = el.classList.contains('dropdown-toggle'),\n items = that.findLis(),\n index,\n isActive,\n liActive,\n activeLi,\n offsetVal,\n updateScroll = false,\n downOnTab = which === keyCodes.TAB && !isToggle && !that.options.selectOnTab,\n isArrowKey = REGEXP_ARROW.test(which) || downOnTab,\n scrollTop = that.menuInner.scrollTop,\n isVirtual = that.isVirtual(),\n position0 = isVirtual === true ? that.selectpicker.view.position0 : 0;\n\n // do nothing if a function key is pressed\n if (which >= 112 && which <= 123) return;\n\n isActive = that.menu.classList.contains(classNames.SHOW);\n\n if (\n !isActive &&\n (\n isArrowKey ||\n (which >= 48 && which <= 57) ||\n (which >= 96 && which <= 105) ||\n (which >= 65 && which <= 90)\n )\n ) {\n that.dropdown.show();\n\n if (that.options.liveSearch) {\n that.searchbox.focus();\n return;\n }\n }\n\n if (which === keyCodes.ESCAPE && isActive) {\n e.preventDefault();\n that.dropdown.hide();\n that.button.focus();\n }\n\n if (isArrowKey) { // if up or down\n if (!items.length) return;\n\n liActive = that.activeElement;\n index = liActive ? Array.prototype.indexOf.call(liActive.parentElement.children, liActive) : -1;\n\n if (index !== -1) {\n that.defocusItem(liActive);\n }\n\n if (which === keyCodes.ARROW_UP) { // up\n if (index !== -1) index--;\n if (index + position0 < 0) index += items.length;\n\n if (!that.selectpicker.view.canHighlight[index + position0]) {\n index = that.selectpicker.view.canHighlight.slice(0, index + position0).lastIndexOf(true) - position0;\n if (index === -1) index = items.length - 1;\n }\n } else if (which === keyCodes.ARROW_DOWN || downOnTab) { // down\n index++;\n if (index + position0 >= that.selectpicker.view.canHighlight.length) index = that.selectpicker.view.firstHighlightIndex;\n\n if (!that.selectpicker.view.canHighlight[index + position0]) {\n index = index + 1 + that.selectpicker.view.canHighlight.slice(index + position0 + 1).indexOf(true);\n }\n }\n\n e.preventDefault();\n\n var liActiveIndex = position0 + index;\n\n if (which === keyCodes.ARROW_UP) { // up\n // scroll to bottom and highlight last option\n if (position0 === 0 && index === items.length - 1) {\n that.menuInner.scrollTop = that.menuInner.scrollHeight;\n\n liActiveIndex = that.selectpicker.current.elements.length - 1;\n } else {\n activeLi = that.selectpicker.current.data[liActiveIndex];\n\n // could be undefined if no results exist\n if (activeLi) {\n offsetVal = activeLi.position - activeLi.height;\n\n updateScroll = offsetVal < scrollTop;\n }\n }\n } else if (which === keyCodes.ARROW_DOWN || downOnTab) { // down\n // scroll to top and highlight first option\n if (index === that.selectpicker.view.firstHighlightIndex) {\n that.menuInner.scrollTop = 0;\n\n liActiveIndex = that.selectpicker.view.firstHighlightIndex;\n } else {\n activeLi = that.selectpicker.current.data[liActiveIndex];\n\n // could be undefined if no results exist\n if (activeLi) {\n offsetVal = activeLi.position - that.sizeInfo.menuInnerHeight;\n\n updateScroll = offsetVal > scrollTop;\n }\n }\n }\n\n liActive = that.selectpicker.current.elements[liActiveIndex];\n\n that.activeElement = (that.selectpicker.current.data[liActiveIndex] || {}).element;\n\n that.focusItem(liActive);\n\n that.selectpicker.view.currentActive = liActive;\n\n if (updateScroll) that.menuInner.scrollTop = offsetVal;\n\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n el.focus();\n }\n } else if (\n (!el.matches('input') && !REGEXP_TAB_OR_ESCAPE.test(which)) ||\n (which === keyCodes.SPACE && that.selectpicker.keydown.keyHistory)\n ) {\n var matches = [],\n keyHistory;\n\n e.preventDefault();\n\n that.selectpicker.keydown.keyHistory += keyCodeMap[which];\n\n if (that.selectpicker.keydown.resetKeyHistory.cancel) clearTimeout(that.selectpicker.keydown.resetKeyHistory.cancel);\n that.selectpicker.keydown.resetKeyHistory.cancel = that.selectpicker.keydown.resetKeyHistory.start();\n\n keyHistory = that.selectpicker.keydown.keyHistory;\n\n // if all letters are the same, set keyHistory to just the first character when searching\n if (/^(.)\\1+$/.test(keyHistory)) {\n keyHistory = keyHistory.charAt(0);\n }\n\n // find matches\n for (var i = 0; i < that.selectpicker.current.data.length; i++) {\n var li = that.selectpicker.current.data[i],\n hasMatch;\n\n hasMatch = stringSearch(li, keyHistory, 'startsWith', true);\n\n if (hasMatch && that.selectpicker.view.canHighlight[i]) {\n matches.push(li.element);\n }\n }\n\n if (matches.length) {\n var matchIndex = 0;\n\n Array.prototype.forEach.call(items, function (item) {\n item.classList.remove('active');\n if (item.firstChild) item.firstChild.classList.remove('active');\n });\n\n // either only one key has been pressed or they are all the same key\n if (keyHistory.length === 1) {\n matchIndex = matches.indexOf(that.activeElement);\n\n if (matchIndex === -1 || matchIndex === matches.length - 1) {\n matchIndex = 0;\n } else {\n matchIndex++;\n }\n }\n\n activeLi = that.selectpicker.main.data[that.selectpicker.main.elements.indexOf(matches[matchIndex])];\n\n if (activeLi) {\n if (scrollTop - activeLi.position > 0) {\n offsetVal = activeLi.position - activeLi.height;\n updateScroll = true;\n } else {\n offsetVal = activeLi.position - that.sizeInfo.menuInnerHeight;\n // if the option is already visible at the current scroll position, just keep it the same\n updateScroll = activeLi.position > scrollTop + that.sizeInfo.menuInnerHeight;\n }\n }\n\n liActive = matches[matchIndex];\n\n that.activeElement = liActive;\n\n that.focusItem(liActive);\n\n if (liActive) liActive.firstChild.focus();\n\n if (updateScroll) that.menuInner.scrollTop = offsetVal;\n\n el.focus();\n }\n }\n\n // Select focused option if \"Enter\", \"Spacebar\" or \"Tab\" (when selectOnTab is true) are pressed inside the menu.\n if (\n isActive &&\n (\n (which === keyCodes.SPACE && !that.selectpicker.keydown.keyHistory) ||\n which === keyCodes.ENTER ||\n (which === keyCodes.TAB && that.options.selectOnTab)\n )\n ) {\n if (which !== keyCodes.SPACE) e.preventDefault();\n\n if (!that.options.liveSearch || which !== keyCodes.SPACE) {\n var activeAnchor = that.menuInner.querySelector('.active a');\n if (activeAnchor) that.onOptionClick(activeAnchor, e, true); // retain active class\n el.focus();\n\n if (!that.options.liveSearch) {\n // Prevent screen from scrolling if the user hits the spacebar\n e.preventDefault();\n // Fixes spacebar selection of dropdown items in FF & IE\n spaceSelectFlag = true;\n }\n }\n }\n }\n\n mobile () {\n // ensure mobile is set to true if mobile function is called after init\n this.options.mobile = true;\n this.element.classList.add('mobile-device');\n }\n\n resetMenuData () {\n this.selectpicker.main.data = [];\n this.selectpicker.main.elements = [];\n this.selectpicker.main.hasMore = false;\n this.selectpicker.search.data = [];\n this.selectpicker.search.elements = [];\n this.selectpicker.search.hasMore = false;\n this.selectpicker.current.data = this.selectpicker.main.data;\n this.selectpicker.current.elements = this.selectpicker.main.elements;\n this.selectpicker.current.hasMore = false;\n this.selectpicker.isSearching = false;\n }\n\n refresh () {\n var that = this;\n // update options if data attributes have been changed\n var config = stripRemovedOptions(Object.assign({}, this.options, getAttributesObject(this.element), getDataset(this.element)));\n this.options = config;\n\n if (this.options.source.data) {\n this.render();\n this.buildList();\n } else {\n this.resetMenuData();\n this.fetchData(function () {\n that.render();\n that.buildList();\n });\n }\n\n this.checkDisabled();\n this.setStyle();\n this.setWidth();\n\n this.setSize(true);\n\n this._emit('refreshed');\n }\n\n hide () {\n this.newElement.style.display = 'none';\n }\n\n show () {\n this.newElement.style.display = '';\n }\n\n remove () {\n if (this.newElement.parentNode) this.newElement.parentNode.removeChild(this.newElement);\n instanceMap.delete(this.element);\n }\n\n destroy () {\n // move the select back out of newElement, then remove newElement\n if (this.newElement.parentNode) {\n this.newElement.parentNode.insertBefore(this.element, this.newElement);\n this.newElement.parentNode.removeChild(this.newElement);\n }\n\n if (this.bsContainer) {\n if (this.bsContainer.parentNode) this.bsContainer.parentNode.removeChild(this.bsContainer);\n } else if (this.menu && this.menu.parentNode) {\n this.menu.parentNode.removeChild(this.menu);\n }\n\n if (this.selectpicker.view.titleOption && this.selectpicker.view.titleOption.parentNode) {\n this.selectpicker.view.titleOption.parentNode.removeChild(this.selectpicker.view.titleOption);\n }\n\n // remove all tracked event listeners\n for (var i = 0; i < this._listeners.length; i++) {\n var l = this._listeners[i];\n l.el.removeEventListener(l.type, l.handler, l.options);\n }\n this._listeners = [];\n\n for (var key in this._named) {\n if (Object.prototype.hasOwnProperty.call(this._named, key)) {\n this._removeNamed(key);\n }\n }\n\n if (this.dropdown && typeof this.dropdown.dispose === 'function') {\n this.dropdown.dispose();\n }\n\n this.element.classList.remove('bs-select-hidden', 'selectpicker', 'mobile-device');\n\n instanceMap.delete(this.element);\n }\n}\n\n// stores element -> Selectpicker instance\nvar instanceMap = new WeakMap();\n\nSelectpicker.NAME = 'selectpicker';\nSelectpicker.VERSION = '1.2.0';\n\n// user-provided global defaults (set via Selectpicker.setDefaults, used by i18n files)\nSelectpicker.defaults = null;\n\n// part of this is duplicated in i18n/defaults-en_US.js. Make sure to update both.\nSelectpicker.DEFAULTS = {\n noneSelectedText: 'Nothing selected',\n noneResultsText: 'No results matched {0}',\n countSelectedText: function (numSelected) {\n return (numSelected == 1) ? '{0} item selected' : '{0} items selected';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)',\n (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'\n ];\n },\n selectAllText: 'Select All',\n deselectAllText: 'Deselect All',\n source: {\n pageSize: 40,\n create: null\n },\n chunkSize: 40,\n doneButton: false,\n doneButtonText: 'Close',\n multipleSeparator: ', ',\n style: classNames.BUTTONCLASS,\n size: 'auto',\n placeholder: null,\n allowClear: false,\n selectedTextFormat: 'values',\n width: false,\n hideDisabled: false,\n showSubtext: false,\n showIcon: true,\n showContent: true,\n dropupAuto: true,\n header: false,\n liveSearch: false,\n liveSearchPlaceholder: null,\n liveSearchNormalize: false,\n liveSearchStyle: 'contains',\n openOptions: false,\n openOptionsText: 'Create \"{0}\"',\n selectionIndicator: 'checkmark',\n actionsBox: false,\n iconBase: classNames.ICONBASE,\n tickIcon: classNames.TICKICON,\n showTick: false,\n showSelectedTags: false,\n selectedItemsStyle: 'tags',\n selectedTagRemoveLabel: 'Remove',\n template: {\n caret: ''\n },\n maxOptions: false,\n selectOnTab: true,\n dropdownAlignRight: false,\n virtualScroll: 600,\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist\n};\n\nSelectpicker._buildConfig = function (element, options) {\n options = stripRemovedOptions(options || {});\n\n var dataAttributes = stripRemovedOptions(getDataset(element));\n\n for (var dataAttr in dataAttributes) {\n if (Object.prototype.hasOwnProperty.call(dataAttributes, dataAttr) && DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr];\n }\n }\n\n var userDefaults = stripRemovedOptions(Selectpicker.defaults || {});\n\n var config = Object.assign({}, Selectpicker.DEFAULTS, userDefaults, getAttributesObject(element), dataAttributes, options);\n config.template = Object.assign({}, Selectpicker.DEFAULTS.template, userDefaults.template || {}, dataAttributes.template, options.template);\n config.source = Object.assign({}, Selectpicker.DEFAULTS.source, userDefaults.source || {}, options.source);\n\n return applyLegacyOptions(element, config);\n};\n\nSelectpicker.setDefaults = function (newDefaults) {\n Selectpicker.defaults = stripRemovedOptions(Object.assign({}, Selectpicker.defaults, newDefaults));\n};\n\nSelectpicker.getInstance = function (element) {\n if (typeof element === 'string') element = document.querySelector(element);\n return instanceMap.get(element) || null;\n};\n\nSelectpicker.getOrCreateInstance = function (element, options) {\n if (typeof element === 'string') element = document.querySelector(element);\n if (!element || element.tagName !== 'SELECT') return null;\n\n var instance = instanceMap.get(element);\n\n if (instance) {\n options = stripRemovedOptions(options);\n\n if (options && typeof options === 'object') {\n for (var i in options) {\n if (Object.prototype.hasOwnProperty.call(options, i)) {\n instance.options[i] = options[i];\n }\n }\n }\n\n return instance;\n }\n\n return new Selectpicker(element, typeof options === 'object' ? options : {});\n};\n\n// Runtime wiring lives in js/bootstrap-select.runtime.js so each distribution\n// can choose whether it should expose a browser global or stay module-scoped.\n\n\n/* global Selector, __SELECTPICKER_EXPOSE_GLOBAL__ */\n\n// \nvar KEYDOWN_SELECTOR = '.bootstrap-select [' + Selector.DATA_TOGGLE + '], .bootstrap-select [role=\"listbox\"], .bootstrap-select .bs-searchbox input';\n\nfunction initSelectpickerRuntime (Selectpicker, exposeGlobal) {\n if (typeof window === 'undefined' || typeof document === 'undefined') return;\n\n // Handle keyboard navigation ourselves. This listener runs in the capture\n // phase on `window` so it executes before Bootstrap's `document`-level\n // (capture-phase, delegated) dropdown keydown handler and prevents it from\n // processing bootstrap-select's custom menu (which would otherwise error on\n // relocated/container menus and conflict with our own navigation). This\n // replaces the upstream approach of unbinding Bootstrap's global handler.\n window.addEventListener('keydown', function (e) {\n var target = e.target;\n if (!target || !target.closest) return;\n\n // Any keydown originating inside a bootstrap-select widget (or its\n // relocated menu container) must not reach Bootstrap's dropdown keydown\n // handler.\n var widget = target.closest('.bootstrap-select, .bs-container');\n if (!widget) return;\n\n e.stopImmediatePropagation();\n\n var trigger = target.closest(KEYDOWN_SELECTOR);\n if (!trigger) return;\n\n var instance;\n for (var node = trigger; node; node = node.parentElement) {\n if (node.bootstrapSelectInstance) {\n instance = node.bootstrapSelectInstance;\n break;\n }\n }\n\n if (instance) instance._keydown(e, trigger);\n }, true);\n\n document.addEventListener('focusin', function (e) {\n var target = e.target;\n if (target && target.closest && target.closest(KEYDOWN_SELECTOR)) {\n e.stopPropagation();\n }\n });\n\n function initAll () {\n var selects = document.querySelectorAll('.selectpicker');\n Array.prototype.forEach.call(selects, function (select) {\n Selectpicker.getOrCreateInstance(select);\n });\n }\n\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', initAll);\n } else {\n initAll();\n }\n\n if (exposeGlobal) {\n window.Selectpicker = Selectpicker;\n }\n}\n\ninitSelectpickerRuntime(\n Selectpicker,\n typeof __SELECTPICKER_EXPOSE_GLOBAL__ === 'undefined' ? true : __SELECTPICKER_EXPOSE_GLOBAL__\n);\n// \n\nreturn Selectpicker;\n\n\n}));\n"],"names":[],"mappings":"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AAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC5E,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC5E,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC7D,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC7D,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC7D,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC5E,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC5E,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG;AAC/B,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC5E,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC5E,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC7D,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC7D,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC7D,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC7D,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC3F,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC3F,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG;AAC/B,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;AAC9C,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;AAChC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;AAChC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;AAC5B,CAAC;;AAED;AACA,IAAI,OAAO,GAAG,6CAA6C;;AAE3D;AACA,IAAI,iBAAiB,GAAG,iBAAiB;AACzC,IAAI,qBAAqB,GAAG,iBAAiB;AAC7C,IAAI,mBAAmB,GAAG,iBAAiB;AAC3C,IAAI,yBAAyB,GAAG,iBAAiB;AACjD,IAAI,2BAA2B,GAAG,iBAAiB;AACnD,IAAI,YAAY,GAAG,iBAAiB,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,yBAAyB,GAAG,2BAA2B;;AAE5I;AACA,IAAI,OAAO,GAAG,GAAG,GAAG,YAAY,GAAG,GAAG;;AAEtC,IAAI,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;;AAEtC,SAAS,YAAY,EAAE,GAAG,EAAE;AAC5B,EAAE,OAAO,eAAe,CAAC,GAAG,CAAC;AAC7B;;AAEA,SAAS,eAAe,EAAE,MAAM,EAAE;AAClC,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE;AAC5B,EAAE,OAAO,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;AACjF;;AAEA;AACA,IAAI,SAAS,GAAG;AAChB,EAAE,GAAG,EAAE,OAAO;AACd,EAAE,GAAG,EAAE,MAAM;AACb,EAAE,GAAG,EAAE,MAAM;AACb,EAAE,GAAG,EAAE,QAAQ;AACf,EAAE,GAAG,EAAE,QAAQ;AACf,EAAE,GAAG,EAAE;AACP,CAAC;;AAED,IAAI,aAAa,GAAG,UAAU,GAAG,EAAE;AACnC,EAAE,IAAI,OAAO,GAAG,UAAU,KAAK,EAAE;AACjC,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC;AACrB,EAAE,CAAC;AACH,EAAE,IAAI,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG;AACvD,EAAE,IAAI,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;AACjC,EAAE,IAAI,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;AACzC,EAAE,OAAO,UAAU,MAAM,EAAE;AAC3B,IAAI,MAAM,GAAG,MAAM,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM;AAC9C,IAAI,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,MAAM;AACpF,EAAE,CAAC;AACH,CAAC;;AAED,IAAI,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC;AACzC;;;AAGA;AACA;;AAEA;AACA,IAAI,UAAU,GAAG;AACjB,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG;AACxE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG;AACpC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG;AACxE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG;AACxE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG;AACxE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG;AAClB,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAClE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC3B,CAAC;;AAED,IAAI,QAAQ,GAAG;AACf,EAAE,MAAM,EAAE,EAAE;AACZ,EAAE,KAAK,EAAE,EAAE;AACX,EAAE,KAAK,EAAE,EAAE;AACX,EAAE,GAAG,EAAE,CAAC;AACR,EAAE,QAAQ,EAAE,EAAE;AACd,EAAE,UAAU,EAAE;AACd,CAAC;;AAED,IAAI,QAAQ,GAAG,CAAC;;AAEhB,IAAI,SAAS,GAAG,YAAY;;AAE5B;AACA,IAAI,UAAU,GAAG;AACjB,EAAE,QAAQ,EAAE,UAAU;AACtB,EAAE,OAAO,EAAE,kBAAkB;AAC7B,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,IAAI,EAAE,eAAe;AACvB,EAAE,OAAO,EAAE,mBAAmB;AAC9B,EAAE,WAAW,EAAE,WAAW;AAC1B,EAAE,aAAa,EAAE,gBAAgB;AACjC,EAAE,QAAQ,EAAE,EAAE;AACd,EAAE,QAAQ,EAAE;AACZ,CAAC;;AAED,IAAI,QAAQ,GAAG;AACf,EAAE,IAAI,EAAE,GAAG,GAAG,UAAU,CAAC,IAAI;AAC7B,EAAE,WAAW,EAAE;AACf,CAAC;;AAED,IAAI,gBAAgB,GAAG;AACvB,EAAE,GAAG,EAAE,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AACpC,EAAE,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AACtC,EAAE,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;AAChC,EAAE,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AAC1C,EAAE,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;AAChC,EAAE,EAAE,EAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;AAClC,EAAE,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC/C,EAAE,QAAQ,EAAE,QAAQ,CAAC,sBAAsB,EAAE;AAC7C,EAAE,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,QAAQ;AACzC,CAAC;;AAED,gBAAgB,CAAC,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;AAC1E,gBAAgB,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;;AAE9D,gBAAgB,CAAC,SAAS,GAAG,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;AACjE,gBAAgB,CAAC,SAAS,CAAC,SAAS,GAAG,YAAY;;AAEnD,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC;AACjD,gBAAgB,CAAC,CAAC,CAAC,SAAS,GAAG,eAAe;;AAE9C,gBAAgB,CAAC,OAAO,CAAC,SAAS,GAAG,YAAY;;AAEjD,gBAAgB,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC9D,gBAAgB,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM;;AAExC,gBAAgB,CAAC,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;AAEnE,IAAI,YAAY,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC;AAC5E,IAAI,oBAAoB,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC;;AAElF,IAAI,cAAc,GAAG;AACrB,EAAE,EAAE,EAAE,UAAU,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC5C,IAAI,IAAI,EAAE,GAAG,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;;AAEjD,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,EAAE,EAAE;AAC7D,QAAQ,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;AAC/B,MAAM,CAAC,MAAM;AACb,QAAQ,EAAE,CAAC,SAAS,GAAG,OAAO;AAC9B,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,OAAO;AAChF,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,GAAG,QAAQ,CAAC;;AAEtG,IAAI,OAAO,EAAE;AACb,EAAE,CAAC;;AAEH,EAAE,CAAC,EAAE,UAAU,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;AACtC,IAAI,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;;AAE9C,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE,EAAE;AAChC,QAAQ,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;AAC3B,MAAM,CAAC,MAAM;AACb,QAAQ,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC;AAC/C,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAClH,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;;AAE/C,IAAI,OAAO,CAAC;AACZ,EAAE,CAAC;;AAEH,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,WAAW,EAAE;AACxC,IAAI,IAAI,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC5D,QAAQ,cAAc;AACtB,QAAQ,WAAW;;AAEnB,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE;AACzB,MAAM,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO;AAC7C,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI;;AAE5C,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE;AACxB,QAAQ,IAAI,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;;AAErE;AACA,QAAQ,WAAW,GAAG,CAAC,WAAW,KAAK,IAAI,GAAG,gBAAgB,CAAC,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC;AAC1G,QAAQ,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI;;AAE1E,QAAQ,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC;AAC1D,QAAQ,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC;AACzD,MAAM;;AAEN,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE;AAC3B,QAAQ,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;AAClE,QAAQ,cAAc,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO;AACpD,QAAQ,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC;AAC/C,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,WAAW,KAAK,IAAI,EAAE;AAC9B,MAAM,OAAO,WAAW,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AAChD,QAAQ,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACxE,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC;AACxD,IAAI;;AAEJ,IAAI,OAAO,gBAAgB,CAAC,QAAQ;AACpC,EAAE,CAAC;;AAEH,EAAE,KAAK,EAAE,UAAU,OAAO,EAAE;AAC5B,IAAI,IAAI,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC5D,QAAQ,cAAc;AACtB,QAAQ,WAAW;;AAEnB,IAAI,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO;;AAE3C,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;AACtB,MAAM,IAAI,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;;AAEnE,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC1D,MAAM,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI;;AAExE,MAAM,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC;AACxD,MAAM,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC;AACvD,IAAI;;AAEJ,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE;AACzB,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;AAChE,MAAM,cAAc,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO;AAClD,MAAM,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC;AAC7C,IAAI;;AAEJ,IAAI,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC;;AAEtD,IAAI,OAAO,gBAAgB,CAAC,QAAQ;AACpC,EAAE;AACF,CAAC;;AAED,IAAI,aAAa,GAAG;AACpB,EAAE,UAAU,EAAE,UAAU,MAAM,EAAE,IAAI,EAAE;AACtC,IAAI,IAAI,KAAK;;AAEb,IAAI,QAAQ,IAAI;AAChB,MAAM,KAAK,SAAS;AACpB,QAAQ,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,MAAM;AAC9D,QAAQ;;AAER,MAAM,KAAK,MAAM;AACjB,QAAQ,KAAK,GAAG,MAAM,CAAC,WAAW;AAClC,QAAQ;;AAER,MAAM,KAAK,OAAO;AAClB,QAAQ,KAAK,GAAG,MAAM,CAAC,KAAK;AAC5B,QAAQ;;AAER,MAAM,KAAK,OAAO;AAClB,QAAQ,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO;AACpC,QAAQ;;AAER,MAAM,KAAK,OAAO;AAClB,QAAQ,KAAK,GAAG,MAAM,CAAC,KAAK;AAC5B,QAAQ;;AAER,MAAM;AACN,QAAQ,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;AAChE,QAAQ;AACR;;AAEA,IAAI,OAAO,KAAK;AAChB,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,IAAI,EAAE;AAC1C,IAAI,IAAI,KAAK;;AAEb,IAAI,QAAQ,IAAI;AAChB,MAAM,KAAK,MAAM;AACjB,MAAM,KAAK,OAAO;AAClB,QAAQ,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE;AACjD,QAAQ;;AAER,MAAM;AACN,QAAQ,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;AAC5B,QAAQ;AACR;;AAEA,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,CAAC;;AAED,SAAS,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE;AAClD,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AAC3B,IAAI,gBAAgB,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;AAC3H,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC;AACrE,EAAE;AACF;;AAEA,SAAS,YAAY,EAAE,IAAI,EAAE;AAC7B,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC;AACrE;;AAEA,SAAS,kBAAkB,IAAI;AAC/B,EAAE,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;;AAE3C,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;AAC9D,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;AAClE,EAAE;;AAEF,EAAE,IAAI,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE;AACvD,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,KAAK;AAClE,MAAM,OAAO,IAAI;AACjB,IAAI;;AAEJ,IAAI,OAAO,KAAK;AAChB,EAAE,CAAC,EAAE,IAAI,CAAC;;AAEV;AACA,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;AAChF,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACzD,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK;AACzC,IAAI;;AAEJ,IAAI,eAAe,GAAG,EAAE,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;AACrE,EAAE;;AAEF,EAAE,OAAO,eAAe;AACxB;;AAEA,SAAS,eAAe,EAAE,eAAe,EAAE;AAC3C,EAAE,IAAI,KAAK,GAAG,EAAE;AAChB,MAAM,OAAO,GAAG,eAAe,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;AAChE,MAAM,GAAG;;AAET,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AACtD,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;;AAEpB,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;AACvB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC;AAChE,IAAI;AACJ,EAAE;;AAEF,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACtB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;AAC1C,EAAE;;AAEF,EAAE,OAAO,KAAK;AACd;AACA;;AAEA,IAAI,gBAAgB,GAAG,IAAI;;AAE3B;AACA,IAAI,eAAe,GAAG,KAAK;;AAE3B,IAAI,eAAe,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC;;AAEtF,SAAS,mBAAmB,EAAE,MAAM,EAAE;AACtC,EAAE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,OAAO,MAAM;;AAE1D,EAAE,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC;;AAExC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnD,IAAI,OAAO,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AACrC,EAAE;;AAEF,EAAE,OAAO,MAAM;AACf;;;AAGA;AACA;;AAEA,MAAM,YAAY,CAAC;AACnB,EAAE,WAAW,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE;AACjC,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AAC/C,IAAI;;AAEJ,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE;AAClD,MAAM,MAAM,IAAI,SAAS,CAAC,qDAAqD,CAAC;AAChF,IAAI;;AAEJ,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO;AAC1B,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI;AAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI;AACtB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI;AACpB,IAAI,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;;AAEpE;AACA,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE;AACxB,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;;AAEpB,IAAI,IAAI,CAAC,YAAY,GAAG;AACxB,MAAM,IAAI,EAAE;AACZ,QAAQ,IAAI,EAAE,EAAE;AAChB,QAAQ,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;AAC/D,QAAQ,OAAO,EAAE;AACjB,OAAO;AACP,MAAM,MAAM,EAAE;AACd,QAAQ,IAAI,EAAE,EAAE;AAChB,QAAQ,OAAO,EAAE;AACjB,OAAO;AACP,MAAM,OAAO,EAAE,EAAE;AACjB,MAAM,IAAI,EAAE,EAAE;AACd;AACA,MAAM,mBAAmB,EAAE,EAAE;AAC7B,MAAM,cAAc,EAAE,EAAE;AACxB,MAAM,UAAU,EAAE;AAClB,QAAQ,UAAU,EAAE;AACpB,OAAO;AACP,MAAM,WAAW,EAAE,KAAK;AACxB,MAAM,OAAO,EAAE;AACf,QAAQ,UAAU,EAAE,EAAE;AACtB,QAAQ,eAAe,EAAE;AACzB,UAAU,KAAK,EAAE,MAAM;AACvB,YAAY,OAAO,UAAU,CAAC,MAAM;AACpC,cAAc,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;AACvD,YAAY,CAAC,EAAE,GAAG,CAAC;AACnB,UAAU;AACV;AACA;AACA,KAAK;;AAEL,IAAI,IAAI,CAAC,QAAQ,GAAG,EAAE;;AAEtB,IAAI,IAAI,CAAC,IAAI,EAAE;;AAEf,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;AAClC,EAAE;;AAEF;AACA,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;AACnC,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;AAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACpF,IAAI,OAAO,OAAO;AAClB,EAAE;;AAEF,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;AACnD,IAAI,IAAI,QAAQ,GAAG,UAAU,CAAC,EAAE;AAChC,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC7C,MAAM,IAAI,MAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACzC,QAAQ,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/B,MAAM;AACN,IAAI,CAAC;AACL,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC;AAChD,EAAE;;AAEF,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE;AACvB,IAAI,IAAI,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,GAAG,SAAS,EAAE;AAClD,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,UAAU,EAAE,IAAI;AACtB,MAAM,MAAM,EAAE,MAAM,IAAI;AACxB,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC;AACrC,IAAI,OAAO,KAAK;AAChB,EAAE;;AAEF;AACA,EAAE,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;AAC7C,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AAC1B,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;AAC/C,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;AACjF,EAAE;;AAEF,EAAE,YAAY,CAAC,CAAC,GAAG,EAAE;AACrB,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAC/B,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;AACxE,MAAM,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAC7B,IAAI;AACJ,EAAE;AACF;;AAEA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;AAC5C,QAAQ,OAAO,GAAG,IAAI,CAAC,OAAO;AAC9B,QAAQ,IAAI,GAAG,OAAO,CAAC,IAAI;;AAE3B,IAAI,QAAQ,EAAE;AACd,IAAI,IAAI,CAAC,QAAQ,GAAG,YAAY,GAAG,QAAQ;;AAE3C,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC;;AAE7C,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;AACzC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;;AAE3C,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AACjD,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI;AAClC,IAAI;;AAEJ,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE;;AAE3C;AACA,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC;AACzE,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;;AAErE;AACA,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE;AACvC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,QAAQ;AACrD,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;AAC3C,IAAI;;AAEJ,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC;AAClE,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAA2B,CAAC;AAC1G,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC1E,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;AACtD,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;AACrD,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,sCAAsC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC;AAC/I,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC;;AAE1E,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC;;AAEhD,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY;AAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACvB,MAAM,IAAI,CAAC,SAAS,EAAE;;AAEtB,MAAM,qBAAqB,CAAC,YAAY;AACxC,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC5B,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;;AAE7F,IAAI,IAAI,OAAO,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,IAAI,EAAE;AAClD,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC;AAC7C,IAAI;;AAEJ,IAAI,IAAI,CAAC,aAAa,EAAE;AACxB,IAAI,IAAI,CAAC,aAAa,EAAE;;AAExB,IAAI,IAAI,QAAQ,GAAG,WAAW,EAAE;AAChC,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;;AAE7C;AACA,IAAI,IAAI,CAAC,UAAU,CAAC,uBAAuB,GAAG,IAAI;AAClD,IAAI,IAAI,CAAC,IAAI,CAAC,uBAAuB,GAAG,IAAI;;AAE5C,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACjC,MAAM,IAAI,CAAC,kBAAkB,EAAE;AAC/B,MAAM,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS;AACzC,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS;AACzC,IAAI;;AAEJ,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY;AAC3D,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;AAC5B;AACA,QAAQ,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS;AACtC,YAAY,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;;AAE7D;AACA,QAAQ,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC;AAC/D,QAAQ,SAAS,CAAC,SAAS,GAAG,CAAC;AAC/B,MAAM;AACN,IAAI,CAAC,CAAC;;AAEN;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE;AAC/D,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACxC,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,EAAE,UAAU,CAAC,EAAE;AACjE,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAC1C,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE;AAC/D,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACpB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACxC,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAAE;AAChE,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACzC,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;AAC1C,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY;AACpD,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;;AAE/C,QAAQ,IAAI,cAAc,GAAG,YAAY;AACzC;AACA,UAAU,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC/C,UAAU,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,GAAG,SAAS,EAAE,cAAc,CAAC;AAC/E,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,cAAc,CAAC;;AAEnE,QAAQ,IAAI,UAAU,GAAG,YAAY;AACrC;AACA,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC;AACrF,UAAU,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,GAAG,SAAS,EAAE,UAAU,CAAC;AAC9E,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,EAAE,UAAU,CAAC;;AAElE,QAAQ,IAAI,MAAM,GAAG,YAAY;AACjC,UAAU,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AAC9B,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAC7B,UAAU,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC;AACrE,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC;AACzD,MAAM,CAAC,CAAC;AACR,IAAI;;AAEJ,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY;AAC1C,QAAQ,qBAAqB,CAAC,YAAY;AAC1C,UAAU,IAAI,CAAC,MAAM,EAAE;AACvB,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,IAAI;AACJ,EAAE;;AAEF,EAAE,cAAc,CAAC,GAAG;AACpB;AACA;AACA,IAAI,IAAI,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,UAAU;AAC/E,QAAQ,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,sBAAsB,IAAI,YAAY,GAAG,EAAE;AACzG,QAAQ,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,qBAAqB,GAAG,EAAE;AACrF,QAAQ,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,MAAM,GAAG,4BAA4B,GAAG,EAAE;AAC3G,QAAQ,kBAAkB,GAAG;AAC7B,aAAa,IAAI,CAAC,QAAQ,GAAG,+BAA+B,GAAG,4BAA4B;AAC3F,YAAY,EAAE;AACd,QAAQ,eAAe,GAAG,IAAI,CAAC,QAAQ,GAAG,8BAA8B,GAAG,EAAE;AAC7E,QAAQ,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,YAAY,GAAG,EAAE;AACtD,QAAQ,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB;;AAElE,IAAI,IAAI,qBAAqB,KAAK,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AACvG,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,QAAQ;AAClE,IAAI;;AAEJ;AACA,IAAI,IAAI,IAAI;AACZ,QAAQ,MAAM,GAAG,EAAE;AACnB,QAAQ,SAAS,GAAG,EAAE;AACtB,QAAQ,UAAU,GAAG,EAAE;AACvB,QAAQ,UAAU,GAAG,EAAE;AACvB,QAAQ,WAAW,GAAG,EAAE;;AAExB,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AAC7B,MAAM,MAAM;AACZ,UAAU,cAAc,GAAG,UAAU,CAAC,aAAa,GAAG,IAAI;AAC1D,YAAY,oCAAoC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS;AAClF,YAAY,sEAAsE;AAClF,UAAU,QAAQ;AAClB,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACjC,MAAM,SAAS;AACf,UAAU,4BAA4B;AACtC,YAAY,8DAA8D;AAC1E;AACA,gBAAgB,qBAAqB,KAAK,IAAI,GAAG;AACjD;AACA,gBAAgB,gBAAgB,GAAG,UAAU,CAAC,qBAAqB,CAAC,GAAG;AACvE,eAAe;AACf,cAAc,sDAAsD,GAAG,IAAI,CAAC,QAAQ,GAAG,6BAA6B;AACpH,aAAa,IAAI,CAAC,OAAO,CAAC;AAC1B,gBAAgB;AAChB,gBAAgB,EAAE,CAAC;AACnB,UAAU,QAAQ;AAClB,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AAClD,MAAM,UAAU;AAChB,UAAU,6BAA6B;AACvC,YAAY,sCAAsC;AAClD,cAAc,6DAA6D,GAAG,UAAU,CAAC,WAAW,GAAG,IAAI;AAC3G,gBAAgB,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,cAAc,WAAW;AACzB,cAAc,+DAA+D,GAAG,UAAU,CAAC,WAAW,GAAG,IAAI;AAC7G,gBAAgB,IAAI,CAAC,OAAO,CAAC,eAAe;AAC5C,cAAc,WAAW;AACzB,YAAY,QAAQ;AACpB,UAAU,QAAQ;AAClB,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AAClD,MAAM,UAAU;AAChB,UAAU,6BAA6B;AACvC,YAAY,yBAAyB;AACrC,cAAc,0CAA0C,GAAG,UAAU,CAAC,WAAW,GAAG,IAAI;AACxF,gBAAgB,IAAI,CAAC,OAAO,CAAC,cAAc;AAC3C,cAAc,WAAW;AACzB,YAAY,QAAQ;AACpB,UAAU,QAAQ;AAClB,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACjC,MAAM,WAAW,GAAG,gDAAgD,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,wBAAwB;AAC9H,IAAI;;AAEJ,IAAI,IAAI;AACR,QAAQ,uCAAuC,GAAG,QAAQ,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,IAAI;AAC9H,UAAU,6CAA6C;AACvD,YAAY,uBAAuB;AACnC,YAAY,QAAQ,CAAC,WAAW;AAChC,YAAY,SAAS;AACrB,YAAY,8BAA8B;AAC1C,YAAY,IAAI,CAAC,QAAQ;AACzB,YAAY,kDAAkD;AAC9D,YAAY,6BAA6B;AACzC,cAAc,mCAAmC;AACjD,gBAAgB,qDAAqD;AACrE,cAAc,SAAS;AACvB,YAAY,QAAQ;AACpB,YAAY,WAAW;AACvB,YAAY,SAAS;AACrB,UAAU,WAAW;AACrB,UAAU,cAAc,GAAG,UAAU,CAAC,IAAI,GAAG,IAAI;AACjD,YAAY,MAAM;AAClB,YAAY,SAAS;AACrB,YAAY,UAAU;AACtB,YAAY,oBAAoB,GAAG,UAAU,CAAC,IAAI,GAAG,uBAAuB,GAAG,IAAI,CAAC,QAAQ,GAAG,kBAAkB,GAAG,eAAe,GAAG,GAAG;AACzI,gBAAgB,aAAa,GAAG,UAAU,CAAC,IAAI,GAAG,SAAS,GAAG,UAAU,CAAC,IAAI,GAAG,wBAAwB;AACxG,gBAAgB,OAAO;AACvB,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,UAAU,QAAQ;AAClB,WAAW,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC;AACzC,cAAc;AACd,cAAc,EAAE,CAAC;AACjB,QAAQ,QAAQ;;AAEhB,IAAI,OAAO,cAAc,CAAC,IAAI,CAAC;AAC/B,EAAE;;;AAGF;AACA;AACA;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACzD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE;AAC/B,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,GAAG,SAAS;AACxD,IAAI;;AAEJ,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC9D,MAAM,IAAI,CAAC,OAAO,EAAE;AACpB,IAAI;AACJ,EAAE;;AAEF,EAAE,eAAe,CAAC,GAAG;AACrB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE;AAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;AACnC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,GAAG,KAAK;;AAEtD,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpE,MAAM,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,UAAU,YAAY,GAAG,IAAI;;AAE7B,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,EAAE;AACjC,QAAQ,YAAY,GAAG,KAAK;AAC5B,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa;AAC/C,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,gBAAgB,EAAE;AAC/C,QAAQ,YAAY,GAAG,KAAK;AAC5B,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB;AACtD,MAAM,CAAC,MAAM;AACb,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ;AAC1C,MAAM;;AAEN,MAAM,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,GAAG,KAAK;;AAE3C,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;;AAE5D,MAAM,IAAI,YAAY,EAAE;AACxB,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE;AACrC,QAAQ,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;AACjD,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,KAAK,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC;AAChH,MAAM;;AAEN,MAAM,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,MAAM;AAC9F,IAAI;AACJ,EAAE;;AAEF,EAAE,SAAS,CAAC,GAAG;AACf,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI;AAC9J,EAAE;;AAEF,EAAE,UAAU,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE;AAC7C,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,SAAS,GAAG,CAAC;;AAErB,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,WAAW;AAC/C,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI;;AAE/F,IAAI,IAAI,CAAC,eAAe,EAAE;;AAE1B,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,IAAI,OAAO,EAAE;AACnB,QAAQ,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS;AAC5C,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACjC,QAAQ,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;AAClC,YAAY,aAAa,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,OAAO;;AAElF,QAAQ,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE;AAC9E,UAAU,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AACvE,cAAc,QAAQ,GAAG,YAAY,IAAI,YAAY,CAAC,QAAQ;;AAE9D,UAAU,IAAI,QAAQ,EAAE;AACxB,YAAY,SAAS,GAAG,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC;AACjG,UAAU;AACV,QAAQ;AACR,MAAM;AACN,IAAI;;AAEJ,IAAI,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;;AAE3B,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY;AAC5E,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;AAC1D,MAAM,IAAI,CAAC,QAAQ,GAAG,KAAK;AAC3B,IAAI,CAAC,CAAC;;AAEN,IAAI,SAAS,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE;AACtC,MAAM,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM;AACtD,UAAU,MAAM,GAAG,EAAE;AACrB,UAAU,SAAS;AACnB,UAAU,UAAU;AACpB,UAAU,UAAU;AACpB,UAAU,SAAS;AACnB,UAAU,YAAY;AACtB,UAAU,aAAa;AACvB,UAAU,mBAAmB;AAC7B,UAAU,gBAAgB;AAC1B,UAAU,eAAe,GAAG,IAAI;AAChC,UAAU,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;;AAEtC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS;;AAElD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AACzC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;;AAEpD,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;AAC3C,QAAQ,IAAI,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS;;AAE5C,QAAQ,IAAI,CAAC,KAAK,UAAU,GAAG,CAAC,EAAE;AAClC,UAAU,UAAU,GAAG,IAAI;AAC3B,QAAQ;;AAER,QAAQ,MAAM,CAAC,CAAC,CAAC,GAAG;AACpB,UAAU,CAAC,CAAC,IAAI,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACxC,UAAU;AACV,SAAS;;AAET,QAAQ,IAAI,CAAC,IAAI,EAAE;;AAEnB,QAAQ,IAAI,YAAY,KAAK,SAAS,IAAI,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;AACpJ,UAAU,YAAY,GAAG,CAAC;AAC1B,QAAQ;AACR,MAAM;;AAEN,MAAM,IAAI,YAAY,KAAK,SAAS,EAAE,YAAY,GAAG,CAAC;;AAEtD,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;;AAE1F;AACA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC;AAChD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC;;AAE5D,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,KAAK,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5G,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,KAAK,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;;AAEjH,MAAM,mBAAmB,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS;;AAE1I,MAAM,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE;AAC5C,QAAQ,IAAI,IAAI,EAAE;AAClB,UAAU,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,eAAe,EAAE;AAC3D,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;AAChD,UAAU;AACV,UAAU,IAAI,CAAC,aAAa,GAAG,SAAS;AACxC,QAAQ;;AAER,QAAQ,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,eAAe,EAAE;AACzD,UAAU,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC;AAChD,QAAQ;AACR,MAAM;;AAEN,MAAM,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,eAAe,EAAE;AACpJ,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC;AAChD,MAAM;;AAEN,MAAM,IAAI,IAAI,IAAI,mBAAmB,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE;AAC5E,QAAQ,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;;AAEvH,QAAQ,IAAI,SAAS,KAAK,KAAK,EAAE;AACjC,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ;AACrF,QAAQ,CAAC,MAAM;AACf,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/J,QAAQ;;AAER,QAAQ,IAAI,CAAC,eAAe,EAAE;;AAE9B;AACA;AACA,QAAQ,IAAI,WAAW,KAAK,SAAS,KAAK,KAAK,IAAI,IAAI,CAAC,EAAE,eAAe,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC;;AAE9I;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,IAAI,SAAS,KAAK,IAAI,KAAK,eAAe,EAAE;AAC7D,UAAU,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS;AACxC,cAAc,YAAY,GAAG,QAAQ,CAAC,sBAAsB,EAAE;AAC9D,cAAc,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;AAC/D,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe;AAC/D,cAAc,UAAU,GAAG,EAAE;;AAE7B;AACA,UAAU,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC;;AAEjE,UAAU,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,kBAAkB,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE;AAC7F,YAAY,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC;AACrC,gBAAgB,MAAM;AACtB,gBAAgB,WAAW;;AAE3B,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AACvC,cAAc,MAAM,GAAG,OAAO,CAAC,SAAS;;AAExC,cAAc,IAAI,MAAM,EAAE;AAC1B,gBAAgB,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;;AAElG,gBAAgB,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;AAClF,kBAAkB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;AACzC,kBAAkB,WAAW,CAAC,SAAS,GAAG,IAAI;AAC9C,gBAAgB;AAChB,cAAc;AACd,YAAY;;AAEZ,YAAY,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC;AAC7C,UAAU;;AAEV,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE;AAC1D,YAAY,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AACrF,UAAU;;AAEV,UAAU,IAAI,SAAS,KAAK,IAAI,EAAE;AAClC,YAAY,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpJ,YAAY,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;;AAEhN,YAAY,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI;AACnE,YAAY,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,GAAG,YAAY,GAAG,IAAI;AACzE,UAAU,CAAC,MAAM;AACjB,YAAY,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC;AACpD,YAAY,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC;AACvD,UAAU;;AAEV,UAAU,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC;;AAExD;AACA,UAAU,IAAI,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;AAChE,YAAY,IAAI,mBAAmB,GAAG,SAAS,CAAC,UAAU,CAAC,WAAW;;AAEtE,YAAY,IAAI,IAAI,IAAI,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;AAC7I,cAAc,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI;AAC5F,YAAY,CAAC,MAAM,IAAI,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE;AAChF;AACA,cAAc,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC;;AAE1C,cAAc,IAAI,eAAe,GAAG,SAAS,CAAC,UAAU,CAAC,WAAW;;AAEpE,cAAc,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE;AACvE,gBAAgB,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,eAAe;AACnE,gBAAgB,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI;AAC9F,cAAc;;AAEd;AACA,cAAc,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE;AAC3C,YAAY;AACZ,UAAU;AACV,QAAQ;;AAER,QAAQ,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAI,YAAY,KAAK,UAAU,GAAG,CAAC,EAAE;AAC7K;AACA;AACA,UAAU,IAAI,SAAS,GAAG,CAAC,EAAE;AAC7B;AACA,YAAY,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;;AAE7G,YAAY,IAAI,CAAC,SAAS,CAAC,YAAY;AACvC,cAAc,IAAI,CAAC,MAAM,EAAE;AAC3B,cAAc,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC;AAC/C,cAAc,IAAI,CAAC,eAAe,EAAE;AACpC,cAAc,MAAM,CAAC,SAAS,CAAC;AAC/B,YAAY,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,GAAG,SAAS,CAAC;AACvH,UAAU;AACV,QAAQ;AACR,MAAM;;AAEN,MAAM,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa;;AAEjD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACpC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9B,MAAM,CAAC,MAAM,IAAI,WAAW,IAAI,IAAI,EAAE;AACtC,QAAQ,IAAI,KAAK,GAAG,CAAC;AACrB,YAAY,SAAS;;AAErB,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;AACzD,UAAU,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AAChF,QAAQ;;AAER,QAAQ,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;;AAEjE,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;;AAE9D,QAAQ,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO;;AAElF,QAAQ,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;AACjC,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY;AACpE,MAAM,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;;AAExE,MAAM,IAAI,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;AACpD,IAAI,CAAC,CAAC;AACN,EAAE;;AAEF,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;AAClC,IAAI,IAAI,EAAE,EAAE;AACZ,MAAM,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACvH,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU;;AAE3B,MAAM,IAAI,CAAC,EAAE;AACb,QAAQ,CAAC,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;AACnE,QAAQ,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC;;AAExD,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE;AAC9B,UAAU,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,uBAAuB,EAAE,CAAC,CAAC,EAAE,CAAC;AACxE,UAAU,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AACpC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AACnC,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,EAAE;;AAEF,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE;AACnB,IAAI,IAAI,EAAE,EAAE;AACZ,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AACnC,MAAM,IAAI,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AACjE,IAAI;AACJ,EAAE;;AAEF,EAAE,cAAc,CAAC,GAAG;AACpB,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,WAAW,GAAG,KAAK;;AAE3B,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;AACjF,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;;AAEpH;AACA;AACA,MAAM,WAAW,GAAG,IAAI;;AAExB,MAAM,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;AAChC,UAAU,iBAAiB,GAAG,KAAK;AACnC,UAAU,gBAAgB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU;AAC3E,UAAU,aAAa,GAAG,OAAO,CAAC,aAAa;AAC/C,UAAU,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;AACzD,UAAU,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC;AAC9E,UAAU,oBAAoB,GAAG,eAAe,GAAG,eAAe,CAAC,KAAK,GAAG,CAAC;AAC5E,UAAU,UAAU,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC;AAC9F;AACA,UAAU,gBAAgB,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;;AAEjJ,MAAM,IAAI,gBAAgB,EAAE;AAC5B;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,iBAAiB;AACxE,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;;AAErD;AACA,QAAQ,iBAAiB,GAAG,CAAC,cAAc,KAAK,aAAa,KAAK,oBAAoB,IAAI,cAAc,CAAC,eAAe,KAAK,KAAK,CAAC;AACnI,MAAM;;AAEN,MAAM,IAAI,gBAAgB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,EAAE;AAC9E,QAAQ,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC;AACpF,MAAM;;AAEN;AACA,MAAM,IAAI,iBAAiB,IAAI,gBAAgB,EAAE;AACjD,QAAQ,OAAO,CAAC,aAAa,GAAG,CAAC;AACjC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE;AACrD;AACA;AACA,QAAQ,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,YAAY;AACxD,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,KAAK,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;AACpF,QAAQ,CAAC,CAAC;AACV,MAAM;AACN,IAAI;;AAEJ,IAAI,OAAO,WAAW;AACtB,EAAE;;;;AAIF;AACA;AACA,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;AAChD,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC;AACpB,IAAI,IAAI,GAAG,IAAI,IAAI,MAAM;;AAEzB,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;AACxC,QAAQ,SAAS;;AAEjB,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI;;AAEvC,MAAM,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;AACtC,QAAQ,IAAI,CAAC,IAAI;AACjB,UAAU,IAAI;AACd,UAAU,UAAU,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;AAC5C,YAAY,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAClF,YAAY,OAAO,CAAC,OAAO,GAAG,IAAI;AAClC,YAAY,OAAO,CAAC,UAAU,GAAG,UAAU;AAC3C,YAAY,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;AAClD,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,YAAY,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;AACjC,UAAU,CAAC;AACX,UAAU,IAAI;AACd,UAAU;AACV,SAAS;AACT,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACtC,QAAQ,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;AAC9C,QAAQ,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;AACtC,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;AAC7C,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;AACpC,IAAI;AACJ,EAAE;;AAEF,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE;AACzB,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,IAAI,IAAI,UAAU,GAAG,IAAI,KAAK,KAAK,GAAG,aAAa,CAAC,UAAU,GAAG,aAAa,CAAC,cAAc;;AAE7F,IAAI,IAAI,cAAc,GAAG,wEAAwE;AACjG,QAAQ,QAAQ,GAAG,EAAE;AACrB,QAAQ,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;AACvF,QAAQ,KAAK,GAAG,CAAC;AACjB,QAAQ,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;;AAE5D,IAAI,IAAI,IAAI,KAAK,QAAQ,EAAE;AAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM;AACrD,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,IAAI,iBAAiB;;AAEtE,IAAI,IAAI,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,GAAG,cAAc,CAAC;;AAE7H,IAAI,SAAS,UAAU,EAAE,MAAM,EAAE;AACjC,MAAM,IAAI,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;;AAEtD;AACA,MAAM;AACN,QAAQ,YAAY;AACpB,UAAU,YAAY,CAAC,IAAI,KAAK,SAAS;AACzC,WAAW,YAAY,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;AAC7C,QAAQ;AACR,QAAQ;AACR,MAAM;;AAEN,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE;AAC3B,MAAM,MAAM,CAAC,IAAI,GAAG,SAAS;;AAE7B,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAC3B,IAAI;;AAEJ,IAAI,SAAS,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;AACtC,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE;;AAE3B,MAAM,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;;AAElD,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE;AACnC,QAAQ,UAAU,CAAC;AACnB,UAAU,KAAK,EAAE,MAAM,CAAC;AACxB,SAAS,CAAC;AACV,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ;AAChD,YAAY,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;AAC/C,YAAY,WAAW,GAAG,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE;AAC5D,YAAY,WAAW,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,KAAK,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;;AAE/E,QAAQ,IAAI,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,WAAW;;AAE5D,QAAQ,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE;AAC/C,QAAQ,MAAM,CAAC,WAAW,GAAG,WAAW;;AAExC,QAAQ,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;AAC9C,QAAQ,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;AAChD,QAAQ,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;AACpD,QAAQ,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;AAClD,QAAQ,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;AACpD,QAAQ,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;;AAE9C,QAAQ,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI;AACtD,QAAQ,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK;AACxE,QAAQ,MAAM,CAAC,IAAI,GAAG,QAAQ;AAC9B,QAAQ,MAAM,CAAC,KAAK,GAAG,OAAO;;AAE9B,QAAQ,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;AAC1D,QAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO;AACvC,QAAQ,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ;AACzC,QAAQ,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ;;AAE5D,QAAQ,IAAI,IAAI,KAAK,KAAK,EAAE;AAC5B,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AACnE,YAAY,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;AAC/F,UAAU,CAAC,MAAM;AACjB,YAAY,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM;AACxE,UAAU;AACV,QAAQ;;AAER,QAAQ,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7B,MAAM;AACN,IAAI;;AAEJ,IAAI,SAAS,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE;AAChD,MAAM,IAAI,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC;AACzC;AACA,UAAU,QAAQ,GAAG,KAAK,GAAG,CAAC,GAAG,UAAU,GAAG,KAAK,GAAG,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC;AAC9E,UAAU,IAAI,GAAG,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC;AACzC,UAAU,OAAO,GAAG,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,GAAG,cAAc,CAAC;;AAE9H,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;;AAE3B,MAAM,IAAI,MAAM,GAAG;AACnB,YAAY,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC1D,YAAY,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;AACpD,YAAY,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;AAC9C,YAAY,IAAI,EAAE,gBAAgB;AAClC,YAAY,aAAa,EAAE,GAAG,IAAI,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;AAC3D,YAAY,QAAQ,EAAE;AACtB,WAAW;AACX,UAAU,WAAW;AACrB,UAAU,SAAS;;AAEnB,MAAM,KAAK,EAAE;;AAEb,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACpC,MAAM;;AAEN,MAAM,MAAM,CAAC,KAAK,GAAG,KAAK;;AAE1B,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;;AAE3B,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC1D,QAAQ,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;;AAE/B,QAAQ,IAAI,CAAC,KAAK,CAAC,EAAE;AACrB,UAAU,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC;AAC3C,UAAU,SAAS,GAAG,WAAW,GAAG,GAAG;AACvC,QAAQ;;AAER,QAAQ,SAAS,CAAC,MAAM,EAAE;AAC1B,UAAU,WAAW,EAAE,WAAW;AAClC,UAAU,SAAS,EAAE,SAAS;AAC9B,UAAU,KAAK,EAAE,MAAM,CAAC,KAAK;AAC7B,UAAU,aAAa,EAAE,MAAM,CAAC,aAAa;AAC7C,UAAU,QAAQ,EAAE,QAAQ,CAAC;AAC7B,SAAS,CAAC;AACV,MAAM;;AAEN,MAAM,IAAI,IAAI,EAAE;AAChB,QAAQ,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACpC,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,IAAI;;AAEZ,IAAI,KAAK,IAAI,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AACvE,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC;AAC7B,MAAM,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ;;AAElC,MAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;AACvC,QAAQ,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC;AAChD,MAAM,CAAC,MAAM;AACb,QAAQ,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AACtC,MAAM;AACN,IAAI;;AAEJ,IAAI,QAAQ,IAAI;AAChB,MAAM,KAAK,MAAM,EAAE;AACnB,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE;AAC1C,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE;AAC1C,QAAQ;AACR,QAAQ,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACzE,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;AACpE,QAAQ;AACR,MAAM;AACN,MAAM,KAAK,QAAQ,EAAE;AACrB,QAAQ,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;AAC3E,QAAQ;AACR,MAAM;AACN;;AAEA,IAAI,OAAO,QAAQ;AACnB,EAAE;;AAEF,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE;AAC9B,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;AAC5F,QAAQ,YAAY,GAAG,EAAE;AACzB,QAAQ,kBAAkB,GAAG,CAAC;;AAE9B,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,UAAU,EAAE;AAClG,MAAM,gBAAgB,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK;AACjF,UAAU;AACV,UAAU,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,aAAa;;AAE7E,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAU,EAAE;AAClD,QAAQ,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC;AAClE,MAAM;AACN,IAAI;;AAEJ,IAAI,SAAS,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE;AAC/C,MAAM,IAAI,SAAS;AACnB,UAAU,cAAc,GAAG,CAAC;;AAE5B,MAAM,QAAQ,IAAI,CAAC,IAAI;AACvB,QAAQ,KAAK,SAAS;AACtB,UAAU,SAAS,GAAG,cAAc,CAAC,EAAE;AACvC,YAAY,KAAK;AACjB,YAAY,UAAU,CAAC,OAAO;AAC9B,aAAa,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,SAAS;AACxD,WAAW;;AAEX,UAAU;;AAEV,QAAQ,KAAK,QAAQ;AACrB,UAAU,SAAS,GAAG,cAAc,CAAC,EAAE;AACvC,YAAY,cAAc,CAAC,CAAC;AAC5B,cAAc,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AAClD,cAAc,IAAI,CAAC,WAAW;AAC9B,cAAc,IAAI,CAAC;AACnB,aAAa;AACb,YAAY,EAAE;AACd,YAAY,IAAI,CAAC;AACjB,WAAW;;AAEX,UAAU,IAAI,SAAS,CAAC,UAAU,EAAE;AACpC,YAAY,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK;AACtE,UAAU;;AAEV,UAAU;;AAEV,QAAQ,KAAK,gBAAgB;AAC7B,UAAU,SAAS,GAAG,cAAc,CAAC,EAAE;AACvC,YAAY,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AACjD,YAAY,iBAAiB,GAAG,IAAI,CAAC,aAAa;AAClD,YAAY,IAAI,CAAC;AACjB,WAAW;;AAEX,UAAU;AACV;;AAEA,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,GAAG,KAAK;;AAE9C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,SAAS;AAChC,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS;AACpD,MAAM;AACN,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;;AAErC;AACA,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;AAC7D,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;AAC7D;AACA,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,cAAc,IAAI,CAAC;;AAExC,MAAM,IAAI,cAAc,GAAG,kBAAkB,EAAE;AAC/C,QAAQ,kBAAkB,GAAG,cAAc;;AAE3C;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;AACnF,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,UAAU,GAAG,IAAI,IAAI,CAAC;;AAE9B,IAAI,KAAK,IAAI,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AACpE,MAAM,IAAI,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC;;AAE9B,MAAM,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC;AACtC,IAAI;;AAEJ,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,IAAI,SAAS,EAAE;AACrB,QAAQ,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;AACnF,MAAM,CAAC,MAAM;AACb,QAAQ,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;AACjF,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ;AAC5E,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,SAAS,EAAE;AACrB,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,GAAG,YAAY;AACxD,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,GAAG,YAAY;AAC3F,MAAM;AACN,IAAI;AACJ,EAAE;;;AAGF;AACA;AACA,EAAE,OAAO,CAAC,GAAG;AACb,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC;AACzD,EAAE;;AAEF,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE;AAChB,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,OAAO,GAAG,IAAI,CAAC,OAAO;AAC9B;AACA,QAAQ,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,OAAO,CAAC,aAAa,KAAK,CAAC;AAClF,QAAQ,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;AACvD,QAAQ,aAAa,GAAG,eAAe,CAAC,MAAM;AAC9C,QAAQ,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC;AACpE,QAAQ,MAAM,GAAG,IAAI,CAAC,MAAM;AAC5B,QAAQ,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,4BAA4B,CAAC;AACxE,QAAQ,iBAAiB,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;AACnF,QAAQ,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;AAClE,QAAQ,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,aAAa,GAAG,CAAC;AACxF,QAAQ,SAAS;AACjB,QAAQ,QAAQ;AAChB,QAAQ,UAAU,GAAG,KAAK;;AAE1B,IAAI,SAAS,cAAc,EAAE,IAAI,EAAE;AACnC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;AACzB,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;AACrC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACxD,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC;AACzC,MAAM;AACN,IAAI;;AAEJ;AACA,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;AAC1C,MAAM,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC;AACzC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;;AAE7D,MAAM,IAAI,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,KAAK,CAAC;AAChF,IAAI;;AAEJ,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,aAAa,GAAG,CAAC,cAAc,IAAI,cAAc,KAAK,CAAC,CAAC;;AAEvH,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;AACxD,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,GAAG,cAAc;AAC5D,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,QAAQ,EAAE;AACtD,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC;AAC9F,IAAI,CAAC,MAAM;AACX,MAAM,SAAS,GAAG,UAAU,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,aAAa,GAAG,CAAC;;AAE7H;AACA,MAAM,IAAI,SAAS,IAAI,CAAC,UAAU,EAAE;AACpC,QAAQ,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7D,QAAQ,SAAS,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,IAAI,CAAC,CAAC;AACzH,MAAM;;AAEN;AACA,MAAM,IAAI,SAAS,KAAK,KAAK,EAAE;AAC/B,QAAQ,IAAI,CAAC,mBAAmB,EAAE;AAClC,UAAU,KAAK,IAAI,aAAa,GAAG,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE,aAAa,EAAE,EAAE;AACtF,YAAY,IAAI,aAAa,GAAG,EAAE,EAAE;AACpC,cAAc,IAAI,MAAM,GAAG,eAAe,CAAC,aAAa,CAAC;AACzD,kBAAkB,YAAY,GAAG,EAAE;;AAEnC,cAAc,IAAI,MAAM,EAAE;AAC1B,gBAAgB,IAAI,IAAI,CAAC,QAAQ,IAAI,aAAa,GAAG,CAAC,EAAE;AACxD,kBAAkB,aAAa,CAAC,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/E,gBAAgB;;AAEhB,gBAAgB,IAAI,MAAM,CAAC,KAAK,EAAE;AAClC,kBAAkB,YAAY,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK;AAClD,gBAAgB,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AACvE,kBAAkB,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;AAClE,kBAAkB,UAAU,GAAG,IAAI;AACnC,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC7C,oBAAoB,YAAY,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;AACnD,kBAAkB;AAClB,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO;AAC/H,kBAAkB,YAAY,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;AACxD,gBAAgB;;AAEhB,gBAAgB,aAAa,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;AAC7F,cAAc;AACd,YAAY,CAAC,MAAM;AACnB,cAAc;AACd,YAAY;AACZ,UAAU;;AAEV;AACA,UAAU,IAAI,aAAa,GAAG,EAAE,EAAE;AAClC,YAAY,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACrE,UAAU;AACV,QAAQ;AACR,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,cAAc,GAAG,mGAAmG;AAChI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,IAAI,iBAAiB;;AAE1E;AACA,QAAQ,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,GAAG,cAAc,GAAG,YAAY,GAAG,cAAc,GAAG,SAAS,GAAG,cAAc,CAAC,CAAC,MAAM;AAC9J,YAAY,QAAQ,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAK,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB;;AAE1K,QAAQ,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACvD,UAAU,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE;AACtG,SAAS,EAAE,IAAI,CAAC;AAChB,MAAM;AACN,IAAI;;AAEJ;AACA,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE;AAC1C,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACrD,QAAQ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;AACjF,OAAO,EAAE,IAAI,CAAC;AACd,IAAI;;AAEJ;AACA,IAAI,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;;AAE5E,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,UAAU,EAAE;AAC7C,MAAM,YAAY,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AACpF,IAAI;;AAEJ,IAAI,WAAW,CAAC,SAAS,GAAG,EAAE;AAC9B,IAAI,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC;;AAE1C,IAAI,IAAI,CAAC,aAAa,EAAE;;AAExB,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;AAC1B,EAAE;;AAEF,EAAE,aAAa,CAAC,GAAG;AACnB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;AACjG,EAAE;;AAEF,EAAE,aAAa,CAAC,GAAG;AACnB,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;;AAE/B,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;AAC5B,MAAM,IAAI,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;AACzD,UAAU,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,MAAM;;AAEnE,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,EAAE;AACvC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM;AACzD,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC;;AAErE,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvD,QAAQ,IAAI,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC;AACrC,YAAY,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC1D,YAAY,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,GAAG,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC;AAC7F,YAAY,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AACpD,YAAY,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AAClD,YAAY,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AACnD,YAAY,IAAI;;AAEhB,QAAQ,WAAW,CAAC,IAAI,GAAG,QAAQ;AACnC,QAAQ,WAAW,CAAC,SAAS,GAAG;AAChC,YAAY;AACZ,YAAY,kBAAkB;AAC9B,QAAQ,WAAW,CAAC,YAAY,CAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC;AACjE,QAAQ,WAAW,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC;AAC1D,QAAQ,WAAW,CAAC,KAAK,GAAG,UAAU;;AAEtC,QAAQ,OAAO,CAAC,SAAS,GAAG,0BAA0B;;AAEtD,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAChD,UAAU,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AAC/C,UAAU,IAAI,CAAC,SAAS,GAAG,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI;AAC7F,UAAU,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;AAClD,UAAU,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;AACnC,QAAQ;;AAER,QAAQ,KAAK,CAAC,SAAS,GAAG,wBAAwB;AAClD,QAAQ,KAAK,CAAC,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC;AACpD,QAAQ,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC;;AAElC,QAAQ,MAAM,CAAC,SAAS,GAAG,yBAAyB;AACpD,QAAQ,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;AAClD,QAAQ,MAAM,CAAC,WAAW,GAAG,QAAQ;;AAErC,QAAQ,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC;AACxC,QAAQ,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC;AACvC,QAAQ,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC;AACnD,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,CAAC,oBAAoB,EAAE;;AAE/B,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAChF,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AACxB,IAAI;AACJ,EAAE;;AAEF,EAAE,oBAAoB,CAAC,GAAG;AAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;;AAElC,IAAI,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE;AAChE,QAAQ,eAAe,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;AACvD,QAAQ,UAAU,GAAG,CAAC,CAAC,eAAe;AACtC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU;AAClD,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC;;AAExD,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,UAAU;AAChD,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU;;AAE9E,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC;AACxG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,mBAAmB,EAAE,eAAe,CAAC;AAChF,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,GAAG,EAAE;AAC9C,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,mBAAmB,CAAC;AAClE,IAAI;AACJ,EAAE;;AAEF,EAAE,iBAAiB,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE;AACrC,IAAI,IAAI,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;AACxD,QAAQ,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;;AAEnC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7C,MAAM,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;;AAE7B,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,WAAW,EAAE;AAC5E,QAAQ,OAAO,MAAM;AACrB,MAAM;AACN,IAAI;;AAEJ,IAAI,OAAO,IAAI;AACf,EAAE;;AAEF,EAAE,uBAAuB,CAAC,CAAC,WAAW,EAAE;AACxC,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AAClE,YAAY,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB;AAC/D,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;AACvC,QAAQ,gBAAgB,GAAG,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;;AAE9F,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7C,MAAM,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;;AAE7B,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;;AAEpC,MAAM;AACN,QAAQ,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,gBAAgB;AAChG,QAAQ,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,gBAAgB;AACjG,QAAQ,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK;AACjF,QAAQ;AACR,QAAQ,OAAO,MAAM;AACrB,MAAM;AACN,IAAI;;AAEJ,IAAI,OAAO,IAAI;AACf,EAAE;;AAEF,EAAE,mBAAmB,CAAC,CAAC,UAAU,EAAE;AACnC,IAAI,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;;AAEjD,IAAI,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,KAAK,SAAS,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK;AACtF,IAAI,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,KAAK,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI;;AAEvF,IAAI,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS;AACrE,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK;AACzD,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC;AACnF,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC;AAChF,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC;AACnF,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC;AAC1E,IAAI,IAAI,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,IAAI;AACnD,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI;;AAE/C,IAAI,OAAO,MAAM;AACjB,EAAE;;AAEF,EAAE,0BAA0B,CAAC,CAAC,WAAW,EAAE;AAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE;;AAElD,IAAI,IAAI,OAAO,GAAG,EAAE;;AAEpB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtE,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;;AAEtD,MAAM;AACN,QAAQ,YAAY,CAAC,MAAM,EAAE,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;AACxJ,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI;AAC3E,QAAQ;AACR,QAAQ,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AAC5B,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;AACzD,EAAE;;AAEF,EAAE,gBAAgB,CAAC,CAAC,UAAU,EAAE;AAChC,IAAI,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC;AAC9C,IAAI,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,KAAK,SAAS,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK;AAC1F,IAAI,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,KAAK,SAAS,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI;;AAExF,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;AAC3F,QAAQ,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC;AACrD,IAAI,UAAU,CAAC,MAAM,GAAG,MAAM;;AAE9B,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;AACpC,IAAI,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;AAC3D,QAAQ,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC;;AAErC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AACxB,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;;AAEtD,IAAI,OAAO,WAAW;AACtB,EAAE;;AAEF,EAAE,iBAAiB,CAAC,CAAC,KAAK,EAAE;AAC5B,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;;AAE9C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;;AAErC,IAAI,IAAI,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;;AAE9C,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC;AACnC,IAAI,gBAAgB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC;AACvD,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;;AAEzC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACvD,EAAE;;AAEF,EAAE,gBAAgB,CAAC,CAAC,WAAW,EAAE;AACjC,IAAI,WAAW,GAAG,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,GAAG,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;;AAExG,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,EAAE;;AAEjE,IAAI,IAAI,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC;;AAElE,IAAI,IAAI,cAAc,EAAE;AACxB,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;AACpC,QAAQ,IAAI,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;;AAE1D,QAAQ,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC;AAC9C,QAAQ,gBAAgB,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,iBAAiB,CAAC;AAC1E,QAAQ,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC7C,MAAM;;AAEN,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACzD,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9C,QAAQ,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;;AAElD,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI;AAClD,IAAI,IAAI,CAAC,oBAAoB,EAAE;;AAE/B,IAAI,SAAS,QAAQ,EAAE,aAAa,EAAE;AACtC,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,GAAG,KAAK;;AAErD,MAAM,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,KAAK,EAAE;AAC5F,QAAQ,IAAI,CAAC,oBAAoB,EAAE;AACnC,QAAQ;AACR,MAAM;;AAEN,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC;AACxE,MAAM,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;AAC7C,QAAQ,aAAa,GAAG;AACxB,UAAU,IAAI,EAAE,aAAa;AAC7B,UAAU,KAAK,EAAE;AACjB,SAAS;AACT,MAAM;;AAEN,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;AACvD,QAAQ,aAAa,CAAC,IAAI,GAAG,WAAW;AACxC,MAAM;;AAEN,MAAM,IAAI,aAAa,CAAC,KAAK,KAAK,SAAS,EAAE,aAAa,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI;AACrF,MAAM,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK;;AAEpF,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,IAAI,CAAC;;AAElH,MAAM,IAAI,CAAC,MAAM,EAAE;AACnB,QAAQ,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;AACrD,MAAM;;AAEN,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC;;AAEpC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;;AAEhG,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;AAC1B,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE;AACjC,MAAM;;AAEN,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,GAAG,EAAE;AACjD,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE;AACxC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE;AAC5C,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;;AAE5B,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC;AACxD,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;;AAE3C,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACzD,IAAI;;AAEJ,IAAI,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE;AAC7C,MAAM,IAAI,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC;;AAE1E,MAAM,IAAI,cAAc,IAAI,OAAO,cAAc,CAAC,IAAI,KAAK,UAAU,EAAE;AACvE,QAAQ,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;AACrC,MAAM,CAAC,MAAM,IAAI,cAAc,KAAK,SAAS,EAAE;AAC/C,QAAQ,QAAQ,CAAC,cAAc,CAAC;AAChC,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,QAAQ,CAAC;AACf,QAAQ,IAAI,EAAE,WAAW;AACzB,QAAQ,KAAK,EAAE;AACf,OAAO,CAAC;AACR,IAAI;AACJ,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE;AAC9B,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM;AAC5B,QAAQ,UAAU,GAAG,IAAI,CAAC,UAAU;AACpC,QAAQ,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;AACzC,QAAQ,WAAW;;AAEnB,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;AAC5C,MAAM,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,8DAA8D,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;AACvI,MAAM,IAAI,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACzF,IAAI;;AAEJ,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE;AACnC,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,GAAG,KAAK;AACzB,IAAI;;AAEJ,IAAI,IAAI,MAAM,KAAK,KAAK,EAAE;AAC1B,MAAM,IAAI,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC3F,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,QAAQ,EAAE;AACpC,MAAM,IAAI,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9F,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAClF,MAAM,IAAI,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC3F,IAAI;AACJ,EAAE;;;;AAIF;AACA;AACA,EAAE,QAAQ,CAAC,CAAC,OAAO,EAAE;AACrB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE;;AAExF,IAAI,IAAI,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;AAC1D,QAAQ,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;AACpD,QAAQ,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;AACzD,QAAQ,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;AACrD,QAAQ,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;AACtD,QAAQ,cAAc,GAAG,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;AAC7D,QAAQ,EAAE;AACV,QAAQ,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;AAC/C,QAAQ,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AACrD,QAAQ,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI;AAC9L,QAAQ,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe;AACnF,YAAY,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,IAAI;AACnE,YAAY,IAAI;AAChB,QAAQ,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI;AACxL,QAAQ,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI;AAC3L,QAAQ,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;;AAE7C,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW;;AAE3D,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM;AAC3B,IAAI,CAAC,CAAC,SAAS,GAAG,gBAAgB,IAAI,WAAW,GAAG,WAAW,CAAC,SAAS,GAAG,EAAE,CAAC;AAC/E,IAAI,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,GAAG,GAAG,UAAU,CAAC,IAAI;AACjF,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AAC/B,IAAI,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC,IAAI;AAC5D,IAAI,SAAS,CAAC,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC,IAAI;AACpD,IAAI,cAAc,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,GAAG,SAAS,GAAG,UAAU,CAAC,IAAI;AAC5E,IAAI,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,OAAO;AAC1C,IAAI,cAAc,CAAC,SAAS,GAAG,iBAAiB;;AAEhD,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;;AAEvD,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;AAC/C,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtE,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACpD,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,KAAK,MAAM,EAAE;AAC3G,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO;AAC3B,UAAU;AACV,QAAQ;AACR,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,EAAE,GAAG,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;AAC/C,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;AACzB,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AACvB,IAAI;;AAEJ,IAAI,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;;AAEpD,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE;AAC7C,MAAM,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACrF,IAAI;;AAEJ,IAAI,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;AAClC,IAAI,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC;AACvC,IAAI,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC;AAC9C,IAAI,IAAI,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACxC,IAAI,IAAI,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACxC,IAAI,IAAI,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;AAC1C,IAAI,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC;AACzC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AAC/B,IAAI,IAAI,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;AAChD,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;;AAEhC,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;;AAEzC,IAAI,IAAI,QAAQ,GAAG,EAAE,CAAC,YAAY;AAClC,QAAQ,oBAAoB,GAAG,cAAc,GAAG,cAAc,CAAC,YAAY,GAAG,CAAC;AAC/E,QAAQ,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC;AACvD,QAAQ,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC;AACvD,QAAQ,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC,YAAY,GAAG,CAAC;AAC1D,QAAQ,gBAAgB,GAAG,UAAU,GAAG,UAAU,CAAC,YAAY,GAAG,CAAC;AACnE,QAAQ,aAAa,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC;AAClD,QAAQ,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC;AACjD,QAAQ,SAAS,GAAG,IAAI,CAAC,WAAW;AACpC,QAAQ,WAAW,GAAG;AACtB,UAAU,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC;AAC/C,kBAAkB,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC;AACpD,kBAAkB,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC;AACrD,kBAAkB,SAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC;AACxD,UAAU,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC;AACjD,kBAAkB,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC;AACnD,kBAAkB,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;AACtD,kBAAkB,SAAS,CAAC,SAAS,CAAC,gBAAgB;AACtD,SAAS;AACT,QAAQ,UAAU,GAAG;AACrB,UAAU,IAAI,EAAE,WAAW,CAAC,IAAI;AAChC,kBAAkB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC;AAChD,kBAAkB,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC;AACvD,UAAU,KAAK,EAAE,WAAW,CAAC,KAAK;AAClC,kBAAkB,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC;AACjD,kBAAkB,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG;AACrD,SAAS;AACT,QAAQ,cAAc;;AAEtB,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ;;AAExC,IAAI,cAAc,GAAG,IAAI,CAAC,WAAW,GAAG,SAAS;;AAEjD,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;;AAEzC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ;AACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,GAAG,oBAAoB;AAC7D,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,YAAY;AAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,YAAY;AAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,aAAa;AAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,gBAAgB;AACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,aAAa;AAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,WAAW;AAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU;AACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS;AACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,SAAS,GAAG,WAAW,CAAC,KAAK;AACrE,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS;AAC1D,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,cAAc;AACjD,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY;;AAE7D,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,EAAE;;AAEF,EAAE,iBAAiB,CAAC,GAAG;AACvB,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,YAAY,GAAG,MAAM,CAAC,WAAW;AACzC,QAAQ,aAAa,GAAG,MAAM,CAAC,WAAW;AAC1C,QAAQ,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY;AACzD,QAAQ,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW;AACvD,QAAQ,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;;AAErC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,GAAG,CAAC,GAAG,GAAG,YAAY;AAC1D,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY;AAC1G,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,GAAG,aAAa;AAC7D,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW;AAC3G,EAAE;;AAEF,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE;AACvB,IAAI,IAAI,CAAC,iBAAiB,EAAE;;AAE5B,IAAI,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW;AAC/C,QAAQ,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ;AACzC,QAAQ,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY;AACjD,QAAQ,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY;AACjD,QAAQ,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa;AACnD,QAAQ,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB;AACzD,QAAQ,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa;AAC/C,QAAQ,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW;AAC/C,QAAQ,eAAe;AACvB,QAAQ,UAAU;AAClB,QAAQ,SAAS,GAAG,CAAC;AACrB,QAAQ,SAAS;AACjB,QAAQ,UAAU;AAClB,QAAQ,SAAS;AACjB,QAAQ,kBAAkB;AAC1B,QAAQ,QAAQ;AAChB,QAAQ,QAAQ;;AAEhB,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACjC;AACA,MAAM,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI;;AAEpF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe;;AAE/L;AACA,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,KAAK,IAAI,EAAE;AAClD,QAAQ,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM;AAC3C,MAAM;;AAEN,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC;AACnE,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,QAAQ;AACzC,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;AACtC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC;AACjI,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;AAChF,MAAM,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,gBAAgB;AAC7F,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;;AAErE,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACjE,QAAQ,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;AAClF,MAAM;;AAEN,MAAM,SAAS,GAAG,UAAU;AAC5B,MAAM,eAAe,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,gBAAgB,GAAG,WAAW,CAAC,IAAI;AACtH,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACnI,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;AAClD,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,SAAS,EAAE;AAC7E,MAAM;;AAEN,MAAM,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC,IAAI;AAC1F,MAAM,eAAe,GAAG,UAAU,GAAG,WAAW,CAAC,IAAI;AACrD,MAAM,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,gBAAgB;AAC7F,MAAM,SAAS,GAAG,kBAAkB,GAAG,EAAE;AACzC,IAAI;;AAEJ,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE;AACzB,MAAM,SAAS,EAAE,SAAS,GAAG,IAAI;AACjC,MAAM,QAAQ,EAAE,QAAQ;AACxB,MAAM,SAAS,EAAE,SAAS,GAAG;AAC7B,KAAK,CAAC;;AAEN,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE;AAC9B,MAAM,SAAS,EAAE,eAAe,GAAG,IAAI;AACvC,MAAM,QAAQ,EAAE,aAAa;AAC7B,MAAM,SAAS,EAAE,kBAAkB,GAAG;AACtC,KAAK,CAAC;;AAEN;AACA,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;;AAEhE,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;AACrK,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI;AACvC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc;AAC3F,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,MAAM,EAAE;AACpD,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,WAAW,CAAC,CAAC;AACxM,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;AAC9E,EAAE;;AAEF,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE;AACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;;AAE1B,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC;;AAE3D,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE;AACrC,MAAM,IAAI,IAAI,GAAG,IAAI;;AAErB,MAAM,IAAI,CAAC,WAAW,EAAE;;AAExB,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACnC,QAAQ,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY;AAC/E,UAAU,OAAO,IAAI,CAAC,WAAW,EAAE;AACnC,QAAQ,CAAC,CAAC;AACV,MAAM;;AAEN,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;AACxC,QAAQ,IAAI,iBAAiB,GAAG,YAAY;AAC5C,UAAU,OAAO,IAAI,CAAC,WAAW,EAAE;AACnC,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC;AAC/E,QAAQ,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC;AAC/E,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACrI,QAAQ,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;AAC9C,QAAQ,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;AAC9C,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC;AACzC,EAAE;;AAEF,EAAE,QAAQ,CAAC,GAAG;AACd,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE;AACjC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE;AACpC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;;AAEjD,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;AACtC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;AAChD,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE;AAC7D,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK;AACtD,IAAI;AACJ,EAAE;;AAEF,EAAE,cAAc,CAAC,GAAG;AACpB,IAAI,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,8BAA8B,CAAC;;AAErE,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AAC5D,QAAQ,GAAG;AACX,QAAQ,YAAY;AACpB,QAAQ,YAAY;AACpB,QAAQ,YAAY,GAAG,UAAU,OAAO,EAAE;AAC1C,UAAU,IAAI,QAAQ,GAAG,WAAW,EAAE;AACtC,cAAc,iBAAiB,GAAG,EAAE;AACpC;AACA,cAAc,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;;AAErG,UAAU,IAAI,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;AACvG,UAAU,IAAI,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACnH,UAAU,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC7G,UAAU,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;;AAE/B,UAAU,IAAI,SAAS,KAAK,QAAQ,CAAC,IAAI,EAAE;AAC3C,YAAY,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5C,YAAY,IAAI,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC;AACnE,YAAY,YAAY,CAAC,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,SAAS;AAC9F,YAAY,YAAY,CAAC,IAAI,IAAI,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC,UAAU;AACjG,UAAU,CAAC,MAAM;AACjB,YAAY,YAAY,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;AAC9C,UAAU;;AAEV,UAAU,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,YAAY;;AAEjG;AACA,UAAU,IAAI,OAAO,KAAK,QAAQ,EAAE;AACpC,YAAY,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,GAAG,YAAY;AAC7E,YAAY,iBAAiB,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI;AACjE,UAAU;;AAEV,UAAU,iBAAiB,CAAC,KAAK,GAAG,OAAO,CAAC,WAAW;;AAEvD,UAAU,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE;AACtC,YAAY,GAAG,EAAE,iBAAiB,CAAC,GAAG,KAAK,SAAS,GAAG,iBAAiB,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE;AACxF,YAAY,IAAI,EAAE,iBAAiB,CAAC,IAAI,KAAK,SAAS,GAAG,iBAAiB,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE;AAC3F,YAAY,KAAK,EAAE,iBAAiB,CAAC,KAAK,GAAG;AAC7C,WAAW,CAAC;AACZ,QAAQ,CAAC;;AAET,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY;AAC/C,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AAC7B,QAAQ;AACR,MAAM;;AAEN,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;;AAEnC,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1G,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AAC7C,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,aAAa,GAAG,YAAY;AACpC,MAAM,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;;AAExE,MAAM,IAAI,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;AACjD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC;AAC1E,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC;;AAE1E,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY;AAC3D,MAAM,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/C,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAChG,IAAI,CAAC,CAAC;AACN,EAAE;;AAEF,EAAE,YAAY,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE;AAC5B,IAAI,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM;;AAEtD,IAAI,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,KAAK,CAAC,EAAE;AACjD,MAAM,IAAI,MAAM,GAAG,CAAC,IAAI,GAAG,gBAAgB,CAAC,cAAc,GAAG,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC;AACrG,MAAM,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK;AACzE,MAAM,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI;;AAE1C,MAAM,MAAM,CAAC,QAAQ,GAAG,IAAI;;AAE5B,MAAM,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE;AAC5C,QAAQ,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO;AAC3C,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE;AACxB,QAAQ,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK;AACnC,MAAM;;AAEN,MAAM,IAAI,CAAC,MAAM,GAAG,MAAM;;AAE1B,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC;AAC5D,IAAI;AACJ,EAAE;;AAEF,EAAE,eAAe,CAAC,CAAC,YAAY,EAAE;AACjC,IAAI,IAAI,IAAI,GAAG,IAAI;;AAEnB,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK;;AAEzB,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;AACjG,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC9E,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AACzF,YAAY,MAAM,GAAG,MAAM,CAAC,MAAM;;AAElC,QAAQ,IAAI,MAAM,EAAE;AACpB,UAAU,IAAI,YAAY,KAAK,IAAI,EAAE;AACrC,YAAY,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACpC,UAAU;;AAEV,UAAU,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AAClC,QAAQ;AACR,MAAM;;AAEN;AACA,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;AAChG,IAAI;AACJ,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE;AACjC,IAAI,QAAQ,GAAG,QAAQ,KAAK,SAAS,GAAG,MAAM,CAAC,QAAQ,GAAG,QAAQ;;AAElE,IAAI,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO;AAC3B,QAAQ,kBAAkB,GAAG,IAAI,CAAC,aAAa,KAAK,SAAS;AAC7D,QAAQ,YAAY,GAAG,IAAI,CAAC,aAAa,KAAK,EAAE;AAChD,QAAQ,UAAU;AAClB,QAAQ,CAAC;AACT,QAAQ,UAAU,GAAG,YAAY,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,kBAAkB,CAAC;;AAExF,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE;AAChC,MAAM,MAAM,CAAC,QAAQ,GAAG,QAAQ;AAChC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;AAC1D,IAAI;;AAEJ,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;AAC9C,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;AACtC,IAAI;;AAEJ,IAAI,IAAI,CAAC,EAAE,EAAE;;AAEb,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU;;AAErB,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,IAAI,CAAC,eAAe,GAAG,EAAE;AAC/B,IAAI;;AAEJ,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;;AAE7C,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC;AAChC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE;AAC/C,MAAM,IAAI,CAAC,aAAa,GAAG,EAAE;AAC7B,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;AAC1B,IAAI;;AAEJ,IAAI,IAAI,CAAC,EAAE;AACX,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;;AAE9C,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC;AAC7C,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC3B,UAAU,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC;AAChD,QAAQ,CAAC,MAAM;AACf,UAAU,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC;AAC5C,QAAQ;AACR,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,kBAAkB,IAAI,QAAQ,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE;AAChG,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB;;AAEzC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;AAClC,IAAI;AACJ,EAAE;;AAEF;AACA;AACA;AACA,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE;AACvB,IAAI,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ;AAClC,QAAQ,EAAE,GAAG,MAAM,CAAC,OAAO;AAC3B,QAAQ,CAAC;;AAET,IAAI,IAAI,CAAC,EAAE,EAAE;;AAEb,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU;;AAErB,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC;;AAEtD,IAAI,IAAI,CAAC,EAAE;AACX,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC;;AAEvD,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC;AACjD,QAAQ,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM;AACb,QAAQ,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC;AAC1C,QAAQ,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;AACrC,MAAM;AACN,IAAI;AACJ,EAAE;;AAEF,EAAE,UAAU,CAAC,GAAG;AAChB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ;AAChC,EAAE;;AAEF,EAAE,aAAa,CAAC,GAAG;AACnB,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;AACxD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;AACpD,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC;AACrD,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;AAC/D,QAAQ,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;AAC7D,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;AACzD,QAAQ,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC;AACxD,MAAM;AACN,IAAI;AACJ,EAAE;;;;AAIF;AACA;AACA,EAAE,aAAa,CAAC,GAAG;AACnB,IAAI,IAAI,IAAI,GAAG,IAAI;;AAEnB,IAAI,eAAe,GAAG,KAAK;;AAE3B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;AAChD,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,eAAe,EAAE;AAClE,QAAQ,CAAC,CAAC,cAAc,EAAE;AAC1B,QAAQ,eAAe,GAAG,KAAK;AAC/B,MAAM;AACN,IAAI,CAAC,CAAC;;AAEN,IAAI,SAAS,cAAc,EAAE,CAAC,EAAE;AAChC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;AACzB,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;AAClC,YAAY,SAAS,GAAG,OAAO,CAAC,KAAK;AACrC,YAAY,SAAS,GAAG,OAAO,CAAC,aAAa;AAC7C,YAAY,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;AACnD,YAAY,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK;;AAE3F,QAAQ,IAAI,QAAQ,EAAE;AACtB,UAAU,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC;AAC3C,QAAQ;;AAER,QAAQ,OAAO,CAAC,aAAa,GAAG,CAAC;;AAEjC,QAAQ,gBAAgB,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC;AACxD,QAAQ,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC7C,MAAM;;AAEN;AACA,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC/D,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACrC,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAChC,QAAQ;;AAER,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAC9B,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACjC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;AAClD,QAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM;AAC7B,YAAY,WAAW,GAAG,IAAI,CAAC,WAAW;;AAE1C,QAAQ,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,aAAa,KAAK,WAAW,EAAE;AAC5E,UAAU,CAAC,CAAC,wBAAwB,EAAE;AACtC,UAAU,cAAc,CAAC,CAAC,CAAC;AAC3B,QAAQ;AACR,MAAM,CAAC,CAAC;AACR,IAAI;;AAEJ,IAAI,SAAS,QAAQ,IAAI;AACzB,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACnC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9B,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9B,MAAM;AACN,IAAI;;AAEJ,IAAI,SAAS,iBAAiB,IAAI;AAClC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE;AACjF,QAAQ,QAAQ,EAAE;AAClB,MAAM,CAAC,MAAM;AACb,QAAQ,qBAAqB,CAAC,iBAAiB,CAAC;AAChD,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,YAAY;AAC5D,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE;AACzE,QAAQ,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS;AACnE,MAAM;;AAEN,MAAM,qBAAqB,CAAC,iBAAiB,CAAC;AAC9C,IAAI,CAAC,CAAC;;AAEN;AACA,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY;AACpE,MAAM,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa;AACtC,UAAU,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC;AAC7E,UAAU,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC;AACvF,UAAU,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;;AAEvE,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC;AAC9C,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;AACjE,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;AACjC,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,GAAG,UAAU,CAAC,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC,aAAa,GAAG,KAAK,GAAG,UAAU,CAAC,aAAa,GAAG,+BAA+B,EAAE,UAAU,CAAC,EAAE;AAC3L,MAAM,IAAI,CAAC,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;AACzD,QAAQ,CAAC,CAAC,cAAc,EAAE;AAC1B,QAAQ,CAAC,CAAC,eAAe,EAAE;AAC3B,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AAC3H,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAChC,QAAQ,CAAC,MAAM;AACf,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AAC7B,QAAQ;AACR,MAAM;AACN,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,4BAA4B,EAAE,UAAU,CAAC,EAAE;AACvF,MAAM,CAAC,CAAC,cAAc,EAAE;AACxB,MAAM,CAAC,CAAC,eAAe,EAAE;AACzB,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACnC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9B,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AAC3B,MAAM;AACN,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,UAAU,CAAC,aAAa,GAAG,gBAAgB,GAAG,UAAU,CAAC,aAAa,GAAG,SAAS,EAAE,YAAY;AAC7I,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC1B,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAAE;AAC/E,MAAM,CAAC,CAAC,cAAc,EAAE;AACxB,MAAM,CAAC,CAAC,eAAe,EAAE;AACzB,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;AACpE,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAAE;AACzE,MAAM,CAAC,CAAC,cAAc,EAAE;AACxB,MAAM,CAAC,CAAC,eAAe,EAAE;AACzB,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;AACnE,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;AACxB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;AACrD,QAAQ,CAAC,CAAC,eAAe,EAAE;AAC3B,MAAM,CAAC,CAAC;AACR,IAAI;;AAEJ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE;AACpE,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACnC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9B,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AAC3B,MAAM;;AAEN,MAAM,CAAC,CAAC,cAAc,EAAE;AACxB,MAAM,CAAC,CAAC,eAAe,EAAE;;AAEzB,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;AACpD,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM;AACN,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;AAChD,MAAM,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;;AAE1D;AACA,MAAM,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,EAAE;AACtE;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC;AAC/C;AACA,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AACjD,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAClD,MAAM;AACN,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;AAC/C;AACA,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,EAAE;AACxE,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC9E,QAAQ,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AACzC,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,SAAS;AACnD,MAAM;AACN,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY;AACjD,MAAM,IAAI,CAAC,MAAM,EAAE;AACnB,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,gBAAgB,GAAG;AAC/C,QAAQ,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACzC,QAAQ,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACvC,QAAQ,aAAa,EAAE,gBAAgB,CAAC,CAAC;AACzC,OAAO,GAAG,IAAI,CAAC;AACf,MAAM,gBAAgB,GAAG,IAAI;AAC7B,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY;AAChD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACnD,IAAI,CAAC,CAAC;AACN,EAAE;;AAEF,EAAE,aAAa,CAAC,CAAC,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE;AACjD,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,OAAO,GAAG,IAAI,CAAC,OAAO;AAC9B,QAAQ,EAAE,GAAG,aAAa,CAAC,aAAa;AACxC,QAAQ,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC;AAC3E,QAAQ,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC;AAC7H,QAAQ,cAAc,GAAG,WAAW,CAAC,OAAO;AAC5C,QAAQ,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9C,QAAQ,SAAS,GAAG,OAAO,CAAC,aAAa;AACzC,QAAQ,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;AAC/C,QAAQ,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK;AACvF,QAAQ,aAAa,GAAG,IAAI;;AAE5B;AACA,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,CAAC,EAAE;AACxD,MAAM,CAAC,CAAC,eAAe,EAAE;AACzB,IAAI;;AAEJ,IAAI,CAAC,CAAC,cAAc,EAAE;;AAEtB;AACA,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;AAC3E,MAAM,IAAI,MAAM,GAAG,WAAW,CAAC,MAAM;AACrC,UAAU,KAAK,GAAG,MAAM,CAAC,QAAQ;AACjC,UAAU,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE;AAC9E,YAAY,OAAO,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;AACvF,UAAU,CAAC,CAAC;AACZ,UAAU,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC,QAAQ,GAAG,SAAS;AACrE,UAAU,UAAU,GAAG,QAAQ,YAAY,OAAO,GAAG,aAAa,CAAC,UAAU,GAAG,aAAa,CAAC,cAAc;AAC5G,UAAU,eAAe,GAAG,QAAQ,IAAI,QAAQ,CAAC,QAAQ;AACzD,UAAU,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AACxD,UAAU,aAAa,GAAG,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,IAAI,KAAK;;AAE3F,MAAM,IAAI,cAAc,KAAK,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,IAAI;;AAEpE,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,QAAQ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa;AACnD,QAAQ,IAAI,CAAC,aAAa,GAAG,SAAS;AACtC,MAAM;;AAEN,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,UAAU,KAAK,CAAC,EAAE;AAC9C,QAAQ,IAAI,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC;AACvD,QAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC;AAC3C,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC;AAC7C,QAAQ,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;;AAElC,QAAQ,IAAI,UAAU,KAAK,KAAK,IAAI,aAAa,KAAK,KAAK,EAAE;AAC7D,UAAU,IAAI,UAAU,GAAG,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;AAC5E,cAAc,oBAAoB,GAAG,CAAC;;AAEtC,UAAU,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;AAC7C,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/D,cAAc,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,oBAAoB,EAAE;AACvE,YAAY;AACZ,UAAU;;AAEV,UAAU,IAAI,aAAa,GAAG,aAAa,GAAG,oBAAoB;;AAElE,UAAU,IAAI,CAAC,UAAU,IAAI,UAAU,MAAM,aAAa,IAAI,aAAa,CAAC,EAAE;AAC9E,YAAY,IAAI,UAAU,IAAI,UAAU,KAAK,CAAC,EAAE;AAChD,cAAc,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;AACxC,cAAc,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AACxC,YAAY,CAAC,MAAM,IAAI,aAAa,IAAI,aAAa,KAAK,CAAC,EAAE;AAC7D,cAAc,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/D,gBAAgB,IAAI,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC;AAChD,gBAAgB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;AACxF,cAAc;;AAEd,cAAc,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC;AACjD,YAAY,CAAC,MAAM;AACnB,cAAc,IAAI,cAAc,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc;AAC7K,kBAAkB,aAAa,GAAG,OAAO,cAAc,KAAK,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,cAAc;AACnI,kBAAkB,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC;AACtE,kBAAkB,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC;AAC5E,kBAAkB,MAAM,GAAG,cAAc,CAAC,4BAA4B,CAAC;;AAEvE,cAAc,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;;AAE3C,cAAc,IAAI,UAAU,IAAI,UAAU,EAAE;AAC5C,gBAAgB,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;AAC/E,gBAAgB,aAAa,GAAG,KAAK;AACrC,gBAAgB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;AACxC,cAAc;;AAEd,cAAc,IAAI,aAAa,IAAI,aAAa,EAAE;AAClD,gBAAgB,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;AAClF,gBAAgB,aAAa,GAAG,KAAK;AACrC,gBAAgB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;AAC3C,cAAc;;AAEd,cAAc,UAAU,CAAC,YAAY;AACrC,gBAAgB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC;AACpD,cAAc,CAAC,EAAE,EAAE,CAAC;;AAEpB,cAAc,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;;AAE7C,cAAc,UAAU,CAAC,YAAY;AACrC,gBAAgB,MAAM,CAAC,MAAM,EAAE;AAC/B,cAAc,CAAC,EAAE,IAAI,CAAC;AACtB,YAAY;AACZ,UAAU;AACV,QAAQ;AACR,MAAM;;AAEN,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;;AAEhG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC,EAAE;AAC9E,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AAC3B,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AAC1C,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9B,MAAM;;AAEN;AACA,MAAM,IAAI,aAAa,EAAE;AACzB,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,KAAK,OAAO,CAAC,aAAa,EAAE;AAClE,UAAU,gBAAgB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;AACvE,UAAU,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC/C,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,EAAE;;AAEF,EAAE,kBAAkB,CAAC,GAAG;AACxB,IAAI,IAAI,IAAI,GAAG,IAAI;;AAEnB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;AACnD,MAAM,CAAC,CAAC,eAAe,EAAE;AACzB,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;AACnD,MAAM,CAAC,CAAC,eAAe,EAAE;AACzB,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE;AACtD,MAAM,CAAC,CAAC,eAAe,EAAE;AACzB,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE;AACrD,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;AACrI,QAAQ,CAAC,CAAC,cAAc,EAAE;AAC1B,QAAQ,CAAC,CAAC,eAAe,EAAE;AAC3B,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AACnD,MAAM;AACN,IAAI,CAAC,CAAC;;AAEN,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY;AAClD,MAAM,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK;;AAE5C,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE;AAC5C,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE;;AAExC,MAAM,IAAI,WAAW,EAAE;AACvB,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,GAAG,WAAW;;AAE5D,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;AACxC,UAAU,IAAI,CAAC,SAAS,CAAC,YAAY;AACrC,YAAY,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC;AACxD,YAAY,IAAI,CAAC,MAAM,EAAE;AACzB,YAAY,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC;AAC3C,YAAY,IAAI,CAAC,QAAQ,GAAG,IAAI;AAChC,YAAY,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC;AACxC,YAAY,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;AACjC,YAAY,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC;AAChF,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC;AACtC,QAAQ,CAAC,MAAM;AACf,UAAU,IAAI,WAAW,GAAG,EAAE;AAC9B,cAAc,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE;AAC3C,cAAc,KAAK,GAAG,EAAE;AACxB,cAAc,QAAQ,GAAG,EAAE;AAC3B,cAAc,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE;AAC/C,cAAc,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB;;AAEhE,UAAU,IAAI,eAAe,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;;AAErD,UAAU,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvE,YAAY,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;;AAEnD,YAAY,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;AAC3B,cAAc,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,eAAe,CAAC;AAC1E,YAAY;;AAEZ,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE;AACrG,cAAc,IAAI,EAAE,CAAC,WAAW,GAAG,CAAC,EAAE;AACtC,gBAAgB,KAAK,CAAC,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI;AAChD,gBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC;AACjD,cAAc;;AAEd,cAAc,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,IAAI;AAC1C,cAAc,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC;;AAE3C,cAAc,KAAK,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI;AAC5C,YAAY;;AAEZ,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1E,UAAU;;AAEV,UAAU,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;AACzE,YAAY,IAAI,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC;AACnC,gBAAgB,SAAS,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3C,gBAAgB,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC3D,gBAAgB,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;;AAE/D,YAAY,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,KAAK,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;AACvI,cAAc,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AACxD,cAAc,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtE,YAAY;AACZ,UAAU;;AAEV,UAAU,IAAI,CAAC,aAAa,GAAG,SAAS;AACxC,UAAU,IAAI,CAAC,QAAQ,GAAG,IAAI;AAC9B,UAAU,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC;AACtC,UAAU,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW;AACzD,UAAU,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;AAC/B,UAAU,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC;AAC5D,QAAQ;AACR,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE;AACzD,QAAQ,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC;AACpC,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAC9B,MAAM;;AAEN,MAAM,IAAI,CAAC,oBAAoB,EAAE;AACjC,IAAI,CAAC,CAAC;AACN,EAAE;;AAEF,EAAE,YAAY,CAAC,GAAG;AAClB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,UAAU;AACrD,EAAE;;AAEF,EAAE,QAAQ,CAAC,GAAG;AACd,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;;AAE9B,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,IAAI,MAAM,GAAG,EAAE;AACrB,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvD,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9E,MAAM;AACN,MAAM,OAAO,MAAM;AACnB,IAAI;;AAEJ,IAAI,OAAO,OAAO,CAAC,KAAK;AACxB,EAAE;;;;AAIF;AACA;AACA,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE;AACd,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;;AAE9B,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;AACtC,MAAM,IAAI,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;AACzD,UAAU,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC;;AAEjE,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;;AAEhD,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE;;AAElD,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;;AAEvB,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvD,QAAQ,IAAI,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC;;AAErC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AAC9D,UAAU,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;AACvC,QAAQ;AACR,MAAM;;AAEN;AACA,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE;AACzD,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AACtD,UAAU,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC;AACtC,UAAU,OAAO,IAAI;AACrB,QAAQ;;AAER,QAAQ,OAAO,KAAK;AACpB,MAAM,CAAC,EAAE,IAAI,CAAC;;AAEd,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;;AAE3F,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,gBAAgB,GAAG;AAC/C,QAAQ,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACzC,QAAQ,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACvC,QAAQ,aAAa,EAAE,gBAAgB,CAAC,CAAC;AACzC,OAAO,GAAG,IAAI,CAAC;;AAEf,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC/D,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC3B,UAAU,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AACpC,QAAQ,CAAC,MAAM;AACf,UAAU,IAAI,eAAe,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,OAAO;;AAEtF,UAAU,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;AACnD,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;AACnF,UAAU;AACV,QAAQ;AACR,MAAM;;AAEN,MAAM,IAAI,CAAC,MAAM,EAAE;;AAEnB,MAAM,gBAAgB,GAAG,IAAI;;AAE7B,MAAM,OAAO,IAAI,CAAC,OAAO;AACzB,IAAI,CAAC,MAAM;AACX,MAAM,OAAO,IAAI,CAAC,QAAQ,EAAE;AAC5B,IAAI;AACJ,EAAE;;AAEF,EAAE,SAAS,CAAC,CAAC,MAAM,EAAE;AACrB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACxB,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,MAAM,GAAG,IAAI;;AAEpD,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;AAC9B,QAAQ,gBAAgB,GAAG,CAAC;AAC5B,QAAQ,eAAe,GAAG,CAAC;AAC3B,QAAQ,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;;AAE9C,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC;;AAE7C,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC5F,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;AAC1B,UAAU,MAAM,GAAG,MAAM,CAAC,MAAM;;AAEhC,MAAM,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;AACnE,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE;AAC/C,QAAQ,MAAM,CAAC,QAAQ,GAAG,MAAM;AAChC,QAAQ,MAAM,CAAC,QAAQ,GAAG,MAAM;AAChC,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,eAAe,EAAE;AAC9C,MAAM;AACN,IAAI;;AAEJ,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC;;AAEhD,IAAI,IAAI,gBAAgB,KAAK,eAAe,EAAE;;AAE9C,IAAI,IAAI,CAAC,eAAe,EAAE;;AAE1B,IAAI,gBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;;AAE9C,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACzC,EAAE;;AAEF,EAAE,SAAS,CAAC,GAAG;AACf,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAC/B,EAAE;;AAEF,EAAE,WAAW,CAAC,GAAG;AACjB,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAChC,EAAE;;AAEF,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;AACpB,IAAI,IAAI,QAAQ;AAChB,QAAQ,aAAa,GAAG,KAAK,KAAK,SAAS;;AAE3C,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE;;AAEnD,IAAI,IAAI,aAAa,KAAK,KAAK,EAAE;AACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;AACpE,MAAM,aAAa,GAAG,CAAC,KAAK,KAAK,IAAI,IAAI,QAAQ,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,IAAI,QAAQ,KAAK,IAAI,CAAC;AACtG,IAAI;;AAEJ,IAAI,IAAI,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AAC7C,EAAE;;AAEF,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;AACX,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC;AACxB,EAAE;;AAEF,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;AACZ,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC;AACzB,EAAE;;AAEF,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;AACnB,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,QAAQ,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO;AACpC,QAAQ,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC;AAC3D,QAAQ,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,QAAQ,KAAK;AACb,QAAQ,QAAQ;AAChB,QAAQ,QAAQ;AAChB,QAAQ,QAAQ;AAChB,QAAQ,SAAS;AACjB,QAAQ,YAAY,GAAG,KAAK;AAC5B,QAAQ,SAAS,GAAG,KAAK,KAAK,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACpF,QAAQ,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS;AAC1D,QAAQ,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS;AAC5C,QAAQ,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AACpC,QAAQ,SAAS,GAAG,SAAS,KAAK,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC;;AAE7E;AACA,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,EAAE;;AAEtC,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;;AAE5D,IAAI;AACJ,MAAM,CAAC,QAAQ;AACf;AACA,UAAU,UAAU;AACpB,WAAW,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;AACtC,WAAW,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,CAAC;AACvC,WAAW,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE;AACrC;AACA,MAAM;AACN,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;;AAE1B,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACnC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9B,QAAQ;AACR,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,KAAK,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,EAAE;AAC/C,MAAM,CAAC,CAAC,cAAc,EAAE;AACxB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC1B,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACzB,IAAI;;AAEJ,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;;AAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa;AACnC,MAAM,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;;AAErG,MAAM,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AACxB,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;AAClC,MAAM;;AAEN,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,QAAQ,EAAE;AACvC,QAAQ,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE;AACjC,QAAQ,IAAI,KAAK,GAAG,SAAS,GAAG,CAAC,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM;;AAExD,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE;AACrE,UAAU,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS;AAC/G,UAAU,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;AACpD,QAAQ;AACR,MAAM,CAAC,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,UAAU,IAAI,SAAS,EAAE;AAC7D,QAAQ,KAAK,EAAE;AACf,QAAQ,IAAI,KAAK,GAAG,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB;;AAE/H,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE;AACrE,UAAU,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AAC5G,QAAQ;AACR,MAAM;;AAEN,MAAM,CAAC,CAAC,cAAc,EAAE;;AAExB,MAAM,IAAI,aAAa,GAAG,SAAS,GAAG,KAAK;;AAE3C,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,QAAQ,EAAE;AACvC;AACA,QAAQ,IAAI,SAAS,KAAK,CAAC,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3D,UAAU,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY;;AAEhE,UAAU,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;AACvE,QAAQ,CAAC,MAAM;AACf,UAAU,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;;AAElE;AACA,UAAU,IAAI,QAAQ,EAAE;AACxB,YAAY,SAAS,GAAG,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM;;AAE3D,YAAY,YAAY,GAAG,SAAS,GAAG,SAAS;AAChD,UAAU;AACV,QAAQ;AACR,MAAM,CAAC,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,UAAU,IAAI,SAAS,EAAE;AAC7D;AACA,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAClE,UAAU,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC;;AAEtC,UAAU,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB;AACpE,QAAQ,CAAC,MAAM;AACf,UAAU,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;;AAElE;AACA,UAAU,IAAI,QAAQ,EAAE;AACxB,YAAY,SAAS,GAAG,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe;;AAEzE,YAAY,YAAY,GAAG,SAAS,GAAG,SAAS;AAChD,UAAU;AACV,QAAQ;AACR,MAAM;;AAEN,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;;AAElE,MAAM,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,OAAO;;AAExF,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;AAE9B,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,GAAG,QAAQ;;AAErD,MAAM,IAAI,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS;;AAE5D,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACnC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAC9B,MAAM,CAAC,MAAM;AACb,QAAQ,EAAE,CAAC,KAAK,EAAE;AAClB,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;AAChE,SAAS,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU;AACzE,MAAM;AACN,MAAM,IAAI,OAAO,GAAG,EAAE;AACtB,UAAU,UAAU;;AAEpB,MAAM,CAAC,CAAC,cAAc,EAAE;;AAExB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC;;AAE/D,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC;AAC1H,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE;;AAE1G,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU;;AAEvD;AACA,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACvC,QAAQ,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACzC,MAAM;;AAEN;AACA,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtE,QAAQ,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAClD,YAAY,QAAQ;;AAEpB,QAAQ,QAAQ,GAAG,YAAY,CAAC,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC;;AAEnE,QAAQ,IAAI,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;AAChE,UAAU,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;AAClC,QAAQ;AACR,MAAM;;AAEN,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;AAC1B,QAAQ,IAAI,UAAU,GAAG,CAAC;;AAE1B,QAAQ,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE;AAC5D,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AACzC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AACzE,QAAQ,CAAC,CAAC;;AAEV;AACA,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;AACrC,UAAU,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;;AAE1D,UAAU,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,UAAU,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACtE,YAAY,UAAU,GAAG,CAAC;AAC1B,UAAU,CAAC,MAAM;AACjB,YAAY,UAAU,EAAE;AACxB,UAAU;AACV,QAAQ;;AAER,QAAQ,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;;AAE5G,QAAQ,IAAI,QAAQ,EAAE;AACtB,UAAU,IAAI,SAAS,GAAG,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE;AACjD,YAAY,SAAS,GAAG,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM;AAC3D,YAAY,YAAY,GAAG,IAAI;AAC/B,UAAU,CAAC,MAAM;AACjB,YAAY,SAAS,GAAG,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe;AACzE;AACA,YAAY,YAAY,GAAG,QAAQ,CAAC,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe;AACxF,UAAU;AACV,QAAQ;;AAER,QAAQ,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;;AAEtC,QAAQ,IAAI,CAAC,aAAa,GAAG,QAAQ;;AAErC,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;AAEhC,QAAQ,IAAI,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE;;AAEjD,QAAQ,IAAI,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS;;AAE9D,QAAQ,EAAE,CAAC,KAAK,EAAE;AAClB,MAAM;AACN,IAAI;;AAEJ;AACA,IAAI;AACJ,MAAM,QAAQ;AACd;AACA,UAAU,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU;AAC5E,UAAU,KAAK,KAAK,QAAQ,CAAC,KAAK;AAClC,WAAW,KAAK,KAAK,QAAQ,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW;AAC7D;AACA,MAAM;AACN,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,cAAc,EAAE;;AAEtD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE;AAChE,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC;AACpE,QAAQ,IAAI,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AACpE,QAAQ,EAAE,CAAC,KAAK,EAAE;;AAElB,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACtC;AACA,UAAU,CAAC,CAAC,cAAc,EAAE;AAC5B;AACA,UAAU,eAAe,GAAG,IAAI;AAChC,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,EAAE;;AAEF,EAAE,MAAM,CAAC,GAAG;AACZ;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI;AAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;AAC/C,EAAE;;AAEF,EAAE,aAAa,CAAC,GAAG;AACnB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE;AACpC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK;AAC1C,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE;AACtC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE;AAC1C,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK;AAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;AAChE,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ;AACxE,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK;AAC7C,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,KAAK;AACzC,EAAE;;AAEF,EAAE,OAAO,CAAC,GAAG;AACb,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB;AACA,IAAI,IAAI,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAClI,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM;;AAEzB,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;AAClC,MAAM,IAAI,CAAC,MAAM,EAAE;AACnB,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,CAAC,aAAa,EAAE;AAC1B,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY;AACjC,QAAQ,IAAI,CAAC,MAAM,EAAE;AACrB,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB,MAAM,CAAC,CAAC;AACR,IAAI;;AAEJ,IAAI,IAAI,CAAC,aAAa,EAAE;AACxB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,IAAI,IAAI,CAAC,QAAQ,EAAE;;AAEnB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;;AAEtB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;AAC3B,EAAE;;AAEF,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;AAC1C,EAAE;;AAEF,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;AACtC,EAAE;;AAEF,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC3F,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AACpC,EAAE;;AAEF,EAAE,OAAO,CAAC,GAAG;AACb;AACA,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;AACpC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;AAC5E,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC7D,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAChG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAClD,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AACjD,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;AAC7F,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;AACnG,IAAI;;AAEJ;AACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrD,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAChC,MAAM,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;AAC5D,IAAI;AACJ,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE;;AAExB,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;AACjC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;AAClE,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AAC9B,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,UAAU,EAAE;AACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AAC7B,IAAI;;AAEJ,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,cAAc,EAAE,eAAe,CAAC;;AAEtF,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AACpC,EAAE;AACF;;AAEA;AACA,IAAI,WAAW,GAAG,IAAI,OAAO,EAAE;;AAE/B,YAAY,CAAC,IAAI,GAAG,cAAc;AAClC,YAAY,CAAC,OAAO,GAAG,OAAO;;AAE9B;AACA,YAAY,CAAC,QAAQ,GAAG,IAAI;;AAE5B;AACA,YAAY,CAAC,QAAQ,GAAG;AACxB,EAAE,gBAAgB,EAAE,kBAAkB;AACtC,EAAE,eAAe,EAAE,wBAAwB;AAC3C,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE;AAC5C,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,mBAAmB,GAAG,oBAAoB;AAC1E,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,8BAA8B,GAAG,+BAA+B;AACtF,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,oCAAoC,GAAG;AAC/D,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,YAAY;AAC7B,EAAE,eAAe,EAAE,cAAc;AACjC,EAAE,MAAM,EAAE;AACV,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,MAAM,EAAE;AACZ,GAAG;AACH,EAAE,SAAS,EAAE,EAAE;AACf,EAAE,UAAU,EAAE,KAAK;AACnB,EAAE,cAAc,EAAE,OAAO;AACzB,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW;AAC/B,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,WAAW,EAAE,IAAI;AACnB,EAAE,UAAU,EAAE,KAAK;AACnB,EAAE,kBAAkB,EAAE,QAAQ;AAC9B,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,WAAW,EAAE,KAAK;AACpB,EAAE,QAAQ,EAAE,IAAI;AAChB,EAAE,WAAW,EAAE,IAAI;AACnB,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,MAAM,EAAE,KAAK;AACf,EAAE,UAAU,EAAE,KAAK;AACnB,EAAE,qBAAqB,EAAE,IAAI;AAC7B,EAAE,mBAAmB,EAAE,KAAK;AAC5B,EAAE,eAAe,EAAE,UAAU;AAC7B,EAAE,WAAW,EAAE,KAAK;AACpB,EAAE,eAAe,EAAE,cAAc;AACjC,EAAE,kBAAkB,EAAE,WAAW;AACjC,EAAE,UAAU,EAAE,KAAK;AACnB,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ;AAC/B,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ;AAC/B,EAAE,QAAQ,EAAE,KAAK;AACjB,EAAE,gBAAgB,EAAE,KAAK;AACzB,EAAE,kBAAkB,EAAE,MAAM;AAC5B,EAAE,sBAAsB,EAAE,QAAQ;AAClC,EAAE,QAAQ,EAAE;AACZ,IAAI,KAAK,EAAE;AACX,GAAG;AACH,EAAE,UAAU,EAAE,KAAK;AACnB,EAAE,WAAW,EAAE,IAAI;AACnB,EAAE,kBAAkB,EAAE,KAAK;AAC3B,EAAE,aAAa,EAAE,GAAG;AACpB,EAAE,QAAQ,EAAE,IAAI;AAChB,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,SAAS,EAAE;AACb,CAAC;;AAED,YAAY,CAAC,YAAY,GAAG,UAAU,OAAO,EAAE,OAAO,EAAE;AACxD,EAAE,OAAO,GAAG,mBAAmB,CAAC,OAAO,IAAI,EAAE,CAAC;;AAE9C,EAAE,IAAI,cAAc,GAAG,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;;AAE/D,EAAE,KAAK,IAAI,QAAQ,IAAI,cAAc,EAAE;AACvC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;AAC1H,MAAM,OAAO,cAAc,CAAC,QAAQ,CAAC;AACrC,IAAI;AACJ,EAAE;;AAEF,EAAE,IAAI,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC,QAAQ,IAAI,EAAE,CAAC;;AAErE,EAAE,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,mBAAmB,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC;AAC5H,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,IAAI,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;AAC7I,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC;;AAE5G,EAAE,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC;AAC5C,CAAC;;AAED,YAAY,CAAC,WAAW,GAAG,UAAU,WAAW,EAAE;AAClD,EAAE,YAAY,CAAC,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACpG,CAAC;;AAED,YAAY,CAAC,WAAW,GAAG,UAAU,OAAO,EAAE;AAC9C,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AAC5E,EAAE,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI;AACzC,CAAC;;AAED,YAAY,CAAC,mBAAmB,GAAG,UAAU,OAAO,EAAE,OAAO,EAAE;AAC/D,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AAC5E,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,OAAO,IAAI;;AAE3D,EAAE,IAAI,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;;AAEzC,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC;;AAE1C,IAAI,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAChD,MAAM,KAAK,IAAI,CAAC,IAAI,OAAO,EAAE;AAC7B,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;AAC9D,UAAU,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AAC1C,QAAQ;AACR,MAAM;AACN,IAAI;;AAEJ,IAAI,OAAO,QAAQ;AACnB,EAAE;;AAEF,EAAE,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,GAAG,OAAO,GAAG,EAAE,CAAC;AAC9E,CAAC;;AAED;AACA;;;AAGA;;AAEA;AACA,IAAI,gBAAgB,GAAG,qBAAqB,GAAG,QAAQ,CAAC,WAAW,GAAG,8EAA8E;;AAEpJ,SAAS,uBAAuB,EAAE,YAAY,EAAE,YAAY,EAAE;AAC9D,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE;AAClD,IAAI,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM;AACzB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;;AAEpC;AACA;AACA;AACA,IAAI,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,kCAAkC,CAAC;AACnE,IAAI,IAAI,CAAC,MAAM,EAAE;;AAEjB,IAAI,CAAC,CAAC,wBAAwB,EAAE;;AAEhC,IAAI,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;AAClD,IAAI,IAAI,CAAC,OAAO,EAAE;;AAElB,IAAI,IAAI,QAAQ;AAChB,IAAI,KAAK,IAAI,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE;AAC9D,MAAM,IAAI,IAAI,CAAC,uBAAuB,EAAE;AACxC,QAAQ,QAAQ,GAAG,IAAI,CAAC,uBAAuB;AAC/C,QAAQ;AACR,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;AAC/C,EAAE,CAAC,EAAE,IAAI,CAAC;;AAEV,EAAE,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE;AACpD,IAAI,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM;AACzB,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;AACtE,MAAM,CAAC,CAAC,eAAe,EAAE;AACzB,IAAI;AACJ,EAAE,CAAC,CAAC;;AAEJ,EAAE,SAAS,OAAO,IAAI;AACtB,IAAI,IAAI,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC;AAC5D,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,MAAM,EAAE;AAC5D,MAAM,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC;AAC9C,IAAI,CAAC,CAAC;AACN,EAAE;;AAEF,EAAE,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE;AACzC,IAAI,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC;AAC1D,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,EAAE;AACb,EAAE;;AAEF,EAAE,IAAI,YAAY,EAAE;AACpB,IAAI,MAAM,CAAC,YAAY,GAAG,YAAY;AACtC,EAAE;AACF;;AAEA,uBAAuB;AACvB,EAAE,YAAY;AACd,EAAE,OAAO,8BAA8B,KAAK,WAAW,GAAG,IAAI,GAAG;AACjE,CAAC;AACD;;AAEA,OAAO,YAAY;;;AAGnB,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/bootstrap-select.min.js b/docs/dist/js/bootstrap-select.min.js index ea5fd95..d9f3277 100644 --- a/docs/dist/js/bootstrap-select.min.js +++ b/docs/dist/js/bootstrap-select.min.js @@ -1,10 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)})(function(i){function c(){var e=i||("undefined"!=typeof window?window.bootstrap:void 0);return e&&e.Dropdown||("undefined"!=typeof window?window.Dropdown:void 0)}function x(e){var t=document.createElement("div");return t.innerHTML=e.trim(),t.firstChild}function v(e){return parseInt(e,10)||0}function h(e){e=e.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}}function g(e,t){var i=e.offsetHeight;return t&&(i+=v((t=window.getComputedStyle(e)).marginTop)+v(t.marginBottom)),i}function b(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e.style[i]=t[i])}function y(e,t){e.dispatchEvent(new Event(t,{bubbles:!0}))}function l(e){for(var t={},i=e.attributes,s=0;s{if("true"===e)return!0;if("false"===e)return!1;if("null"===e)return null;if(e===+e+"")return+e;if(/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/.test(e))try{return JSON.parse(e)}catch(e){}return e})(i[s].value))}return t}var u=["sanitize","whiteList","sanitizeFn"],P=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],s={"*":["class","dir","id","lang","role","tabindex","style",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},R=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,q=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i,m=["placeholder"];function E(e,t,i){if(i&&"function"==typeof i)return i(e);for(var s=Object.keys(t),n=0,o=e.length;n{var i=e.nodeName.toLowerCase();if(-1!==t.indexOf(i))return-1===P.indexOf(i)||Boolean(e.nodeValue.match(R)||e.nodeValue.match(q));for(var s=t.filter(function(e){return e instanceof RegExp}),n=0,o=s.length;n]+>/g,"")),a=(a=s?f(a):a).toUpperCase(),o="function"==typeof i?i(a,t):"contains"===i?0<=a.indexOf(t):a.startsWith(t)))break}return o}function o(e,t){return e=(e=null==e?"":e).toString().trim(),(e=t?e&&f(e):e).toUpperCase()}function F(e){return e&&(e.title||e.text||e.value)||""}var U={"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"},G=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Q=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]","g");function K(e){return U[e]}function f(e){return(e=e.toString())&&e.replace(G,K).replace(Q,"")}t={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},e="(?:"+Object.keys(t).join("|")+")",Y=RegExp(e),Z=RegExp(e,"g");var t,Y,Z,k=function(e){return Y.test(e=null==e?"":""+e)?e.replace(Z,$):e};function $(e){return t[e]}var J={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"A",66:"B",67:"C",68:"D",69:"E",70:"F",71:"G",72:"H",73:"I",74:"J",75:"K",76:"L",77:"M",78:"N",79:"O",80:"P",81:"Q",82:"R",83:"S",84:"T",85:"U",86:"V",87:"W",88:"X",89:"Y",90:"Z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"},X=27,ee=13,I=32,S=9,C=38,O=40,te=0,d=".bs.select",z="disabled",ie="dropdown-divider",L="show",A="dropup",N="dropdown-menu",se="dropdown-menu-end",p="btn-light",T="popover-header",e="",ne="bs-ok-default",oe="."+N,le='data-bs-toggle="dropdown"',D={div:document.createElement("div"),span:document.createElement("span"),i:document.createElement("i"),subtext:document.createElement("small"),a:document.createElement("a"),li:document.createElement("li"),whitespace:document.createTextNode("\xa0"),fragment:document.createDocumentFragment(),option:document.createElement("option")},re=(D.selectedOption=D.option.cloneNode(!1),D.selectedOption.setAttribute("selected",!0),D.noResults=D.li.cloneNode(!1),D.noResults.className="no-results",D.a.setAttribute("role","option"),D.a.className="dropdown-item",D.subtext.className="text-muted",D.text=D.span.cloneNode(!1),D.text.className="text",D.checkMark=D.span.cloneNode(!1),new RegExp(C+"|"+O)),ae=new RegExp("^"+S+"$|"+X),H={li:function(e,t,i){var s=D.li.cloneNode(!1);return e&&(1===e.nodeType||11===e.nodeType?s.appendChild(e):s.innerHTML=e),void 0!==t&&""!==t&&(s.className=t),null!=i&&s.classList.add("optgroup-"+i),s},a:function(e,t,i){var s=D.a.cloneNode(!0);return e&&(11===e.nodeType?s.appendChild(e):s.insertAdjacentHTML("beforeend",e)),void 0!==t&&""!==t&&s.classList.add.apply(s.classList,t.split(/\s+/)),i&&s.setAttribute("style",i),s},text:function(e,t){var i,s,n=D.text.cloneNode(!1);if(e.content?n.innerHTML=e.content:(n.textContent=e.text,e.icon&&(i=D.whitespace.cloneNode(!1),(s=(!0===t?D.i:D.span).cloneNode(!1)).className=this.options.iconBase+" "+e.icon,D.fragment.appendChild(s),D.fragment.appendChild(i)),e.subtext&&((s=D.subtext.cloneNode(!1)).textContent=e.subtext,n.appendChild(s))),!0===t)for(;0setTimeout(()=>{this.selectpicker.keydown.keyHistory=""},800)}}},this.sizeInfo={},this.init(),n.set(e,this)}_on(e,t,i,s){return e.addEventListener(t,i,s),this._listeners.push({el:e,type:t,handler:i,options:s}),i}_delegate(i,e,s,n,t){return this._on(i,e,function(e){var t=e.target.closest(s);t&&i.contains(t)&&n.call(t,e)},t)}_emit(e,t){e=new CustomEvent(e+d,{bubbles:!0,cancelable:!0,detail:t||null});return this.element.dispatchEvent(e),e}_replace(e,t,i,s,n){this._removeNamed(e),t.addEventListener(i,s,n),this._named[e]={el:t,type:i,handler:s,options:n}}_removeNamed(e){var t=this._named[e];t&&(t.el.removeEventListener(t.type,t.handler,t.options),delete this._named[e])}init(){var s=this,e=this.element.getAttribute("id"),t=this.element,i=t.form,e=(te++,this.selectId="bs-select-"+te,t.classList.add("bs-select-hidden"),this.multiple=this.element.multiple,this.autofocus=this.element.autofocus,t.classList.contains("show-tick")&&(this.options.showTick=!0),this.newElement=this.createDropdown(),t.parentNode.insertBefore(this.newElement,t.nextSibling),this.newElement.insertBefore(t,this.newElement.firstChild),i&&null===t.form&&(i.id||(i.id="form-"+this.selectId),t.setAttribute("form",i.id)),this.button=this.newElement.querySelector(":scope > button"),this.options.allowClear&&(this.clearButton=this.button.querySelector(".bs-select-clear-selected")),this.menu=this.newElement.querySelector(":scope > "+oe),this.menuInner=this.menu.querySelector(".inner"),this.searchbox=this.menu.querySelector("input"),this.selectedItems=this.newElement.querySelector(":scope > .bs-selected-items-external")||this.menu.querySelector(".bs-selected-items"),this.createOptionButton=this.menu.querySelector(".bs-create-option"),t.classList.remove("bs-select-hidden"),this.fetchData(function(){s.render(!0),s.buildList(),requestAnimationFrame(function(){s._emit("loaded")})}),!0===this.options.dropdownAlignRight&&this.menu.classList.add(se),null!=e&&this.button.setAttribute("data-id",e),this.checkDisabled(),this.clickListener(),c());this.dropdown=new e(this.button),((this.newElement.bootstrapSelectInstance=this).menu.bootstrapSelectInstance=this).options.liveSearch?(this.liveSearchListener(),this.focusedParent=this.searchbox):this.focusedParent=this.menuInner,this.setStyle(),this.setWidth(),this._on(this.element,"hide"+d,function(){var e,t;s.isVirtual()&&(t=(e=s.menuInner).firstChild.cloneNode(!1),e.replaceChild(t,e.firstChild),e.scrollTop=0)}),this._on(this.newElement,"hide.bs.dropdown",function(e){s._emit("hide",{bsEvent:e})}),this._on(this.newElement,"hidden.bs.dropdown",function(e){s._emit("hidden",{bsEvent:e})}),this._on(this.newElement,"show.bs.dropdown",function(e){s.onShow(e),s._emit("show",{bsEvent:e})}),this._on(this.newElement,"shown.bs.dropdown",function(e){s._emit("shown",{bsEvent:e})}),t.hasAttribute("required")&&this._on(this.element,"invalid",function(){s.button.classList.add("bs-invalid");function e(){y(s.element,"change"),s.element.removeEventListener("shown"+d,e)}function t(){s.element.validity.valid&&s.button.classList.remove("bs-invalid"),s.element.removeEventListener("rendered"+d,t)}function i(){s.element.focus(),s.element.blur(),s.button.removeEventListener("blur"+d,i)}s._on(s.element,"shown"+d,e),s._on(s.element,"rendered"+d,t);s._on(s.button,"blur"+d,i)}),i&&this._on(i,"reset",function(){requestAnimationFrame(function(){s.render()})})}createDropdown(){var e=this.multiple||this.options.showTick?" show-tick":"",t=this.options.showSelectedTags?" show-selected-tags":"",i="list"===this.options.selectedItemsStyle?" selected-items-style-list":"",s="checkbox"===this.options.selectionIndicator?" selection-indicator-checkbox":"",n=this.multiple?' aria-multiselectable="true"':"",o=this.autofocus?" autofocus":"",l=this.options.liveSearchPlaceholder;null===l&&(this.options.showSelectedTags||this.options.openOptions)&&(l=this.options.placeholder||"Search");var r="",a="",c="",h="",d="";return this.options.header&&(r='
    '+this.options.header+"
    "),this.options.liveSearch&&(a='"),this.multiple&&this.options.actionsBox&&(c='
    "),this.multiple&&this.options.doneButton&&(h='
    "),this.options.allowClear&&(d='×'),x('")}onShow(){this.options.liveSearch&&this.searchbox.value&&(this.searchbox.value="",this.selectpicker.search.previousValue=void 0),this.newElement.classList.contains(L)||this.setSize()}setPositionData(){this.selectpicker.view.canHighlight=[],this.selectpicker.view.size=0,this.selectpicker.view.firstHighlightIndex=!1;for(var e=0;e=this.options.virtualScroll||!0===this.options.virtualScroll}createView(y,e,t){var I=this,i=0;function S(e,t){var i,s=I.selectpicker.current.data.length,n=[],o=!0,l=I.isVirtual();I.selectpicker.view.scrollTop=e;for(var r,a=I.options.chunkSize,c=Math.ceil(s/a)||1,h=0;hs-1?0:I.selectpicker.current.data[s-1].position-I.selectpicker.current.data[I.selectpicker.view.position1-1].position,p.firstChild.style.marginTop=g+"px",p.firstChild.style.marginBottom=o+"px"):(p.firstChild.style.marginTop=0,p.firstChild.style.marginBottom=0),p.firstChild.appendChild(u),!0===l&&I.sizeInfo.hasScrollBar&&(m=p.firstChild.offsetWidth,t&&mI.sizeInfo.selectWidth?p.firstChild.style.minWidth=I.sizeInfo.menuInnerInnerWidth+"px":m>I.sizeInfo.menuInnerInnerWidth&&(I.menu.style.minWidth=0,(g=p.firstChild.offsetWidth)>I.sizeInfo.menuInnerInnerWidth&&(I.sizeInfo.menuInnerInnerWidth=g,p.firstChild.style.minWidth=I.sizeInfo.menuInnerInnerWidth+"px"),I.menu.style.minWidth=""))}(!y&&I.options.source.data||y&&I.options.source.search)&&I.selectpicker.current.hasMore&&i===c-1&&0 *:not(:disabled)"))?o.index:0,l=(l=window.performance&&window.performance.getEntriesByType("navigation"))&&l.length?"back_forward"!==l[0].type:2!==window.performance.navigation.type,i&&(this.selectpicker.view.titleOption.className="bs-title-option",this.selectpicker.view.titleOption.value="",t=!n||s===o&&!1===n.defaultSelected),!i&&0===this.selectpicker.view.titleOption.index||e.insertBefore(this.selectpicker.view.titleOption,e.firstChild),t&&l?e.selectedIndex=0:"complete"!==document.readyState&&window.addEventListener("pageshow",function(){r.selectpicker.view.displayedValue!==e.value&&r.render()})),a}fetchData(n,o,e,t){e=e||1,o=o||"data";var l,r=this,i=this.options.source[o];i?(this.options.virtualScroll=!0,"function"==typeof i?i.call(this,function(e,t,i){var s=r.selectpicker["search"===o?"search":"main"];s.hasMore=t,s.totalItems=i,l=r.buildData(e,o),n.call(r,l),r._emit("fetched")},e,t):Array.isArray(i)&&(l=r.buildData(i,o),n.call(r,l))):(l=this.buildData(!1,o),n.call(r,l))}buildData(d,e){var o=this,p=!1===d?_.fromOption:_.fromDataSource,u=':not([hidden]):not([data-hidden="true"]):not([style*="display: none"])',m=[],l=this.selectpicker.main.data?this.selectpicker.main.data.length:0,f=0,v=this.setPlaceholder()&&!d?1:0,t=("search"===e&&(l=this.selectpicker.search.data.length),this.options.hideDisabled&&(u+=":not(:disabled)"),d?d.filter(he,this):this.element.querySelectorAll("select > *"+u));function g(e){var t=m[m.length-1];t&&"divider"===t.type&&(t.optID||e.optID)||((e=e||{}).type="divider",m.push(e))}function b(e,t){var i,s,n;(t=t||{}).divider=p(e,"divider"),!0===t.divider?g({optID:t.optID}):(i=m.length+l,s=(s=p(e,"style"))?k(s):"",n=(e.className||"")+(t.optgroupClass||""),t.optID&&(n="opt "+n),t.optionClass=n.trim(),t.inlineStyle=s,t.text=p(e,"text"),t.title=p(e,"title"),t.content=p(e,"content"),t.tokens=p(e,"tokens"),t.subtext=p(e,"subtext"),t.icon=p(e,"icon"),t.display=t.content||t.text,t.value=void 0===e.value?e.text:e.value,t.type="option",t.index=i,t.option=e.option||e,t.option.liIndex=i,t.selected=!!e.selected,t.disabled=t.disabled||!!e.disabled,!1!==d&&(o.selectpicker.optionValuesDataMap[t.value]?t=Object.assign(o.selectpicker.optionValuesDataMap[t.value],t):o.selectpicker.optionValuesDataMap[t.value]=t),m.push(t))}function i(e,t){var i=t[e],s=!(e-1 li")}render(e){var i=this,t=this.element,s=this.setPlaceholder()&&0===t.selectedIndex,n=B.call(this),o=n.length,l=M.call(this,n),r=this.button,a=r.querySelector(".filter-option-inner-inner"),c=document.createTextNode(this.options.multipleSeparator),h=D.fragment.cloneNode(!1),d=this.multiple&&this.options.showSelectedTags&&0")).length&&o>t[1]||1===t.length&&2<=o:e)){if(!s){for(var u=0;u option"+l+", optgroup"+l+" option"+l).length),t="function"==typeof this.options.countSelectedText?this.options.countSelectedText(o,d):this.options.countSelectedText,h=H.text.call(this,{text:t.replace("{0}",o.toString()).replace("{1}",d.toString())},!0);h.childNodes.length||(h=H.text.call(this,{text:this.options.placeholder||this.options.noneSelectedText},!0)),r.title=h.textContent.replace(/<[^>]*>?/g,"").trim(),this.options.sanitize&&p&&E([h],i.options.whiteList,i.options.sanitizeFn),a.innerHTML="",a.appendChild(h),this.syncTagEditor(),this._emit("rendered")}usesTagEditor(){return this.options.liveSearch&&(this.options.showSelectedTags||this.options.openOptions)}syncTagEditor(){if(this.usesTagEditor()){if(this.selectedItems){var e=B.call(this),t="list"===this.options.selectedItemsStyle;this.selectedItems.innerHTML="",this.selectedItems.hidden=!e.length,this.selectedItems.classList.toggle("list-group",t);for(var i=0;ithis.sizeInfo.menuExtras.vert&&l+this.sizeInfo.menuExtras.vert+50>this.sizeInfo.selectOffsetBot,!0===this.selectpicker.isSearching&&(l=this.selectpicker.dropup),this.newElement.classList.toggle(A,l),this.selectpicker.dropup=l),"auto"===this.options.size)l=3this.options.size){for(var v=0;vthis.sizeInfo.menuInnerHeight&&(this.sizeInfo.hasScrollBar=!0,this.sizeInfo.totalMenuWidth=this.sizeInfo.menuWidth+this.sizeInfo.scrollBarWidth),"auto"===this.options.dropdownAlignRight&&this.menu.classList.toggle(se,this.sizeInfo.selectOffsetLeft>this.sizeInfo.selectOffsetRight&&this.sizeInfo.selectOffsetRightthis.options.size&&(this._removeNamed("setMenuSizeResize"),this._removeNamed("setMenuSizeScroll"))),this.createView(!1,!0,e)}setWidth(){this.menu.style.minWidth="",this.newElement.style.width="",this.newElement.classList.remove("fit-width"),"fit"===this.options.width?this.newElement.classList.add("fit-width"):this.options.width&&"auto"!==this.options.width&&(this.newElement.style.width=this.options.width)}selectPosition(){this.bsContainer=x('
    ');function e(){r.newElement.classList.contains(L)&&i(r.newElement)}var n,o,l,t,r=this,a=(t=this.options.container)?"string"==typeof t?document.querySelector(t):t:null,i=function(e){var t=c(),i={},t=r.options.display||!!t.Default&&t.Default.display,s=e.getAttribute("class").replace(/form-control|fit-width/gi,"").trim();s&&r.bsContainer.classList.add.apply(r.bsContainer.classList,s.split(/\s+/)),r.bsContainer.classList.toggle(A,e.classList.contains(A)),n=h(e),a!==document.body?(o=h(a),s=window.getComputedStyle(a),o.top+=v(s.borderTopWidth)-a.scrollTop,o.left+=v(s.borderLeftWidth)-a.scrollLeft):o={top:0,left:0},l=e.classList.contains(A)?0:e.offsetHeight,"static"===t&&(i.top=n.top-o.top+l,i.left=n.left-o.left),i.width=e.offsetWidth,b(r.bsContainer,{top:void 0!==i.top?i.top+"px":"",left:void 0!==i.left?i.left+"px":"",width:i.width+"px"})};this._on(this.button,"click",function(){r.isDisabled()||(i(r.newElement),a.appendChild(r.bsContainer),r.bsContainer.classList.toggle(L,!r.button.classList.contains(L)),r.bsContainer.appendChild(r.menu))});this._replace("selectPositionResize",window,"resize",e),this._replace("selectPositionScroll",window,"scroll",e),this._on(this.element,"hide"+d,function(){r._menuHeight=g(r.menu),r.bsContainer.parentNode&&r.bsContainer.parentNode.removeChild(r.bsContainer)})}createOption(e,t){var i,s=e.option||e;s&&1!==s.nodeType&&(i=(t?D.selectedOption:D.option).cloneNode(!0),void 0!==s.value&&(i.value=s.value),i.textContent=s.text,i.selected=!0,void 0!==s.liIndex?i.liIndex=s.liIndex:t||(i.liIndex=e.index),e.option=i,this.selectpicker.main.optionQueue.appendChild(i))}setOptionStatus(e){var t=this;if(t.noScroll=!1,t.selectpicker.view.visibleElements&&t.selectpicker.view.visibleElements.length){for(var i=0;i
    ');s.menu.appendChild(k),m&&o&&(k.appendChild(x("
    "+w+"
    ")),h=!1,s._emit("maxReached")),d&&i&&(k.appendChild(x("
    "+e+"
    ")),h=!1,s._emit("maxReachedGrp")),setTimeout(function(){s.setSelected(l,!1)},10),k.classList.add("fadeOut"),setTimeout(function(){k.remove()},1050)}}}else c&&s.setSelected(c,!1),s.setSelected(l,!0);s.options.source.data&&s.element.appendChild(s.selectpicker.main.optionQueue),s.multiple&&(s.multiple,1!==s.options.maxOptions)?s.options.liveSearch&&s.searchbox.focus():s.button.focus(),!h||!s.multiple&&a===n.selectedIndex||(W=[t.index,t.selected,r],y(s.element,"change"))}}liveSearchListener(){var m=this;this._on(this.searchbox,"click",function(e){e.stopPropagation()}),this._on(this.searchbox,"focus",function(e){e.stopPropagation()}),this._on(this.searchbox,"touchend",function(e){e.stopPropagation()}),this._on(this.searchbox,"keydown",function(e){"Enter"!==e.key||!m.createOptionButton||m.createOptionButton.hidden||m.selectpicker.current.data.length||(e.preventDefault(),e.stopPropagation(),m.createOpenOption(m.searchbox.value))}),this._on(this.searchbox,"input",function(){var e=m.searchbox.value;if(m.selectpicker.search.elements=[],m.selectpicker.search.data=[],e)if(m.selectpicker.search.previousValue=e,m.options.source.search)m.fetchData(function(){m.appendCreatedSearchResults(e),m.render(),m.buildList(void 0,!0),m.noScroll=!0,m.menuInner.scrollTop=0,m.createView(!0),ce.call(m,m.selectpicker.search.data,e)},"search",0,e);else{var t=[],i=e.toUpperCase(),s={},n=[],o=m._searchStyle(),l=m.options.liveSearchNormalize;l&&(i=f(i));for(var r=0;r=l.selectpicker.view.canHighlight.length&&(d=l.selectpicker.view.firstHighlightIndex),l.selectpicker.view.canHighlight[d+u])||(d=d+1+l.selectpicker.view.canHighlight.slice(d+u+1).indexOf(!0)),e.preventDefault();var m=u+d;r===C?0===u&&d===c.length-1?(l.menuInner.scrollTop=l.menuInner.scrollHeight,m=l.selectpicker.current.elements.length-1):(n=l.selectpicker.current.data[m])&&(h=(o=n.position-n.height)p+l.sizeInfo.menuInnerHeight)),l.activeElement=s=v[u],l.focusItem(s),s&&s.firstChild.focus(),h&&(l.menuInner.scrollTop=o),t.focus())}i&&(r===I&&!l.selectpicker.keydown.keyHistory||r===ee||r===S&&l.options.selectOnTab)&&(r!==I&&e.preventDefault(),l.options.liveSearch&&r===I||((a=l.menuInner.querySelector(".active a"))&&l.onOptionClick(a,e,!0),t.focus(),l.options.liveSearch)||(e.preventDefault(),V=!0))}}mobile(){this.options.mobile=!0,this.element.classList.add("mobile-device")}resetMenuData(){this.selectpicker.main.data=[],this.selectpicker.main.elements=[],this.selectpicker.main.hasMore=!1,this.selectpicker.search.data=[],this.selectpicker.search.elements=[],this.selectpicker.search.hasMore=!1,this.selectpicker.current.data=this.selectpicker.main.data,this.selectpicker.current.elements=this.selectpicker.main.elements,this.selectpicker.current.hasMore=!1,this.selectpicker.isSearching=!1}refresh(){var e=this,t=r(Object.assign({},this.options,j(this.element),l(this.element)));this.options=t,this.options.source.data?(this.render(),this.buildList()):(this.resetMenuData(),this.fetchData(function(){e.render(),e.buildList()})),this.checkDisabled(),this.setStyle(),this.setWidth(),this.setSize(!0),this._emit("refreshed")}hide(){this.newElement.style.display="none"}show(){this.newElement.style.display=""}remove(){this.newElement.parentNode&&this.newElement.parentNode.removeChild(this.newElement),n.delete(this.element)}destroy(){this.newElement.parentNode&&(this.newElement.parentNode.insertBefore(this.element,this.newElement),this.newElement.parentNode.removeChild(this.newElement)),this.bsContainer?this.bsContainer.parentNode&&this.bsContainer.parentNode.removeChild(this.bsContainer):this.menu&&this.menu.parentNode&&this.menu.parentNode.removeChild(this.menu),this.selectpicker.view.titleOption&&this.selectpicker.view.titleOption.parentNode&&this.selectpicker.view.titleOption.parentNode.removeChild(this.selectpicker.view.titleOption);for(var e,t=0;t
    '},maxOptions:!1,selectOnTab:!0,dropdownAlignRight:!1,virtualScroll:600,sanitize:!0,sanitizeFn:null,whiteList:s},a._buildConfig=function(e,t){t=r(t||{});var i,s=r(l(e));for(i in s)Object.prototype.hasOwnProperty.call(s,i)&&-1!==u.indexOf(i)&&delete s[i];var n=r(a.defaults||{}),o=Object.assign({},a.DEFAULTS,n,j(e),s,t);return o.template=Object.assign({},a.DEFAULTS.template,n.template||{},s.template,t.template),o.source=Object.assign({},a.DEFAULTS.source,n.source||{},t.source),n=e,(t=o).placeholder||(n=n.getAttribute("title"))&&(t.placeholder=n),t},a.setDefaults=function(e){a.defaults=r(Object.assign({},a.defaults,e))},a.getInstance=function(e){return"string"==typeof e&&(e=document.querySelector(e)),n.get(e)||null},a.getOrCreateInstance=function(e,t){if(!(e="string"==typeof e?document.querySelector(e):e)||"SELECT"!==e.tagName)return null;var i=n.get(e);if(i){if((t=r(t))&&"object"==typeof t)for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(i.options[s]=t[s]);return i}return new a(e,"object"==typeof t?t:{})},".bootstrap-select ["+le+'], .bootstrap-select [role="listbox"], .bootstrap-select .bs-searchbox input');function ue(){var e=document.querySelectorAll(".selectpicker");Array.prototype.forEach.call(e,function(e){a.getOrCreateInstance(e)})}return window.addEventListener("keydown",function(e){var t=e.target;if(t&&t.closest&&t.closest(".bootstrap-select, .bs-container")){e.stopImmediatePropagation();t=t.closest(pe);if(t){for(var i,s=t;s;s=s.parentElement)if(s.bootstrapSelectInstance){i=s.bootstrapSelectInstance;break}i&&i._keydown(e,t)}}},!0),document.addEventListener("focusin",function(e){var t=e.target;t&&t.closest&&t.closest(pe)&&e.stopPropagation()}),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",ue):ue(),"undefined"!=typeof window&&(window.Selectpicker=a),a}); -//# sourceMappingURL=bootstrap-select.min.js.map \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){var t=!0;function i(){var t=e||("undefined"!=typeof window?window.bootstrap:void 0);return t&&t.Dropdown||("undefined"!=typeof window?window.Dropdown:void 0)}function s(e){var t=document.createElement("div");return t.innerHTML=e.trim(),t.firstChild}function n(e){return parseInt(e,10)||0}function o(e){var t=e.getBoundingClientRect();return{top:t.top+window.pageYOffset,left:t.left+window.pageXOffset}}function l(e,t){var i=e.offsetHeight;if(t){var s=window.getComputedStyle(e);i+=n(s.marginTop)+n(s.marginBottom)}return i}function r(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e.style[i]=t[i])}function a(e,t){e.dispatchEvent(new Event(t,{bubbles:!0}))}function c(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})}function h(e){if("true"===e)return!0;if("false"===e)return!1;if("null"===e)return null;if(e===+e+"")return+e;if(/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/.test(e))try{return JSON.parse(e)}catch(t){return e}return e}function d(e){for(var t={},i=e.attributes,s=0;s]+>/g,"")),s&&(a=z(a)),a=a.toUpperCase(),o="function"==typeof i?i(a,t):"contains"===i?a.indexOf(t)>=0:a.startsWith(t)))break}return o}function y(e,t){return null==e&&(e=""),e=e.toString().trim(),t&&e&&(e=z(e)),e.toUpperCase()}function I(e){return e&&(e.title||e.text||e.value)||""}var S={"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"},E=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,C=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]","g");function O(e){return S[e]}function z(e){return(e=e.toString())&&e.replace(E,O).replace(C,"")}var L,A,N,T,D,H=(L={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},A=function(e){return L[e]},N="(?:"+Object.keys(L).join("|")+")",T=RegExp(N),D=RegExp(N,"g"),function(e){return e=null==e?"":""+e,T.test(e)?e.replace(D,A):e}),_={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"A",66:"B",67:"C",68:"D",69:"E",70:"F",71:"G",72:"H",73:"I",74:"J",75:"K",76:"L",77:"M",78:"N",79:"O",80:"P",81:"Q",82:"R",83:"S",84:"T",85:"U",86:"V",87:"W",88:"X",89:"Y",90:"Z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"},B=27,M=13,W=32,V=9,P=38,R=40,q=0,j=".bs.select",F="disabled",U="dropdown-divider",G="show",Q="dropup",K="dropdown-menu",Y="dropdown-menu-end",Z="btn-light",$="popover-header",J="",X="bs-ok-default",ee="."+K,te='data-bs-toggle="dropdown"',ie={div:document.createElement("div"),span:document.createElement("span"),i:document.createElement("i"),subtext:document.createElement("small"),a:document.createElement("a"),li:document.createElement("li"),whitespace:document.createTextNode("\xa0"),fragment:document.createDocumentFragment(),option:document.createElement("option")};ie.selectedOption=ie.option.cloneNode(!1),ie.selectedOption.setAttribute("selected",!0),ie.noResults=ie.li.cloneNode(!1),ie.noResults.className="no-results",ie.a.setAttribute("role","option"),ie.a.className="dropdown-item",ie.subtext.className="text-muted",ie.text=ie.span.cloneNode(!1),ie.text.className="text",ie.checkMark=ie.span.cloneNode(!1);var se=new RegExp(P+"|"+R),ne=new RegExp("^"+V+"$|"+B),oe={li:function(e,t,i){var s=ie.li.cloneNode(!1);return e&&(1===e.nodeType||11===e.nodeType?s.appendChild(e):s.innerHTML=e),void 0!==t&&""!==t&&(s.className=t),null!=i&&s.classList.add("optgroup-"+i),s},a:function(e,t,i){var s=ie.a.cloneNode(!0);return e&&(11===e.nodeType?s.appendChild(e):s.insertAdjacentHTML("beforeend",e)),void 0!==t&&""!==t&&s.classList.add.apply(s.classList,t.split(/\s+/)),i&&s.setAttribute("style",i),s},text:function(e,t){var i,s,n=ie.text.cloneNode(!1);if(e.content)n.innerHTML=e.content;else{if(n.textContent=e.text,e.icon){var o=ie.whitespace.cloneNode(!1);(s=(!0===t?ie.i:ie.span).cloneNode(!1)).className=this.options.iconBase+" "+e.icon,ie.fragment.appendChild(s),ie.fragment.appendChild(o)}e.subtext&&((i=ie.subtext.cloneNode(!1)).textContent=e.subtext,n.appendChild(i))}if(!0===t)for(;n.childNodes.length>0;)ie.fragment.appendChild(n.childNodes[0]);else ie.fragment.appendChild(n);return ie.fragment},label:function(e){var t,i,s=ie.text.cloneNode(!1);if(s.innerHTML=e.display,e.icon){var n=ie.whitespace.cloneNode(!1);(i=ie.span.cloneNode(!1)).className=this.options.iconBase+" "+e.icon,ie.fragment.appendChild(i),ie.fragment.appendChild(n)}return e.subtext&&((t=ie.subtext.cloneNode(!1)).textContent=e.subtext,s.appendChild(t)),ie.fragment.appendChild(s),ie.fragment}},le={fromOption:function(e,t){var i;switch(t){case"divider":i="true"===e.getAttribute("data-divider");break;case"text":i=e.textContent;break;case"label":i=e.label;break;case"style":i=e.style.cssText;break;case"title":i=e.title;break;default:i=e.getAttribute("data-"+t.replace(/[A-Z]+(?![a-z])|[A-Z]/g,function(e,t){return(t?"-":"")+e.toLowerCase()}))}return i},fromDataSource:function(e,t){var i;switch(t){case"text":case"label":i=e.text||e.value||"";break;default:i=e[t]}return i}};function re(e,t){e.length||(ie.noResults.innerHTML=this.options.noneResultsText.replace("{0}",'"'+H(t)+'"'),this.menuInner.firstChild.appendChild(ie.noResults))}function ae(e){return!(e.hidden||this.options.hideDisabled&&e.disabled)}function ce(){var e=this.selectpicker.main.data;(this.options.source.data||this.options.source.search)&&(e=Object.values(this.selectpicker.optionValuesDataMap));var t=e.filter(function(e){return!!e.selected&&(!this.options.hideDisabled||!e.disabled)},this);if(this.options.source.data&&!this.multiple&&t.length>1){for(var i=0;isetTimeout(()=>{this.selectpicker.keydown.keyHistory=""},800)}}},this.sizeInfo={},this.init(),ve.set(e,this)}_on(e,t,i,s){return e.addEventListener(t,i,s),this._listeners.push({el:e,type:t,handler:i,options:s}),i}_delegate(e,t,i,s,n){return this._on(e,t,function(t){var n=t.target.closest(i);n&&e.contains(n)&&s.call(n,t)},n)}_emit(e,t){var i=new CustomEvent(e+j,{bubbles:!0,cancelable:!0,detail:t||null});return this.element.dispatchEvent(i),i}_replace(e,t,i,s,n){this._removeNamed(e),t.addEventListener(i,s,n),this._named[e]={el:t,type:i,handler:s,options:n}}_removeNamed(e){var t=this._named[e];t&&(t.el.removeEventListener(t.type,t.handler,t.options),delete this._named[e])}init(){var e=this,t=this.element.getAttribute("id"),s=this.element,n=s.form;q++,this.selectId="bs-select-"+q,s.classList.add("bs-select-hidden"),this.multiple=this.element.multiple,this.autofocus=this.element.autofocus,s.classList.contains("show-tick")&&(this.options.showTick=!0),this.newElement=this.createDropdown(),s.parentNode.insertBefore(this.newElement,s.nextSibling),this.newElement.insertBefore(s,this.newElement.firstChild),n&&null===s.form&&(n.id||(n.id="form-"+this.selectId),s.setAttribute("form",n.id)),this.button=this.newElement.querySelector(":scope > button"),this.options.allowClear&&(this.clearButton=this.button.querySelector(".bs-select-clear-selected")),this.menu=this.newElement.querySelector(":scope > "+ee),this.menuInner=this.menu.querySelector(".inner"),this.searchbox=this.menu.querySelector("input"),this.selectedItems=this.newElement.querySelector(":scope > .bs-selected-items-external")||this.menu.querySelector(".bs-selected-items"),this.createOptionButton=this.menu.querySelector(".bs-create-option"),s.classList.remove("bs-select-hidden"),this.fetchData(function(){e.render(!0),e.buildList(),requestAnimationFrame(function(){e._emit("loaded")})}),!0===this.options.dropdownAlignRight&&this.menu.classList.add(Y),null!=t&&this.button.setAttribute("data-id",t),this.checkDisabled(),this.clickListener();var o=i();this.dropdown=new o(this.button),this.newElement.bootstrapSelectInstance=this,this.menu.bootstrapSelectInstance=this,this.options.liveSearch?(this.liveSearchListener(),this.focusedParent=this.searchbox):this.focusedParent=this.menuInner,this.setStyle(),this.setWidth(),this._on(this.element,"hide"+j,function(){if(e.isVirtual()){var t=e.menuInner,i=t.firstChild.cloneNode(!1);t.replaceChild(i,t.firstChild),t.scrollTop=0}}),this._on(this.newElement,"hide.bs.dropdown",function(t){e._emit("hide",{bsEvent:t})}),this._on(this.newElement,"hidden.bs.dropdown",function(t){e._emit("hidden",{bsEvent:t})}),this._on(this.newElement,"show.bs.dropdown",function(t){e.onShow(t),e._emit("show",{bsEvent:t})}),this._on(this.newElement,"shown.bs.dropdown",function(t){e._emit("shown",{bsEvent:t})}),s.hasAttribute("required")&&this._on(this.element,"invalid",function(){e.button.classList.add("bs-invalid");var t=function(){a(e.element,"change"),e.element.removeEventListener("shown"+j,t)};e._on(e.element,"shown"+j,t);var i=function(){e.element.validity.valid&&e.button.classList.remove("bs-invalid"),e.element.removeEventListener("rendered"+j,i)};e._on(e.element,"rendered"+j,i);var s=function(){e.element.focus(),e.element.blur(),e.button.removeEventListener("blur"+j,s)};e._on(e.button,"blur"+j,s)}),n&&this._on(n,"reset",function(){requestAnimationFrame(function(){e.render()})})}createDropdown(){var e="checkbox"===this.options.selectionIndicator,t=this.multiple||this.options.showTick||e?" show-tick":"",i=this.options.showSelectedTags?" show-selected-tags":"",n="list"===this.options.selectedItemsStyle?" selected-items-style-list":"",o=e?this.multiple?" selection-indicator-checkbox":" selection-indicator-radio":"",l=this.multiple?' aria-multiselectable="true"':"",r=this.autofocus?" autofocus":"",a=this.options.liveSearchPlaceholder;null===a&&(this.options.showSelectedTags||this.options.openOptions)&&(a=this.options.placeholder||"Search");var c="",h="",d="",p="",u="";return this.options.header&&(c='
    '+this.options.header+'
    '),this.options.liveSearch&&(h='"),this.multiple&&this.options.actionsBox&&(d='
    "),this.multiple&&this.options.doneButton&&(p='
    "),this.options.allowClear&&(u='×'),s('")}onShow(){this.options.liveSearch&&this.searchbox.value&&(this.searchbox.value="",this.selectpicker.search.previousValue=void 0),this.newElement.classList.contains(G)||this.setSize()}setPositionData(){this.selectpicker.view.canHighlight=[],this.selectpicker.view.size=0,this.selectpicker.view.firstHighlightIndex=!1;for(var e=0;e=this.options.virtualScroll||!0===this.options.virtualScroll}createView(e,t,i){var s=this,n=0;if(this.selectpicker.isSearching=e,this.selectpicker.current=e?this.selectpicker.search:this.selectpicker.main,this.setPositionData(),t)if(i)n=this.menuInner.scrollTop;else if(!s.multiple){var o=s.element,l=(o.options[o.selectedIndex]||{}).liIndex;if("number"==typeof l&&!1!==s.options.size){var r=s.selectpicker.main.data[l],a=r&&r.position;a&&(n=a-(s.sizeInfo.menuInnerHeight+s.sizeInfo.liHeight)/2)}}function c(t,i){var n,o,l,r,a,h,d,p,u,m,f=s.selectpicker.current.data.length,v=[],g=!0,b=s.isVirtual();s.selectpicker.view.scrollTop=t,n=s.options.chunkSize,o=Math.ceil(f/n)||1;for(var k=0;kf-1?0:s.selectpicker.current.data[f-1].position-s.selectpicker.current.data[s.selectpicker.view.position1-1].position,S.firstChild.style.marginTop=y+"px",S.firstChild.style.marginBottom=I+"px"):(S.firstChild.style.marginTop=0,S.firstChild.style.marginBottom=0),S.firstChild.appendChild(E),!0===b&&s.sizeInfo.hasScrollBar){var D=S.firstChild.offsetWidth;if(i&&Ds.sizeInfo.selectWidth)S.firstChild.style.minWidth=s.sizeInfo.menuInnerInnerWidth+"px";else if(D>s.sizeInfo.menuInnerInnerWidth){s.menu.style.minWidth=0;var H=S.firstChild.offsetWidth;H>s.sizeInfo.menuInnerInnerWidth&&(s.sizeInfo.menuInnerInnerWidth=H,S.firstChild.style.minWidth=s.sizeInfo.menuInnerInnerWidth+"px"),s.menu.style.minWidth=""}}}if((!e&&s.options.source.data||e&&s.options.source.search)&&s.selectpicker.current.hasMore&&a===o-1&&t>0){var _=Math.floor(a*s.options.chunkSize/s.options.source.pageSize)+2;s.fetchData(function(){s.render(),s.buildList(f,e),s.setPositionData(),c(t)},e?"search":"data",_,e?s.selectpicker.search.previousValue:void 0)}}if(s.prevActiveElement=s.activeElement,s.options.liveSearch){if(e&&i){var B,M=0;s.selectpicker.view.canHighlight[M]||(M=1+s.selectpicker.view.canHighlight.slice(1).indexOf(!0)),B=s.selectpicker.view.visibleElements[M],s.defocusItem(s.selectpicker.view.currentActive),s.activeElement=(s.selectpicker.current.data[M]||{}).element,s.focusItem(B)}}else s.menuInner.focus()}c(n,!0),this._replace("createViewScroll",this.menuInner,"scroll",function(){s.noScroll||c(s.menuInner.scrollTop),s.noScroll=!1}),this._replace("createViewResize",window,"resize",function(){s.newElement.classList.contains(G)&&c(s.menuInner.scrollTop)})}focusItem(e,t,i){if(e){t=t||this.selectpicker.current.data[this.selectpicker.current.elements.indexOf(this.activeElement)];var s=e.firstChild;s&&(s.setAttribute("aria-setsize",this.selectpicker.view.size),s.setAttribute("aria-posinset",t.posinset),!0!==i&&(this.focusedParent.setAttribute("aria-activedescendant",s.id),e.classList.add("active"),s.classList.add("active")))}}defocusItem(e){e&&(e.classList.remove("active"),e.firstChild&&e.firstChild.classList.remove("active"))}setPlaceholder(){var e=this,t=!1;if((this.options.placeholder||this.options.allowClear)&&!this.multiple){this.selectpicker.view.titleOption||(this.selectpicker.view.titleOption=document.createElement("option")),t=!0;var i=this.element,s=!1,n=!this.selectpicker.view.titleOption.parentNode,o=i.selectedIndex,l=i.options[o],r=i.querySelector("select > *:not(:disabled)"),a=r?r.index:0,c=window.performance&&window.performance.getEntriesByType("navigation"),h=c&&c.length?"back_forward"!==c[0].type:2!==window.performance.navigation.type;n&&(this.selectpicker.view.titleOption.className="bs-title-option",this.selectpicker.view.titleOption.value="",s=!l||o===a&&!1===l.defaultSelected),(n||0!==this.selectpicker.view.titleOption.index)&&i.insertBefore(this.selectpicker.view.titleOption,i.firstChild),s&&h?i.selectedIndex=0:"complete"!==document.readyState&&window.addEventListener("pageshow",function(){e.selectpicker.view.displayedValue!==i.value&&e.render()})}return t}fetchData(e,t,i,s){i=i||1,t=t||"data";var n,o=this,l=this.options.source[t];l?(this.options.virtualScroll=!0,"function"==typeof l?l.call(this,function(i,s,l){var r=o.selectpicker["search"===t?"search":"main"];r.hasMore=s,r.totalItems=l,n=o.buildData(i,t),e.call(o,n),o._emit("fetched")},i,s):Array.isArray(l)&&(n=o.buildData(l,t),e.call(o,n))):(n=this.buildData(!1,t),e.call(o,n))}buildData(e,t){var i=this,s=!1===e?le.fromOption:le.fromDataSource,n=':not([hidden]):not([data-hidden="true"]):not([style*="display: none"])',o=[],l=this.selectpicker.main.data?this.selectpicker.main.data.length:0,r=0,a=this.setPlaceholder()&&!e?1:0;"search"===t&&(l=this.selectpicker.search.data.length),this.options.hideDisabled&&(n+=":not(:disabled)");var c,h=e?e.filter(ae,this):this.element.querySelectorAll("select > *"+n);function d(e){var t=o[o.length-1];t&&"divider"===t.type&&(t.optID||e.optID)||((e=e||{}).type="divider",o.push(e))}function p(t,n){if((n=n||{}).divider=s(t,"divider"),!0===n.divider)d({optID:n.optID});else{var r=o.length+l,a=s(t,"style"),c=a?H(a):"",h=(t.className||"")+(n.optgroupClass||"");n.optID&&(h="opt "+h),n.optionClass=h.trim(),n.inlineStyle=c,n.text=s(t,"text"),n.title=s(t,"title"),n.content=s(t,"content"),n.tokens=s(t,"tokens"),n.subtext=s(t,"subtext"),n.icon=s(t,"icon"),n.display=n.content||n.text,n.value=void 0===t.value?t.text:t.value,n.type="option",n.index=r,n.option=t.option?t.option:t,n.option.liIndex=r,n.selected=!!t.selected,n.disabled=n.disabled||!!t.disabled,!1!==e&&(i.selectpicker.optionValuesDataMap[n.value]?n=Object.assign(i.selectpicker.optionValuesDataMap[n.value],n):i.selectpicker.optionValuesDataMap[n.value]=n),o.push(n)}}function u(t,i){var l=i[t],h=!(t-1o&&(o=n,i.selectpicker.view.widestOption=e[e.length-1])}(i.options.showTick||i.multiple||"checkbox"===i.options.selectionIndicator)&&(ie.checkMark.className="checkbox"===this.options.selectionIndicator?"check-mark bs-selection-indicator":this.options.iconBase+" "+i.options.tickIcon+" check-mark",ie.checkMark.parentNode||ie.a.appendChild(ie.checkMark));for(var r=e||0,a=s.length,c=r;c li")}render(e){var t,i,s=this,n=this.element,o=this.setPlaceholder()&&0===n.selectedIndex,l=ce.call(this),r=l.length,a=he.call(this,l),c=this.button,h=c.querySelector(".filter-option-inner-inner"),d=document.createTextNode(this.options.multipleSeparator),p=ie.fragment.cloneNode(!1),u=this.multiple&&this.options.showSelectedTags&&r>0,m=!1;if(this.options.source.data&&e&&(l.map(function e(t){t.selected?s.createOption(t,!0):t.children&&t.children.length&&t.children.map(e)}),n.appendChild(this.selectpicker.main.optionQueue),o&&(o=0===n.selectedIndex)),c.classList.toggle("bs-placeholder",s.multiple?!r:!a&&0!==a),s.multiple||1!==l.length||(s.selectpicker.view.displayedValue=a),"static"===this.options.selectedTextFormat)p=oe.text.call(this,{text:this.options.placeholder},!0);else if((t=u||this.multiple&&-1!==this.options.selectedTextFormat.indexOf("count")&&r>0)&&!u&&(t=(i=this.options.selectedTextFormat.split(">")).length>1&&r>i[1]||1===i.length&&r>=2),!1===t){if(!o){for(var f=0;f0&&p.appendChild(d.cloneNode(!1)),v.title?g.text=v.title:v.content&&s.options.showContent?(g.content=v.content.toString(),m=!0):(s.options.showIcon&&(g.icon=v.icon),s.options.showSubtext&&!s.multiple&&v.subtext&&(g.subtext=" "+v.subtext),g.text=v.text.trim()),p.appendChild(oe.text.call(this,g,!0)))}r>49&&p.appendChild(document.createTextNode("..."))}}else{var b=':not([hidden]):not([data-hidden="true"]):not([data-divider="true"]):not([style*="display: none"])';this.options.hideDisabled&&(b+=":not(:disabled)");var k=this.element.querySelectorAll("select > option"+b+", optgroup"+b+" option"+b).length,x="function"==typeof this.options.countSelectedText?this.options.countSelectedText(r,k):this.options.countSelectedText;p=oe.text.call(this,{text:x.replace("{0}",r.toString()).replace("{1}",k.toString())},!0)}p.childNodes.length||(p=oe.text.call(this,{text:this.options.placeholder?this.options.placeholder:this.options.noneSelectedText},!0)),c.title=p.textContent.replace(/<[^>]*>?/g,"").trim(),this.options.sanitize&&m&&w([p],s.options.whiteList,s.options.sanitizeFn),h.innerHTML="",h.appendChild(p),this.syncTagEditor(),this._emit("rendered")}usesTagEditor(){return this.options.liveSearch&&(this.options.showSelectedTags||this.options.openOptions)}syncTagEditor(){if(this.usesTagEditor()){if(this.selectedItems){var e=ce.call(this),t="list"===this.options.selectedItemsStyle;this.selectedItems.innerHTML="",this.selectedItems.hidden=!e.length,this.selectedItems.classList.toggle("list-group",t);for(var i=0;i0?this.menu.querySelector("."+$).cloneNode(!0):null,u=this.options.liveSearch&&this.menu.querySelector(".bs-searchbox")?this.menu.querySelector(".bs-searchbox").cloneNode(!0):null,m=this.options.actionsBox&&this.multiple&&this.menu.querySelectorAll(".bs-actionsbox").length>0?this.menu.querySelector(".bs-actionsbox").cloneNode(!0):null,f=this.options.doneButton&&this.multiple&&this.menu.querySelectorAll(".bs-donebutton").length>0?this.menu.querySelector(".bs-donebutton").cloneNode(!0):null,v=this.element.options[0];if(this.sizeInfo.selectWidth=this.newElement.offsetWidth,d.className="text",h.className="dropdown-item "+(v?v.className:""),i.className=this.menu.parentNode.className+" "+G,i.style.width=0,s.className=K+" "+G,o.className="inner "+G,r.className=K+" inner "+G,a.className=U,c.className="dropdown-header",d.appendChild(document.createTextNode("\u200b")),this.selectpicker.current.data.length)for(var g=0;gthis.sizeInfo.menuExtras.vert&&a+this.sizeInfo.menuExtras.vert+50>this.sizeInfo.selectOffsetBot,!0===this.selectpicker.isSearching&&(c=this.selectpicker.dropup),this.newElement.classList.toggle(Q,c),this.selectpicker.dropup=c),"auto"===this.options.size)n=this.selectpicker.current.data.length>3?3*this.sizeInfo.liHeight+this.sizeInfo.menuExtras.vert-2:0,i=this.sizeInfo.selectOffsetBot-this.sizeInfo.menuExtras.vert,s=n+p+u+m+f,l=Math.max(n-g.vert,0),this.newElement.classList.contains(Q)&&(i=this.sizeInfo.selectOffsetTop-this.sizeInfo.menuExtras.vert),o=i,t=i-p-u-m-f-g.vert;else if(this.options.size&&"auto"!==this.options.size&&this.selectpicker.current.elements.length>this.options.size){for(var w=0;wthis.sizeInfo.menuInnerHeight&&(this.sizeInfo.hasScrollBar=!0,this.sizeInfo.totalMenuWidth=this.sizeInfo.menuWidth+this.sizeInfo.scrollBarWidth),"auto"===this.options.dropdownAlignRight&&this.menu.classList.toggle(Y,this.sizeInfo.selectOffsetLeft>this.sizeInfo.selectOffsetRight&&this.sizeInfo.selectOffsetRightthis.options.size&&(this._removeNamed("setMenuSizeResize"),this._removeNamed("setMenuSizeScroll"))}this.createView(!1,!0,e)}setWidth(){this.menu.style.minWidth="",this.newElement.style.width="",this.newElement.classList.remove("fit-width"),"fit"!==this.options.width?this.options.width&&"auto"!==this.options.width&&(this.newElement.style.width=this.options.width):this.newElement.classList.add("fit-width")}selectPosition(){this.bsContainer=s('
    ');var e,t,a,c=this,h=function(e){return e?"string"==typeof e?document.querySelector(e):e:null}(this.options.container),d=function(s){var l=i(),d={},p=c.options.display||!!l.Default&&l.Default.display,u=s.getAttribute("class").replace(/form-control|fit-width/gi,"").trim();if(u&&c.bsContainer.classList.add.apply(c.bsContainer.classList,u.split(/\s+/)),c.bsContainer.classList.toggle(Q,s.classList.contains(Q)),e=o(s),h!==document.body){t=o(h);var m=window.getComputedStyle(h);t.top+=n(m.borderTopWidth)-h.scrollTop,t.left+=n(m.borderLeftWidth)-h.scrollLeft}else t={top:0,left:0};a=s.classList.contains(Q)?0:s.offsetHeight,"static"===p&&(d.top=e.top-t.top+a,d.left=e.left-t.left),d.width=s.offsetWidth,r(c.bsContainer,{top:void 0!==d.top?d.top+"px":"",left:void 0!==d.left?d.left+"px":"",width:d.width+"px"})};this._on(this.button,"click",function(){c.isDisabled()||(d(c.newElement),h.appendChild(c.bsContainer),c.bsContainer.classList.toggle(G,!c.button.classList.contains(G)),c.bsContainer.appendChild(c.menu))});var p=function(){c.newElement.classList.contains(G)&&d(c.newElement)};this._replace("selectPositionResize",window,"resize",p),this._replace("selectPositionScroll",window,"scroll",p),this._on(this.element,"hide"+j,function(){c._menuHeight=l(c.menu),c.bsContainer.parentNode&&c.bsContainer.parentNode.removeChild(c.bsContainer)})}createOption(e,t){var i=e.option?e.option:e;if(i&&1!==i.nodeType){var s=(t?ie.selectedOption:ie.option).cloneNode(!0);void 0!==i.value&&(s.value=i.value),s.textContent=i.text,s.selected=!0,void 0!==i.liIndex?s.liIndex=i.liIndex:t||(s.liIndex=e.index),e.option=s,this.selectpicker.main.optionQueue.appendChild(s)}}setOptionStatus(e){var t=this;if(t.noScroll=!1,t.selectpicker.view.visibleElements&&t.selectpicker.view.visibleElements.length){for(var i=0;i
    ');n.menu.appendChild(H),y&&S&&(H.appendChild(s("
    "+T+"
    ")),f=!1,n._emit("maxReached")),I&&O&&(H.appendChild(s("
    "+D+"
    ")),f=!1,n._emit("maxReachedGrp")),setTimeout(function(){n.setSelected(c,!1)},10),H.classList.add("fadeOut"),setTimeout(function(){H.remove()},1050)}}}else m&&n.setSelected(m,!1),n.setSelected(c,!0);n.options.source.data&&n.element.appendChild(n.selectpicker.main.optionQueue),!n.multiple||n.multiple&&1===n.options.maxOptions?n.button.focus():n.options.liveSearch&&n.searchbox.focus(),f&&(n.multiple||p!==o.selectedIndex)&&(de=[v.index,v.selected,d],a(n.element,"change"))}}liveSearchListener(){var e=this;this._on(this.searchbox,"click",function(e){e.stopPropagation()}),this._on(this.searchbox,"focus",function(e){e.stopPropagation()}),this._on(this.searchbox,"touchend",function(e){e.stopPropagation()}),this._on(this.searchbox,"keydown",function(t){"Enter"!==t.key||!e.createOptionButton||e.createOptionButton.hidden||e.selectpicker.current.data.length||(t.preventDefault(),t.stopPropagation(),e.createOpenOption(e.searchbox.value))}),this._on(this.searchbox,"input",function(){var t=e.searchbox.value;if(e.selectpicker.search.elements=[],e.selectpicker.search.data=[],t)if(e.selectpicker.search.previousValue=t,e.options.source.search)e.fetchData(function(){e.appendCreatedSearchResults(t),e.render(),e.buildList(void 0,!0),e.noScroll=!0,e.menuInner.scrollTop=0,e.createView(!0),re.call(e,e.selectpicker.search.data,t)},"search",0,t);else{var i=[],s=t.toUpperCase(),n={},o=[],l=e._searchStyle(),r=e.options.liveSearchNormalize;r&&(s=z(s));for(var a=0;a0&&(n[c.headerIndex-1]=!0,o.push(c.headerIndex-1)),n[c.headerIndex]=!0,o.push(c.headerIndex),n[c.lastIndex+1]=!0),n[a]&&"optgroup-label"!==c.type&&o.push(a)}for(var h=0,d=o.length;h=112&&a<=123))if(!(s=r.menu.classList.contains(G))&&(u||a>=48&&a<=57||a>=96&&a<=105||a>=65&&a<=90)&&(r.dropdown.show(),r.options.liveSearch))r.searchbox.focus();else{if(a===B&&s&&(e.preventDefault(),r.dropdown.hide(),r.button.focus()),u){if(!h.length)return;-1!==(i=(n=r.activeElement)?Array.prototype.indexOf.call(n.parentElement.children,n):-1)&&r.defocusItem(n),a===P?(-1!==i&&i--,i+f<0&&(i+=h.length),r.selectpicker.view.canHighlight[i+f]||-1===(i=r.selectpicker.view.canHighlight.slice(0,i+f).lastIndexOf(!0)-f)&&(i=h.length-1)):(a===R||p)&&(++i+f>=r.selectpicker.view.canHighlight.length&&(i=r.selectpicker.view.firstHighlightIndex),r.selectpicker.view.canHighlight[i+f]||(i=i+1+r.selectpicker.view.canHighlight.slice(i+f+1).indexOf(!0))),e.preventDefault();var v=f+i;a===P?0===f&&i===h.length-1?(r.menuInner.scrollTop=r.menuInner.scrollHeight,v=r.selectpicker.current.elements.length-1):(o=r.selectpicker.current.data[v])&&(d=(l=o.position-o.height)m)),n=r.selectpicker.current.elements[v],r.activeElement=(r.selectpicker.current.data[v]||{}).element,r.focusItem(n),r.selectpicker.view.currentActive=n,d&&(r.menuInner.scrollTop=l),r.options.liveSearch?r.searchbox.focus():t.focus()}else if(!t.matches("input")&&!ne.test(a)||a===W&&r.selectpicker.keydown.keyHistory){var g,b=[];e.preventDefault(),r.selectpicker.keydown.keyHistory+=_[a],r.selectpicker.keydown.resetKeyHistory.cancel&&clearTimeout(r.selectpicker.keydown.resetKeyHistory.cancel),r.selectpicker.keydown.resetKeyHistory.cancel=r.selectpicker.keydown.resetKeyHistory.start(),g=r.selectpicker.keydown.keyHistory,/^(.)\1+$/.test(g)&&(g=g.charAt(0));for(var w=0;w0?(l=o.position-o.height,d=!0):(l=o.position-r.sizeInfo.menuInnerHeight,d=o.position>m+r.sizeInfo.menuInnerHeight)),n=b[y],r.activeElement=n,r.focusItem(n),n&&n.firstChild.focus(),d&&(r.menuInner.scrollTop=l),t.focus()}}if(s&&(a===W&&!r.selectpicker.keydown.keyHistory||a===M||a===V&&r.options.selectOnTab)&&(a!==W&&e.preventDefault(),!r.options.liveSearch||a!==W)){var I=r.menuInner.querySelector(".active a");I&&r.onOptionClick(I,e,!0),t.focus(),r.options.liveSearch||(e.preventDefault(),pe=!0)}}}mobile(){this.options.mobile=!0,this.element.classList.add("mobile-device")}resetMenuData(){this.selectpicker.main.data=[],this.selectpicker.main.elements=[],this.selectpicker.main.hasMore=!1,this.selectpicker.search.data=[],this.selectpicker.search.elements=[],this.selectpicker.search.hasMore=!1,this.selectpicker.current.data=this.selectpicker.main.data,this.selectpicker.current.elements=this.selectpicker.main.elements,this.selectpicker.current.hasMore=!1,this.selectpicker.isSearching=!1}refresh(){var e=this,t=me(Object.assign({},this.options,k(this.element),d(this.element)));this.options=t,this.options.source.data?(this.render(),this.buildList()):(this.resetMenuData(),this.fetchData(function(){e.render(),e.buildList()})),this.checkDisabled(),this.setStyle(),this.setWidth(),this.setSize(!0),this._emit("refreshed")}hide(){this.newElement.style.display="none"}show(){this.newElement.style.display=""}remove(){this.newElement.parentNode&&this.newElement.parentNode.removeChild(this.newElement),ve.delete(this.element)}destroy(){this.newElement.parentNode&&(this.newElement.parentNode.insertBefore(this.element,this.newElement),this.newElement.parentNode.removeChild(this.newElement)),this.bsContainer?this.bsContainer.parentNode&&this.bsContainer.parentNode.removeChild(this.bsContainer):this.menu&&this.menu.parentNode&&this.menu.parentNode.removeChild(this.menu),this.selectpicker.view.titleOption&&this.selectpicker.view.titleOption.parentNode&&this.selectpicker.view.titleOption.parentNode.removeChild(this.selectpicker.view.titleOption);for(var e=0;e
    '},maxOptions:!1,selectOnTab:!0,dropdownAlignRight:!1,virtualScroll:600,sanitize:!0,sanitizeFn:null,whiteList:m},fe._buildConfig=function(e,t){t=me(t||{});var i=me(d(e));for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&-1!==p.indexOf(s)&&delete i[s];var n=me(fe.defaults||{}),o=Object.assign({},fe.DEFAULTS,n,k(e),i,t);return o.template=Object.assign({},fe.DEFAULTS.template,n.template||{},i.template,t.template),o.source=Object.assign({},fe.DEFAULTS.source,n.source||{},t.source),function(e,t){if(!t.placeholder){var i=e.getAttribute("title");i&&(t.placeholder=i)}return t}(e,o)},fe.setDefaults=function(e){fe.defaults=me(Object.assign({},fe.defaults,e))},fe.getInstance=function(e){return"string"==typeof e&&(e=document.querySelector(e)),ve.get(e)||null},fe.getOrCreateInstance=function(e,t){if("string"==typeof e&&(e=document.querySelector(e)),!e||"SELECT"!==e.tagName)return null;var i=ve.get(e);if(i){if((t=me(t))&&"object"==typeof t)for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(i.options[s]=t[s]);return i}return new fe(e,"object"==typeof t?t:{})};var ge=".bootstrap-select ["+te+'], .bootstrap-select [role="listbox"], .bootstrap-select .bs-searchbox input';return function(e,t){function i(){var t=document.querySelectorAll(".selectpicker");Array.prototype.forEach.call(t,function(t){e.getOrCreateInstance(t)})}"undefined"!=typeof window&&"undefined"!=typeof document&&(window.addEventListener("keydown",function(e){var t=e.target;if(t&&t.closest&&t.closest(".bootstrap-select, .bs-container")){e.stopImmediatePropagation();var i=t.closest(ge);if(i){for(var s,n=i;n;n=n.parentElement)if(n.bootstrapSelectInstance){s=n.bootstrapSelectInstance;break}s&&s._keydown(e,i)}}},!0),document.addEventListener("focusin",function(e){var t=e.target;t&&t.closest&&t.closest(ge)&&e.stopPropagation()}),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",i):i(),t&&(window.Selectpicker=e))}(fe,t),fe}); +//# sourceMappingURL=bootstrap-select.min.js.map diff --git a/docs/dist/js/bootstrap-select.min.js.map b/docs/dist/js/bootstrap-select.min.js.map index 13067cf..6d9f562 100644 --- a/docs/dist/js/bootstrap-select.min.js.map +++ b/docs/dist/js/bootstrap-select.min.js.map @@ -1 +1 @@ -{"version":3,"file":"bootstrap-select.min.js","sources":["../../js/bootstrap-select.js"],"names":["getDropdown","bs","bootstrap","window","undefined","Dropdown","createFromHTML","html","wrapper","document","createElement","innerHTML","trim","firstChild","toInteger","value","parseInt","offset","el","rect","getBoundingClientRect","top","pageYOffset","left","pageXOffset","outerHeight","includeMargin","height","offsetHeight","style","getComputedStyle","marginTop","marginBottom","setStyles","styles","prop","Object","prototype","hasOwnProperty","call","triggerNative","eventName","dispatchEvent","Event","bubbles","getDataset","dataset","attributes","i","length","name","indexOf","slice","replace","m","letter","toUpperCase","test","JSON","parse","e","DISALLOWED_ATTRIBUTES","uriAttrs","DefaultWhitelist","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","ParseableAttributes","sanitizeHtml","unsafeElements","whiteList","sanitizeFn","whitelistKeys","keys","len","elements","querySelectorAll","j","len2","elName","nodeName","toLowerCase","parentNode","removeChild","attributeList","whitelistedAttributes","concat","k","len3","attr","allowedAttributeList","attrName","Boolean","nodeValue","match","regExp","filter","RegExp","l","removeAttribute","getAttributesObject","element","attrVal","attributesObject","forEach","item","getAttribute","stringSearch","searchString","method","normalize","stringTypes","searchSuccess","stringType","string","toString","normalizeToBase","startsWith","normalizeSearchInput","getOptionLabelText","option","title","text","deburredLetters","À","Á","Â","Ã","Ä","Å","à","á","â","ã","ä","å","Ç","ç","Ð","ð","È","É","Ê","Ë","è","é","ê","ë","Ì","Í","Î","Ï","ì","í","î","ï","Ñ","ñ","Ò","Ó","Ô","Õ","Ö","Ø","ò","ó","ô","õ","ö","ø","Ù","Ú","Û","Ü","ù","ú","û","ü","Ý","ý","ÿ","Æ","æ","Þ","þ","ß","Ā","Ă","Ą","ā","ă","ą","Ć","Ĉ","Ċ","Č","ć","ĉ","ċ","č","Ď","Đ","ď","đ","Ē","Ĕ","Ė","Ę","Ě","ē","ĕ","ė","ę","ě","Ĝ","Ğ","Ġ","Ģ","ĝ","ğ","ġ","ģ","Ĥ","Ħ","ĥ","ħ","Ĩ","Ī","Ĭ","Į","İ","ĩ","ī","ĭ","į","ı","Ĵ","ĵ","Ķ","ķ","ĸ","Ĺ","Ļ","Ľ","Ŀ","Ł","ĺ","ļ","ľ","ŀ","ł","Ń","Ņ","Ň","Ŋ","ń","ņ","ň","ŋ","Ō","Ŏ","Ő","ō","ŏ","ő","Ŕ","Ŗ","Ř","ŕ","ŗ","ř","Ś","Ŝ","Ş","Š","ś","ŝ","ş","š","Ţ","Ť","Ŧ","ţ","ť","ŧ","Ũ","Ū","Ŭ","Ů","Ű","Ų","ũ","ū","ŭ","ů","ű","ų","Ŵ","ŵ","Ŷ","ŷ","Ÿ","Ź","Ż","Ž","ź","ż","ž","IJ","ij","Œ","œ","ʼn","ſ","reLatin","reComboMark","deburrLetter","key","map","&","<",">","\"","'","`","source","join","testRegexp","replaceRegexp","htmlEscape","escaper","keyCodeMap","32","48","49","50","51","52","53","54","55","56","57","59","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","96","97","98","99","100","101","102","103","104","105","keyCodes","selectId","EVENT_KEY","classNames","Selector","elementTemplates","subtext","whitespace","createTextNode","fragment","createDocumentFragment","REGEXP_ARROW","selectedOption","cloneNode","setAttribute","noResults","className","checkMark","REGEXP_TAB_OR_ESCAPE","generateOption","content","classes","optgroup","nodeType","appendChild","classList","add","inline","insertAdjacentHTML","apply","split","options","useFragment","iconElement","textElement","textContent","icon","this","iconBase","subtextElement","childNodes","label","display","getOptionData","fromOption","type","cssText","$","ofs","fromDataSource","showNoResults","searchMatch","searchValue","noneResultsText","menuInner","filterHidden","hidden","hideDisabled","disabled","getSelectedOptions","selectpicker","main","data","selectedOptions","search","values","optionValuesDataMap","selected","multiple","getSelectValues","opt","push","changedArguments","spaceSelectFlag","REMOVED_OPTIONS","stripRemovedOptions","result","assign","Selectpicker","constructor","querySelector","tagName","TypeError","newElement","button","menu","_buildConfig","_listeners","_named","optionQueue","hasMore","current","view","createdOptions","openOption","isCreating","isSearching","keydown","keyHistory","resetKeyHistory","start","setTimeout","sizeInfo","init","instanceMap","set","_on","handler","addEventListener","_delegate","selector","target","closest","contains","_emit","detail","event","CustomEvent","cancelable","_replace","_removeNamed","prev","removeEventListener","that","id","form","autofocus","showTick","createDropdown","insertBefore","nextSibling","allowClear","clearButton","searchbox","selectedItems","createOptionButton","remove","fetchData","render","buildList","requestAnimationFrame","dropdownAlignRight","checkDisabled","clickListener","dropdown","bootstrapSelectInstance","liveSearch","liveSearchListener","focusedParent","setStyle","setWidth","emptyMenu","isVirtual","replaceChild","scrollTop","bsEvent","onShow","hasAttribute","onShownInvalid","onRendered","validity","valid","onBlur","focus","blur","showSelectedTags","selectedItemsStyle","selectionIndicator","multiselectable","liveSearchPlaceholder","openOptions","placeholder","header","actionsbox","donebutton","actionsBox","selectAllText","deselectAllText","doneButton","doneButtonText","previousValue","setSize","setPositionData","canHighlight","size","firstHighlightIndex","dividerHeight","dropdownHeaderHeight","liHeight","posinset","position","virtualScroll","createView","refresh","scroll","currentChunk","chunks","menuIsDifferent","array2","chunkSize","chunkCount","Math","ceil","endOfChunk","menuInnerHeight","prevPositions","position0","position1","firstChunk","max","lastChunk","min","positionIsDifferent","activeElement","selectedElement","defocusItem","prevActiveElement","previousElements","visibleElements","setOptionStatus","array1","every","index","menuFragment","toSanitize","actualMenuWidth","visibleElementsLen","elText","elementData","sanitize","lastChild","sanitized","hasScrollBar","menuInnerInnerWidth","offsetWidth","totalMenuWidth","selectWidth","minWidth","page","floor","pageSize","newActive","currentActive","focusItem","selectedIndex","liIndex","selectedData","noScroll","liData","noStyle","setPlaceholder","selectTitleOption","titleNotAppended","firstSelectableIndex","isNotBackForward","updateIndex","titleOption","firstSelectable","navigation","performance","getEntriesByType","defaultSelected","readyState","displayedValue","callback","builtData","more","totalItems","buildData","Array","isArray","dataGetter","optionSelector","mainData","startLen","optID","startIndex","selectOptions","addDivider","config","previousData","addOption","inlineStyle","optionClass","divider","optgroupClass","tokens","addOptgroup","previous","next","children","headerIndex","lastIndex","searching","selectData","mainElements","widestOptionLength","tickIcon","liElement","combinedLength","widestOption","findLis","placeholderSelected","selectedCount","selectedValues","buttonInner","multipleSeparator","titleFragment","forceCount","hasContent","createSelected","createOption","toggle","selectedTextFormat","showCount","countMax","titleOptions","showContent","showIcon","showSubtext","totalCount","tr8nText","countSelectedText","noneSelectedText","syncTagEditor","usesTagEditor","useListStyle","selectedTag","removeText","selectedTagRemoveLabel","syncOpenOptionButton","normalizedValue","shouldShow","findOptionBySearchValue","openOptionsText","findOptionByValue","dataSet","stringValue","String","normalizedSearch","liveSearchNormalize","createOptionElement","optionData","appendCreatedSearchResults","matches","_searchStyle","addCreatedOption","builtOption","removeSelectedTag","prevValue","setSelected","createOpenOption","createHandler","returnedOption","finalize","createdOption","existingOption","prevSelectedValue","create","then","newStyle","status","extra","buttonClass","menuInnerInner","dropdownHeader","actions","firstOption","width","body","headerHeight","searchHeight","actionsHeight","doneButtonHeight","menuStyle","menuWidth","menuPadding","vert","paddingTop","paddingBottom","borderTopWidth","borderBottomWidth","horiz","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","menuExtras","marginLeft","marginRight","overflowY","scrollBarWidth","selectHeight","getSelectPosition","winScrollTop","winScrollLeft","winHeight","documentElement","clientHeight","winWidth","clientWidth","pos","selectOffsetTop","selectOffsetBot","selectOffsetLeft","selectOffsetRight","setMenuSize","isAuto","menuHeight","minHeight","maxHeight","menuInnerMinHeight","isDropup","divHeight","divLength","dropupAuto","estimate","dropup","_minHeight","overflow","_popper","update","windowSizeHandler","selectPosition","bsContainer","windowHandler","getPlacement","containerPos","actualHeight","container","containerPosition","Default","extraClass","containerStyle","scrollLeft","isDisabled","_menuHeight","selectedOnly","setDisabled","activeElementIsSet","keepActive","prevActive","checkPopperExists","state","keyCode","preventDefault","prevData","parentElement","stopImmediatePropagation","deselectAll","prevOption","prevIndex","hoverLi","hoverData","onOptionClick","currentTarget","stopPropagation","hide","selectAll","tabindex","isTrusted","clickedIndex","isSelected","mobile","clickedAnchor","retainActive","clickedData","clickedElement","triggerChange","maxOptions","optgroupData","find","datum","Element","optgroupOptions","maxOptionsGrp","maxReached","selectedGroupOptions","maxReachedGrp","_option","maxOptionsText","maxOptionsArr","maxTxt","maxTxtGrp","notify","q","cache","cacheArr","searchStyle","normalizeSearch","cacheLen","liPrev","liveSearchStyle","getValue","val","liSelectedIndex","changeAll","previousSelected","currentSelected","triggerToggle","isActive","open","close","_keydown","liActive","activeLi","offsetVal","which","isToggle","items","updateScroll","downOnTab","selectOnTab","isArrowKey","show","lastIndexOf","liActiveIndex","scrollHeight","cancel","clearTimeout","charAt","matchIndex","activeAnchor","resetMenuData","delete","destroy","dispose","WeakMap","KEYDOWN_SELECTOR","NAME","VERSION","defaults","DEFAULTS","numSelected","numAll","numGroup","template","caret","dataAttr","dataAttributes","userDefaults","setDefaults","newDefaults","getInstance","get","getOrCreateInstance","instance","initAll","selects","select","trigger","node"],"mappings":"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,IAAKC,SAAU,IAAKC,SAAU,IACxDC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IACvEC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IACvEC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IACxDC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IACxDC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IACxDC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IACvEC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IACvEC,SAAU,IAAMC,SAAU,IAC1BC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IACzCC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IACvEC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IACvEC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IACxDC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IACxDC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IACzCC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IACzCC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IACzCC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IACzCC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IACxDC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IACxDC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IACzCC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IACzCC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IACtFC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IAAKC,SAAU,IACtFC,SAAU,IAAMC,SAAU,IAC1BC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IACzCC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IACzCC,SAAU,IAAMC,SAAU,IAAKC,SAAU,IACzCC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"} \ No newline at end of file +{"version":3,"file":"bootstrap-select.min.js","sources":["../../virtual:bootstrap-select-umd"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/* eslint-disable no-unused-vars */\n// Shared ordered source fragment consumed by the Grunt JS build.\n\n'use strict';\n\n// Resolve Bootstrap's Dropdown component (Bootstrap 5+). It may be provided\n// by the UMD factory (`bootstrap`), or available as a global.\nfunction getDropdown () {\n var bs = bootstrap || (typeof window !== 'undefined' ? window.bootstrap : undefined);\n return (bs && bs.Dropdown) || (typeof window !== 'undefined' ? window.Dropdown : undefined);\n}\n\n// \nfunction createFromHTML (html) {\n var wrapper = document.createElement('div');\n wrapper.innerHTML = html.trim();\n return wrapper.firstChild;\n}\n\nfunction toInteger (value) {\n return parseInt(value, 10) || 0;\n}\n\nfunction offset (el) {\n var rect = el.getBoundingClientRect();\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset\n };\n}\n\n// Resolves a container option (selector string or element) to an element.\nfunction resolveContainer (container) {\n if (!container) return null;\n return typeof container === 'string' ? document.querySelector(container) : container;\n}\n\nfunction outerHeight (el, includeMargin) {\n var height = el.offsetHeight;\n if (includeMargin) {\n var style = window.getComputedStyle(el);\n height += toInteger(style.marginTop) + toInteger(style.marginBottom);\n }\n return height;\n}\n\nfunction setStyles (el, styles) {\n for (var prop in styles) {\n if (Object.prototype.hasOwnProperty.call(styles, prop)) {\n el.style[prop] = styles[prop];\n }\n }\n}\n\nfunction triggerNative (el, eventName) {\n el.dispatchEvent(new Event(eventName, { bubbles: true }));\n}\n\n// shallow array comparison\nfunction isEqual (array1, array2) {\n return array1.length === array2.length && array1.every(function (element, index) {\n return element === array2[index];\n });\n}\n\nfunction toKebabCase (str) {\n return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, function ($, ofs) {\n return (ofs ? '-' : '') + $.toLowerCase();\n });\n}\n\nfunction toCamelCase (str) {\n return str.replace(/-([a-z])/g, function (m, letter) {\n return letter.toUpperCase();\n });\n}\n\n// Read options from data-* attributes using native values where possible.\nfunction convertDataValue (value) {\n if (value === 'true') return true;\n if (value === 'false') return false;\n if (value === 'null') return null;\n if (value === +value + '') return +value;\n if (/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/.test(value)) {\n try {\n return JSON.parse(value);\n } catch (e) {\n return value;\n }\n }\n return value;\n}\n\nfunction getDataset (el) {\n var dataset = {},\n attributes = el.attributes;\n\n for (var i = 0; i < attributes.length; i++) {\n var name = attributes[i].name;\n if (name.indexOf('data-') === 0) {\n dataset[toCamelCase(name.slice(5))] = convertDataValue(attributes[i].value);\n }\n }\n\n return dataset;\n}\n// \n\n// \nvar DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\n\nvar uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n];\n\nvar ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n\nvar DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', 'tabindex', 'style', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n};\n\n// A pattern that recognizes a commonly useful subset of URLs that are safe.\nvar SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;\n\n// A pattern that matches safe data URLs. Only matches image, video and audio types.\nvar DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;\n\nvar ParseableAttributes = ['placeholder']; // attributes to use as settings, can add others in the future\n\nfunction applyLegacyOptions (element, config) {\n if (!config.placeholder) {\n var title = element.getAttribute('title');\n if (title) config.placeholder = title;\n }\n\n return config;\n}\n\nfunction allowedAttribute (attr, allowedAttributeList) {\n var attrName = attr.nodeName.toLowerCase();\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));\n }\n\n return true;\n }\n\n var regExp = allowedAttributeList.filter(function (value) {\n return value instanceof RegExp;\n });\n\n // Check if a regular expression validates the attribute.\n for (var i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction sanitizeHtml (unsafeElements, whiteList, sanitizeFn) {\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeElements);\n }\n\n var whitelistKeys = Object.keys(whiteList);\n\n for (var i = 0, len = unsafeElements.length; i < len; i++) {\n var elements = unsafeElements[i].querySelectorAll('*');\n\n for (var j = 0, len2 = elements.length; j < len2; j++) {\n var el = elements[j];\n var elName = el.nodeName.toLowerCase();\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el);\n\n continue;\n }\n\n var attributeList = [].slice.call(el.attributes);\n var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\n\n for (var k = 0, len3 = attributeList.length; k < len3; k++) {\n var attr = attributeList[k];\n\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName);\n }\n }\n }\n }\n}\n// \n\nfunction getAttributesObject (element) {\n var attributesObject = {},\n attrVal;\n\n ParseableAttributes.forEach(function (item) {\n attrVal = element.getAttribute(item);\n if (attrVal) attributesObject[item] = attrVal;\n });\n\n return attributesObject;\n}\n\n\n/* eslint-disable no-unused-vars */\n// Shared ordered source fragment consumed by the Grunt JS build.\n\n// \nfunction stringSearch (li, searchString, method, normalize) {\n var stringTypes = [\n 'display',\n 'subtext',\n 'tokens'\n ],\n searchSuccess = false;\n\n for (var i = 0; i < stringTypes.length; i++) {\n var stringType = stringTypes[i],\n string = li[stringType];\n\n if (string) {\n string = string.toString();\n\n // Strip HTML tags. This isn't perfect, but it's much faster than any other method\n if (stringType === 'display') {\n string = string.replace(/<[^>]+>/g, '');\n }\n\n if (normalize) string = normalizeToBase(string);\n string = string.toUpperCase();\n\n if (typeof method === 'function') {\n searchSuccess = method(string, searchString);\n } else if (method === 'contains') {\n searchSuccess = string.indexOf(searchString) >= 0;\n } else {\n searchSuccess = string.startsWith(searchString);\n }\n\n if (searchSuccess) break;\n }\n }\n\n return searchSuccess;\n}\n\nfunction normalizeSearchInput (value, normalize) {\n if (value === undefined || value === null) value = '';\n value = value.toString().trim();\n\n if (normalize && value) value = normalizeToBase(value);\n\n return value.toUpperCase();\n}\n\nfunction getOptionLabelText (option) {\n if (!option) return '';\n\n return option.title || option.text || option.value || '';\n}\n\n// Borrowed from Lodash (_.deburr)\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboMarksExtendedRange = '\\\\u1ab0-\\\\u1aff',\n rsComboMarksSupplementRange = '\\\\u1dc0-\\\\u1dff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange + rsComboMarksExtendedRange + rsComboMarksSupplementRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\nvar reComboMark = RegExp(rsCombo, 'g');\n\nfunction deburrLetter (key) {\n return deburredLetters[key];\n}\n\nfunction normalizeToBase (string) {\n string = string.toString();\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\n// List of HTML entities for escaping.\nvar escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n};\n\nvar createEscaper = function (map) {\n var escaper = function (match) {\n return map[match];\n };\n var source = '(?:' + Object.keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function (string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n};\n\nvar htmlEscape = createEscaper(escapeMap);\n// \n\n\n/* eslint-disable no-undef, no-unused-vars */\n// Shared ordered source fragment consumed by the Grunt JS build.\n\n// \nvar keyCodeMap = {\n 32: ' ', 48: '0', 49: '1', 50: '2', 51: '3', 52: '4', 53: '5', 54: '6',\n 55: '7', 56: '8', 57: '9', 59: ';',\n 65: 'A', 66: 'B', 67: 'C', 68: 'D', 69: 'E', 70: 'F', 71: 'G', 72: 'H',\n 73: 'I', 74: 'J', 75: 'K', 76: 'L', 77: 'M', 78: 'N', 79: 'O', 80: 'P',\n 81: 'Q', 82: 'R', 83: 'S', 84: 'T', 85: 'U', 86: 'V', 87: 'W', 88: 'X',\n 89: 'Y', 90: 'Z',\n 96: '0', 97: '1', 98: '2', 99: '3', 100: '4', 101: '5', 102: '6',\n 103: '7', 104: '8', 105: '9'\n};\n\nvar keyCodes = {\n ESCAPE: 27,\n ENTER: 13,\n SPACE: 32,\n TAB: 9,\n ARROW_UP: 38,\n ARROW_DOWN: 40\n};\n\nvar selectId = 0;\n\nvar EVENT_KEY = '.bs.select';\n\n// Bootstrap 5 class names.\nvar classNames = {\n DISABLED: 'disabled',\n DIVIDER: 'dropdown-divider',\n SHOW: 'show',\n DROPUP: 'dropup',\n MENU: 'dropdown-menu',\n MENUEND: 'dropdown-menu-end',\n BUTTONCLASS: 'btn-light',\n POPOVERHEADER: 'popover-header',\n ICONBASE: '',\n TICKICON: 'bs-ok-default'\n};\n\nvar Selector = {\n MENU: '.' + classNames.MENU,\n DATA_TOGGLE: 'data-bs-toggle=\"dropdown\"'\n};\n\nvar elementTemplates = {\n div: document.createElement('div'),\n span: document.createElement('span'),\n i: document.createElement('i'),\n subtext: document.createElement('small'),\n a: document.createElement('a'),\n li: document.createElement('li'),\n whitespace: document.createTextNode('\\u00A0'),\n fragment: document.createDocumentFragment(),\n option: document.createElement('option')\n};\n\nelementTemplates.selectedOption = elementTemplates.option.cloneNode(false);\nelementTemplates.selectedOption.setAttribute('selected', true);\n\nelementTemplates.noResults = elementTemplates.li.cloneNode(false);\nelementTemplates.noResults.className = 'no-results';\n\nelementTemplates.a.setAttribute('role', 'option');\nelementTemplates.a.className = 'dropdown-item';\n\nelementTemplates.subtext.className = 'text-muted';\n\nelementTemplates.text = elementTemplates.span.cloneNode(false);\nelementTemplates.text.className = 'text';\n\nelementTemplates.checkMark = elementTemplates.span.cloneNode(false);\n\nvar REGEXP_ARROW = new RegExp(keyCodes.ARROW_UP + '|' + keyCodes.ARROW_DOWN);\nvar REGEXP_TAB_OR_ESCAPE = new RegExp('^' + keyCodes.TAB + '$|' + keyCodes.ESCAPE);\n\nvar generateOption = {\n li: function (content, classes, optgroup) {\n var li = elementTemplates.li.cloneNode(false);\n\n if (content) {\n if (content.nodeType === 1 || content.nodeType === 11) {\n li.appendChild(content);\n } else {\n li.innerHTML = content;\n }\n }\n\n if (typeof classes !== 'undefined' && classes !== '') li.className = classes;\n if (typeof optgroup !== 'undefined' && optgroup !== null) li.classList.add('optgroup-' + optgroup);\n\n return li;\n },\n\n a: function (text, classes, inline) {\n var a = elementTemplates.a.cloneNode(true);\n\n if (text) {\n if (text.nodeType === 11) {\n a.appendChild(text);\n } else {\n a.insertAdjacentHTML('beforeend', text);\n }\n }\n\n if (typeof classes !== 'undefined' && classes !== '') a.classList.add.apply(a.classList, classes.split(/\\s+/));\n if (inline) a.setAttribute('style', inline);\n\n return a;\n },\n\n text: function (options, useFragment) {\n var textElement = elementTemplates.text.cloneNode(false),\n subtextElement,\n iconElement;\n\n if (options.content) {\n textElement.innerHTML = options.content;\n } else {\n textElement.textContent = options.text;\n\n if (options.icon) {\n var whitespace = elementTemplates.whitespace.cloneNode(false);\n\n // need to use for icons in the button to prevent a breaking change\n iconElement = (useFragment === true ? elementTemplates.i : elementTemplates.span).cloneNode(false);\n iconElement.className = this.options.iconBase + ' ' + options.icon;\n\n elementTemplates.fragment.appendChild(iconElement);\n elementTemplates.fragment.appendChild(whitespace);\n }\n\n if (options.subtext) {\n subtextElement = elementTemplates.subtext.cloneNode(false);\n subtextElement.textContent = options.subtext;\n textElement.appendChild(subtextElement);\n }\n }\n\n if (useFragment === true) {\n while (textElement.childNodes.length > 0) {\n elementTemplates.fragment.appendChild(textElement.childNodes[0]);\n }\n } else {\n elementTemplates.fragment.appendChild(textElement);\n }\n\n return elementTemplates.fragment;\n },\n\n label: function (options) {\n var textElement = elementTemplates.text.cloneNode(false),\n subtextElement,\n iconElement;\n\n textElement.innerHTML = options.display;\n\n if (options.icon) {\n var whitespace = elementTemplates.whitespace.cloneNode(false);\n\n iconElement = elementTemplates.span.cloneNode(false);\n iconElement.className = this.options.iconBase + ' ' + options.icon;\n\n elementTemplates.fragment.appendChild(iconElement);\n elementTemplates.fragment.appendChild(whitespace);\n }\n\n if (options.subtext) {\n subtextElement = elementTemplates.subtext.cloneNode(false);\n subtextElement.textContent = options.subtext;\n textElement.appendChild(subtextElement);\n }\n\n elementTemplates.fragment.appendChild(textElement);\n\n return elementTemplates.fragment;\n }\n};\n\nvar getOptionData = {\n fromOption: function (option, type) {\n var value;\n\n switch (type) {\n case 'divider':\n value = option.getAttribute('data-divider') === 'true';\n break;\n\n case 'text':\n value = option.textContent;\n break;\n\n case 'label':\n value = option.label;\n break;\n\n case 'style':\n value = option.style.cssText;\n break;\n\n case 'title':\n value = option.title;\n break;\n\n default:\n value = option.getAttribute('data-' + toKebabCase(type));\n break;\n }\n\n return value;\n },\n fromDataSource: function (option, type) {\n var value;\n\n switch (type) {\n case 'text':\n case 'label':\n value = option.text || option.value || '';\n break;\n\n default:\n value = option[type];\n break;\n }\n\n return value;\n }\n};\n\nfunction showNoResults (searchMatch, searchValue) {\n if (!searchMatch.length) {\n elementTemplates.noResults.innerHTML = this.options.noneResultsText.replace('{0}', '\"' + htmlEscape(searchValue) + '\"');\n this.menuInner.firstChild.appendChild(elementTemplates.noResults);\n }\n}\n\nfunction filterHidden (item) {\n return !(item.hidden || this.options.hideDisabled && item.disabled);\n}\n\nfunction getSelectedOptions () {\n var options = this.selectpicker.main.data;\n\n if (this.options.source.data || this.options.source.search) {\n options = Object.values(this.selectpicker.optionValuesDataMap);\n }\n\n var selectedOptions = options.filter(function (item) {\n if (item.selected) {\n if (this.options.hideDisabled && item.disabled) return false;\n return true;\n }\n\n return false;\n }, this);\n\n // ensure only 1 option is selected if multiple are set in the data source\n if (this.options.source.data && !this.multiple && selectedOptions.length > 1) {\n for (var i = 0; i < selectedOptions.length - 1; i++) {\n selectedOptions[i].selected = false;\n }\n\n selectedOptions = [ selectedOptions[selectedOptions.length - 1] ];\n }\n\n return selectedOptions;\n}\n\nfunction getSelectValues (selectedOptions) {\n var value = [],\n options = selectedOptions || getSelectedOptions.call(this),\n opt;\n\n for (var i = 0, len = options.length; i < len; i++) {\n opt = options[i];\n\n if (!opt.disabled) {\n value.push(opt.value === undefined ? opt.text : opt.value);\n }\n }\n\n if (!this.multiple) {\n return !value.length ? null : value[0];\n }\n\n return value;\n}\n// \n\nvar changedArguments = null;\n\n// shared flag for spacebar selection handling (mirrors original document data flag)\nvar spaceSelectFlag = false;\n\nvar REMOVED_OPTIONS = ['container', 'display', 'mobile', 'styleBase', 'windowPadding'];\n\nfunction stripRemovedOptions (source) {\n if (!source || typeof source !== 'object') return source;\n\n var result = Object.assign({}, source);\n\n for (var i = 0; i < REMOVED_OPTIONS.length; i++) {\n delete result[REMOVED_OPTIONS[i]];\n }\n\n return result;\n}\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n\nclass Selectpicker {\n constructor (element, options) {\n if (typeof element === 'string') {\n element = document.querySelector(element);\n }\n\n if (!element || element.tagName !== 'SELECT') {\n throw new TypeError('Selectpicker requires a select element or selector.');\n }\n\n this.element = element;\n this.newElement = null;\n this.button = null;\n this.menu = null;\n this.options = Selectpicker._buildConfig(element, options || {});\n\n // tracked event listeners for clean teardown\n this._listeners = [];\n this._named = {};\n\n this.selectpicker = {\n main: {\n data: [],\n optionQueue: elementTemplates.fragment.cloneNode(false),\n hasMore: false\n },\n search: {\n data: [],\n hasMore: false\n },\n current: {}, // current is either equal to main or search depending on if a search is in progress\n view: {},\n // map of option values and their respective data (only used in conjunction with options.source)\n optionValuesDataMap: {},\n createdOptions: [],\n openOption: {\n isCreating: false\n },\n isSearching: false,\n keydown: {\n keyHistory: '',\n resetKeyHistory: {\n start: () => {\n return setTimeout(() => {\n this.selectpicker.keydown.keyHistory = '';\n }, 800);\n }\n }\n }\n };\n\n this.sizeInfo = {};\n\n this.init();\n\n instanceMap.set(element, this);\n }\n\n // \n _on (el, type, handler, options) {\n el.addEventListener(type, handler, options);\n this._listeners.push({ el: el, type: type, handler: handler, options: options });\n return handler;\n }\n\n _delegate (el, type, selector, handler, options) {\n var listener = function (e) {\n var target = e.target.closest(selector);\n if (target && el.contains(target)) {\n handler.call(target, e);\n }\n };\n return this._on(el, type, listener, options);\n }\n\n _emit (name, detail) {\n var event = new CustomEvent(name + EVENT_KEY, {\n bubbles: true,\n cancelable: true,\n detail: detail || null\n });\n this.element.dispatchEvent(event);\n return event;\n }\n\n // adds an event listener that replaces any previously-registered listener under `key`\n _replace (key, el, type, handler, options) {\n this._removeNamed(key);\n el.addEventListener(type, handler, options);\n this._named[key] = { el: el, type: type, handler: handler, options: options };\n }\n\n _removeNamed (key) {\n var prev = this._named[key];\n if (prev) {\n prev.el.removeEventListener(prev.type, prev.handler, prev.options);\n delete this._named[key];\n }\n }\n // \n\n init () {\n var that = this,\n id = this.element.getAttribute('id'),\n element = this.element,\n form = element.form;\n\n selectId++;\n this.selectId = 'bs-select-' + selectId;\n\n element.classList.add('bs-select-hidden');\n\n this.multiple = this.element.multiple;\n this.autofocus = this.element.autofocus;\n\n if (element.classList.contains('show-tick')) {\n this.options.showTick = true;\n }\n\n this.newElement = this.createDropdown();\n\n // insert newElement after element, then move element to be the first child of newElement\n element.parentNode.insertBefore(this.newElement, element.nextSibling);\n this.newElement.insertBefore(element, this.newElement.firstChild);\n\n // ensure select is associated with form element if it got unlinked after moving it inside newElement\n if (form && element.form === null) {\n if (!form.id) form.id = 'form-' + this.selectId;\n element.setAttribute('form', form.id);\n }\n\n this.button = this.newElement.querySelector(':scope > button');\n if (this.options.allowClear) this.clearButton = this.button.querySelector('.bs-select-clear-selected');\n this.menu = this.newElement.querySelector(':scope > ' + Selector.MENU);\n this.menuInner = this.menu.querySelector('.inner');\n this.searchbox = this.menu.querySelector('input');\n this.selectedItems = this.newElement.querySelector(':scope > .bs-selected-items-external') || this.menu.querySelector('.bs-selected-items');\n this.createOptionButton = this.menu.querySelector('.bs-create-option');\n\n element.classList.remove('bs-select-hidden');\n\n this.fetchData(function () {\n that.render(true);\n that.buildList();\n\n requestAnimationFrame(function () {\n that._emit('loaded');\n });\n });\n\n if (this.options.dropdownAlignRight === true) this.menu.classList.add(classNames.MENUEND);\n\n if (typeof id !== 'undefined' && id !== null) {\n this.button.setAttribute('data-id', id);\n }\n\n this.checkDisabled();\n this.clickListener();\n\n var Dropdown = getDropdown();\n this.dropdown = new Dropdown(this.button);\n\n // store a reference to the instance for delegated handlers\n this.newElement.bootstrapSelectInstance = this;\n this.menu.bootstrapSelectInstance = this;\n\n if (this.options.liveSearch) {\n this.liveSearchListener();\n this.focusedParent = this.searchbox;\n } else {\n this.focusedParent = this.menuInner;\n }\n\n this.setStyle();\n this.setWidth();\n this._on(this.element, 'hide' + EVENT_KEY, function () {\n if (that.isVirtual()) {\n // empty menu on close\n var menuInner = that.menuInner,\n emptyMenu = menuInner.firstChild.cloneNode(false);\n\n // replace the existing UL with an empty one - this is faster than emptying it\n menuInner.replaceChild(emptyMenu, menuInner.firstChild);\n menuInner.scrollTop = 0;\n }\n });\n\n // re-emit Bootstrap dropdown events as bootstrap-select events\n this._on(this.newElement, 'hide.bs.dropdown', function (e) {\n that._emit('hide', { bsEvent: e });\n });\n this._on(this.newElement, 'hidden.bs.dropdown', function (e) {\n that._emit('hidden', { bsEvent: e });\n });\n this._on(this.newElement, 'show.bs.dropdown', function (e) {\n that.onShow(e);\n that._emit('show', { bsEvent: e });\n });\n this._on(this.newElement, 'shown.bs.dropdown', function (e) {\n that._emit('shown', { bsEvent: e });\n });\n\n if (element.hasAttribute('required')) {\n this._on(this.element, 'invalid', function () {\n that.button.classList.add('bs-invalid');\n\n var onShownInvalid = function () {\n // set the value to hide the validation message in Chrome when menu is opened\n triggerNative(that.element, 'change');\n that.element.removeEventListener('shown' + EVENT_KEY, onShownInvalid);\n };\n that._on(that.element, 'shown' + EVENT_KEY, onShownInvalid);\n\n var onRendered = function () {\n // if select is no longer invalid, remove the bs-invalid class\n if (that.element.validity.valid) that.button.classList.remove('bs-invalid');\n that.element.removeEventListener('rendered' + EVENT_KEY, onRendered);\n };\n that._on(that.element, 'rendered' + EVENT_KEY, onRendered);\n\n var onBlur = function () {\n that.element.focus();\n that.element.blur();\n that.button.removeEventListener('blur' + EVENT_KEY, onBlur);\n };\n that._on(that.button, 'blur' + EVENT_KEY, onBlur);\n });\n }\n\n if (form) {\n this._on(form, 'reset', function () {\n requestAnimationFrame(function () {\n that.render();\n });\n });\n }\n }\n\n createDropdown () {\n // Multiple selects always show an indicator. Single selects also need the\n // indicator column when selectionIndicator is enabled.\n var usesSelectionIndicator = this.options.selectionIndicator === 'checkbox',\n showTick = (this.multiple || this.options.showTick || usesSelectionIndicator) ? ' show-tick' : '',\n showSelectedTags = this.options.showSelectedTags ? ' show-selected-tags' : '',\n selectedItemsStyle = this.options.selectedItemsStyle === 'list' ? ' selected-items-style-list' : '',\n selectionIndicator = usesSelectionIndicator\n ? (this.multiple ? ' selection-indicator-checkbox' : ' selection-indicator-radio')\n : '',\n multiselectable = this.multiple ? ' aria-multiselectable=\"true\"' : '',\n autofocus = this.autofocus ? ' autofocus' : '',\n liveSearchPlaceholder = this.options.liveSearchPlaceholder;\n\n if (liveSearchPlaceholder === null && (this.options.showSelectedTags || this.options.openOptions)) {\n liveSearchPlaceholder = this.options.placeholder || 'Search';\n }\n\n // Elements\n var drop,\n header = '',\n searchbox = '',\n actionsbox = '',\n donebutton = '',\n clearButton = '';\n\n if (this.options.header) {\n header =\n '
    ' +\n '' + this.options.header + '' +\n '' +\n '
    ';\n }\n\n if (this.options.liveSearch) {\n searchbox =\n '
    ' +\n '' +\n (this.options.openOptions\n ? ''\n : '') +\n '
    ';\n }\n\n if (this.multiple && this.options.actionsBox) {\n actionsbox =\n '
    ' +\n '
    ' +\n '' +\n '' +\n '
    ' +\n '
    ';\n }\n\n if (this.multiple && this.options.doneButton) {\n donebutton =\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ';\n }\n\n if (this.options.allowClear) {\n clearButton = '×';\n }\n\n drop =\n '
    ' +\n '' +\n '
    ' +\n header +\n searchbox +\n actionsbox +\n '
    ' +\n '
      ' +\n '
    ' +\n '
    ' +\n donebutton +\n '
    ' +\n (this.multiple && this.options.showSelectedTags\n ? ''\n : '') +\n '
    ';\n\n return createFromHTML(drop);\n }\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n // runs when the dropdown is about to be shown\n onShow () {\n if (this.options.liveSearch && this.searchbox.value) {\n this.searchbox.value = '';\n this.selectpicker.search.previousValue = undefined;\n }\n\n if (!this.newElement.classList.contains(classNames.SHOW)) {\n this.setSize();\n }\n }\n\n setPositionData () {\n this.selectpicker.view.canHighlight = [];\n this.selectpicker.view.size = 0;\n this.selectpicker.view.firstHighlightIndex = false;\n\n for (var i = 0; i < this.selectpicker.current.data.length; i++) {\n var li = this.selectpicker.current.data[i],\n canHighlight = true;\n\n if (li.type === 'divider') {\n canHighlight = false;\n li.height = this.sizeInfo.dividerHeight;\n } else if (li.type === 'optgroup-label') {\n canHighlight = false;\n li.height = this.sizeInfo.dropdownHeaderHeight;\n } else {\n li.height = this.sizeInfo.liHeight;\n }\n\n if (li.disabled) canHighlight = false;\n\n this.selectpicker.view.canHighlight.push(canHighlight);\n\n if (canHighlight) {\n this.selectpicker.view.size++;\n li.posinset = this.selectpicker.view.size;\n if (this.selectpicker.view.firstHighlightIndex === false) this.selectpicker.view.firstHighlightIndex = i;\n }\n\n li.position = (i === 0 ? 0 : this.selectpicker.current.data[i - 1].position) + li.height;\n }\n }\n\n isVirtual () {\n return (this.options.virtualScroll !== false) && (this.selectpicker.main.data.length >= this.options.virtualScroll) || this.options.virtualScroll === true;\n }\n\n createView (isSearching, setSize, refresh) {\n var that = this,\n scrollTop = 0;\n\n this.selectpicker.isSearching = isSearching;\n this.selectpicker.current = isSearching ? this.selectpicker.search : this.selectpicker.main;\n\n this.setPositionData();\n\n if (setSize) {\n if (refresh) {\n scrollTop = this.menuInner.scrollTop;\n } else if (!that.multiple) {\n var element = that.element,\n selectedIndex = (element.options[element.selectedIndex] || {}).liIndex;\n\n if (typeof selectedIndex === 'number' && that.options.size !== false) {\n var selectedData = that.selectpicker.main.data[selectedIndex],\n position = selectedData && selectedData.position;\n\n if (position) {\n scrollTop = position - ((that.sizeInfo.menuInnerHeight + that.sizeInfo.liHeight) / 2);\n }\n }\n }\n }\n\n scroll(scrollTop, true);\n\n this._replace('createViewScroll', this.menuInner, 'scroll', function () {\n if (!that.noScroll) scroll(that.menuInner.scrollTop);\n that.noScroll = false;\n });\n\n function scroll (scrollTop, init) {\n var size = that.selectpicker.current.data.length,\n chunks = [],\n chunkSize,\n chunkCount,\n firstChunk,\n lastChunk,\n currentChunk,\n prevPositions,\n positionIsDifferent,\n previousElements,\n menuIsDifferent = true,\n isVirtual = that.isVirtual();\n\n that.selectpicker.view.scrollTop = scrollTop;\n\n chunkSize = that.options.chunkSize; // number of options in a chunk\n chunkCount = Math.ceil(size / chunkSize) || 1; // number of chunks\n\n for (var i = 0; i < chunkCount; i++) {\n var endOfChunk = (i + 1) * chunkSize;\n\n if (i === chunkCount - 1) {\n endOfChunk = size;\n }\n\n chunks[i] = [\n (i) * chunkSize + (!i ? 0 : 1),\n endOfChunk\n ];\n\n if (!size) break;\n\n if (currentChunk === undefined && scrollTop - 1 <= that.selectpicker.current.data[endOfChunk - 1].position - that.sizeInfo.menuInnerHeight) {\n currentChunk = i;\n }\n }\n\n if (currentChunk === undefined) currentChunk = 0;\n\n prevPositions = [that.selectpicker.view.position0, that.selectpicker.view.position1];\n\n // always display previous, current, and next chunks\n firstChunk = Math.max(0, currentChunk - 1);\n lastChunk = Math.min(chunkCount - 1, currentChunk + 1);\n\n that.selectpicker.view.position0 = isVirtual === false ? 0 : (Math.max(0, chunks[firstChunk][0]) || 0);\n that.selectpicker.view.position1 = isVirtual === false ? size : (Math.min(size, chunks[lastChunk][1]) || 0);\n\n positionIsDifferent = prevPositions[0] !== that.selectpicker.view.position0 || prevPositions[1] !== that.selectpicker.view.position1;\n\n if (that.activeElement !== undefined) {\n if (init) {\n if (that.activeElement !== that.selectedElement) {\n that.defocusItem(that.activeElement);\n }\n that.activeElement = undefined;\n }\n\n if (that.activeElement !== that.selectedElement) {\n that.defocusItem(that.selectedElement);\n }\n }\n\n if (that.prevActiveElement !== undefined && that.prevActiveElement !== that.activeElement && that.prevActiveElement !== that.selectedElement) {\n that.defocusItem(that.prevActiveElement);\n }\n\n if (init || positionIsDifferent || that.selectpicker.current.hasMore) {\n previousElements = that.selectpicker.view.visibleElements ? that.selectpicker.view.visibleElements.slice() : [];\n\n if (isVirtual === false) {\n that.selectpicker.view.visibleElements = that.selectpicker.current.elements;\n } else {\n that.selectpicker.view.visibleElements = that.selectpicker.current.elements.slice(that.selectpicker.view.position0, that.selectpicker.view.position1);\n }\n\n that.setOptionStatus();\n\n // if searching, check to make sure the list has actually been updated before updating DOM\n // this prevents unnecessary repaints\n if (isSearching || (isVirtual === false && init)) menuIsDifferent = !isEqual(previousElements, that.selectpicker.view.visibleElements);\n\n // if virtual scroll is disabled and not searching,\n // menu should never need to be updated more than once\n if ((init || isVirtual === true) && menuIsDifferent) {\n var menuInner = that.menuInner,\n menuFragment = document.createDocumentFragment(),\n emptyMenu = menuInner.firstChild.cloneNode(false),\n marginTop,\n marginBottom,\n elements = that.selectpicker.view.visibleElements,\n toSanitize = [];\n\n // replace the existing UL with an empty one - this is faster than emptying it\n menuInner.replaceChild(emptyMenu, menuInner.firstChild);\n\n for (var i = 0, visibleElementsLen = elements.length; i < visibleElementsLen; i++) {\n var element = elements[i],\n elText,\n elementData;\n\n if (that.options.sanitize) {\n elText = element.lastChild;\n\n if (elText) {\n elementData = that.selectpicker.current.data[i + that.selectpicker.view.position0];\n\n if (elementData && elementData.content && !elementData.sanitized) {\n toSanitize.push(elText);\n elementData.sanitized = true;\n }\n }\n }\n\n menuFragment.appendChild(element);\n }\n\n if (that.options.sanitize && toSanitize.length) {\n sanitizeHtml(toSanitize, that.options.whiteList, that.options.sanitizeFn);\n }\n\n if (isVirtual === true) {\n marginTop = (that.selectpicker.view.position0 === 0 ? 0 : that.selectpicker.current.data[that.selectpicker.view.position0 - 1].position);\n marginBottom = (that.selectpicker.view.position1 > size - 1 ? 0 : that.selectpicker.current.data[size - 1].position - that.selectpicker.current.data[that.selectpicker.view.position1 - 1].position);\n\n menuInner.firstChild.style.marginTop = marginTop + 'px';\n menuInner.firstChild.style.marginBottom = marginBottom + 'px';\n } else {\n menuInner.firstChild.style.marginTop = 0;\n menuInner.firstChild.style.marginBottom = 0;\n }\n\n menuInner.firstChild.appendChild(menuFragment);\n\n // if an option is encountered that is wider than the current menu width, update the menu width accordingly\n if (isVirtual === true && that.sizeInfo.hasScrollBar) {\n var menuInnerInnerWidth = menuInner.firstChild.offsetWidth;\n\n if (init && menuInnerInnerWidth < that.sizeInfo.menuInnerInnerWidth && that.sizeInfo.totalMenuWidth > that.sizeInfo.selectWidth) {\n menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px';\n } else if (menuInnerInnerWidth > that.sizeInfo.menuInnerInnerWidth) {\n // set to 0 to get actual width of menu\n that.menu.style.minWidth = 0;\n\n var actualMenuWidth = menuInner.firstChild.offsetWidth;\n\n if (actualMenuWidth > that.sizeInfo.menuInnerInnerWidth) {\n that.sizeInfo.menuInnerInnerWidth = actualMenuWidth;\n menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px';\n }\n\n // reset to default CSS styling\n that.menu.style.minWidth = '';\n }\n }\n }\n\n if ((!isSearching && that.options.source.data || isSearching && that.options.source.search) && that.selectpicker.current.hasMore && currentChunk === chunkCount - 1) {\n // Don't load the next chunk until scrolling has started\n // This prevents unnecessary requests while the user is typing if pageSize is <= chunkSize\n if (scrollTop > 0) {\n // Chunks use 0-based indexing, but pages use 1-based. Add 1 to convert and add 1 again to get next page\n var page = Math.floor((currentChunk * that.options.chunkSize) / that.options.source.pageSize) + 2;\n\n that.fetchData(function () {\n that.render();\n that.buildList(size, isSearching);\n that.setPositionData();\n scroll(scrollTop);\n }, isSearching ? 'search' : 'data', page, isSearching ? that.selectpicker.search.previousValue : undefined);\n }\n }\n }\n\n that.prevActiveElement = that.activeElement;\n\n if (!that.options.liveSearch) {\n that.menuInner.focus();\n } else if (isSearching && init) {\n var index = 0,\n newActive;\n\n if (!that.selectpicker.view.canHighlight[index]) {\n index = 1 + that.selectpicker.view.canHighlight.slice(1).indexOf(true);\n }\n\n newActive = that.selectpicker.view.visibleElements[index];\n\n that.defocusItem(that.selectpicker.view.currentActive);\n\n that.activeElement = (that.selectpicker.current.data[index] || {}).element;\n\n that.focusItem(newActive);\n }\n }\n\n this._replace('createViewResize', window, 'resize', function () {\n var isActive = that.newElement.classList.contains(classNames.SHOW);\n\n if (isActive) scroll(that.menuInner.scrollTop);\n });\n }\n\n focusItem (li, liData, noStyle) {\n if (li) {\n liData = liData || this.selectpicker.current.data[this.selectpicker.current.elements.indexOf(this.activeElement)];\n var a = li.firstChild;\n\n if (a) {\n a.setAttribute('aria-setsize', this.selectpicker.view.size);\n a.setAttribute('aria-posinset', liData.posinset);\n\n if (noStyle !== true) {\n this.focusedParent.setAttribute('aria-activedescendant', a.id);\n li.classList.add('active');\n a.classList.add('active');\n }\n }\n }\n }\n\n defocusItem (li) {\n if (li) {\n li.classList.remove('active');\n if (li.firstChild) li.firstChild.classList.remove('active');\n }\n }\n\n setPlaceholder () {\n var that = this,\n updateIndex = false;\n\n if ((this.options.placeholder || this.options.allowClear) && !this.multiple) {\n if (!this.selectpicker.view.titleOption) this.selectpicker.view.titleOption = document.createElement('option');\n\n // this option doesn't create a new
  • element, but does add a new option at the start,\n // so startIndex should increase to prevent having to check every option for the bs-title-option class\n updateIndex = true;\n\n var element = this.element,\n selectTitleOption = false,\n titleNotAppended = !this.selectpicker.view.titleOption.parentNode,\n selectedIndex = element.selectedIndex,\n selectedOption = element.options[selectedIndex],\n firstSelectable = element.querySelector('select > *:not(:disabled)'),\n firstSelectableIndex = firstSelectable ? firstSelectable.index : 0,\n navigation = window.performance && window.performance.getEntriesByType('navigation'),\n // Safari doesn't support getEntriesByType('navigation') - fall back to performance.navigation\n isNotBackForward = (navigation && navigation.length) ? navigation[0].type !== 'back_forward' : window.performance.navigation.type !== 2;\n\n if (titleNotAppended) {\n // Use native JS to prepend option (faster)\n this.selectpicker.view.titleOption.className = 'bs-title-option';\n this.selectpicker.view.titleOption.value = '';\n\n // Check if selected or data-selected attribute is already set on an option. If not, select the titleOption option.\n selectTitleOption = !selectedOption || (selectedIndex === firstSelectableIndex && selectedOption.defaultSelected === false);\n }\n\n if (titleNotAppended || this.selectpicker.view.titleOption.index !== 0) {\n element.insertBefore(this.selectpicker.view.titleOption, element.firstChild);\n }\n\n // Set selected *after* appending to select\n if (selectTitleOption && isNotBackForward) {\n element.selectedIndex = 0;\n } else if (document.readyState !== 'complete') {\n // if navigation type is back_forward, there's a chance the select will have its value set by BFCache\n // wait for that value to be set, then run render again\n window.addEventListener('pageshow', function () {\n if (that.selectpicker.view.displayedValue !== element.value) that.render();\n });\n }\n }\n\n return updateIndex;\n }\n\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n fetchData (callback, type, page, searchValue) {\n page = page || 1;\n type = type || 'data';\n\n var that = this,\n data = this.options.source[type],\n builtData;\n\n if (data) {\n this.options.virtualScroll = true;\n\n if (typeof data === 'function') {\n data.call(\n this,\n function (data, more, totalItems) {\n var current = that.selectpicker[type === 'search' ? 'search' : 'main'];\n current.hasMore = more;\n current.totalItems = totalItems;\n builtData = that.buildData(data, type);\n callback.call(that, builtData);\n that._emit('fetched');\n },\n page,\n searchValue\n );\n } else if (Array.isArray(data)) {\n builtData = that.buildData(data, type);\n callback.call(that, builtData);\n }\n } else {\n builtData = this.buildData(false, type);\n callback.call(that, builtData);\n }\n }\n\n buildData (data, type) {\n var that = this;\n var dataGetter = data === false ? getOptionData.fromOption : getOptionData.fromDataSource;\n\n var optionSelector = ':not([hidden]):not([data-hidden=\"true\"]):not([style*=\"display: none\"])',\n mainData = [],\n startLen = this.selectpicker.main.data ? this.selectpicker.main.data.length : 0,\n optID = 0,\n startIndex = this.setPlaceholder() && !data ? 1 : 0; // append the titleOption if necessary and skip the first option in the loop\n\n if (type === 'search') {\n startLen = this.selectpicker.search.data.length;\n }\n\n if (this.options.hideDisabled) optionSelector += ':not(:disabled)';\n\n var selectOptions = data ? data.filter(filterHidden, this) : this.element.querySelectorAll('select > *' + optionSelector);\n\n function addDivider (config) {\n var previousData = mainData[mainData.length - 1];\n\n // ensure optgroup doesn't create back-to-back dividers\n if (\n previousData &&\n previousData.type === 'divider' &&\n (previousData.optID || config.optID)\n ) {\n return;\n }\n\n config = config || {};\n config.type = 'divider';\n\n mainData.push(config);\n }\n\n function addOption (item, config) {\n config = config || {};\n\n config.divider = dataGetter(item, 'divider');\n\n if (config.divider === true) {\n addDivider({\n optID: config.optID\n });\n } else {\n var liIndex = mainData.length + startLen,\n cssText = dataGetter(item, 'style'),\n inlineStyle = cssText ? htmlEscape(cssText) : '',\n optionClass = (item.className || '') + (config.optgroupClass || '');\n\n if (config.optID) optionClass = 'opt ' + optionClass;\n\n config.optionClass = optionClass.trim();\n config.inlineStyle = inlineStyle;\n\n config.text = dataGetter(item, 'text');\n config.title = dataGetter(item, 'title');\n config.content = dataGetter(item, 'content');\n config.tokens = dataGetter(item, 'tokens');\n config.subtext = dataGetter(item, 'subtext');\n config.icon = dataGetter(item, 'icon');\n\n config.display = config.content || config.text;\n config.value = item.value === undefined ? item.text : item.value;\n config.type = 'option';\n config.index = liIndex;\n\n config.option = !item.option ? item : item.option; // reference option element if it exists\n config.option.liIndex = liIndex;\n config.selected = !!item.selected;\n config.disabled = config.disabled || !!item.disabled;\n\n if (data !== false) {\n if (that.selectpicker.optionValuesDataMap[config.value]) {\n config = Object.assign(that.selectpicker.optionValuesDataMap[config.value], config);\n } else {\n that.selectpicker.optionValuesDataMap[config.value] = config;\n }\n }\n\n mainData.push(config);\n }\n }\n\n function addOptgroup (index, selectOptions) {\n var optgroup = selectOptions[index],\n // skip placeholder option\n previous = index - 1 < startIndex ? false : selectOptions[index - 1],\n next = selectOptions[index + 1],\n options = data ? optgroup.children.filter(filterHidden, this) : optgroup.querySelectorAll('option' + optionSelector);\n\n if (!options.length) return;\n\n var config = {\n display: htmlEscape(dataGetter(item, 'label')),\n subtext: dataGetter(optgroup, 'subtext'),\n icon: dataGetter(optgroup, 'icon'),\n type: 'optgroup-label',\n optgroupClass: ' ' + (optgroup.className || ''),\n optgroup: optgroup\n },\n headerIndex,\n lastIndex;\n\n optID++;\n\n if (previous) {\n addDivider({ optID: optID });\n }\n\n config.optID = optID;\n\n mainData.push(config);\n\n for (var j = 0, len = options.length; j < len; j++) {\n var option = options[j];\n\n if (j === 0) {\n headerIndex = mainData.length - 1;\n lastIndex = headerIndex + len;\n }\n\n addOption(option, {\n headerIndex: headerIndex,\n lastIndex: lastIndex,\n optID: config.optID,\n optgroupClass: config.optgroupClass,\n disabled: optgroup.disabled\n });\n }\n\n if (next) {\n addDivider({ optID: optID });\n }\n }\n\n var item;\n\n for (var len = selectOptions.length, i = startIndex; i < len; i++) {\n item = selectOptions[i];\n var children = item.children;\n\n if (children && children.length) {\n addOptgroup.call(this, i, selectOptions);\n } else {\n addOption.call(this, item, {});\n }\n }\n\n switch (type) {\n case 'data': {\n if (!this.selectpicker.main.data) {\n this.selectpicker.main.data = [];\n }\n Array.prototype.push.apply(this.selectpicker.main.data, mainData);\n this.selectpicker.current.data = this.selectpicker.main.data;\n break;\n }\n case 'search': {\n Array.prototype.push.apply(this.selectpicker.search.data, mainData);\n break;\n }\n }\n\n return mainData;\n }\n\n buildList (size, searching) {\n var that = this,\n selectData = searching ? this.selectpicker.search.data : this.selectpicker.main.data,\n mainElements = [],\n widestOptionLength = 0;\n\n if (that.options.showTick || that.multiple || that.options.selectionIndicator === 'checkbox') {\n elementTemplates.checkMark.className = this.options.selectionIndicator === 'checkbox'\n ? 'check-mark bs-selection-indicator'\n : this.options.iconBase + ' ' + that.options.tickIcon + ' check-mark';\n\n if (!elementTemplates.checkMark.parentNode) {\n elementTemplates.a.appendChild(elementTemplates.checkMark);\n }\n }\n\n function buildElement (mainElements, item) {\n var liElement,\n combinedLength = 0;\n\n switch (item.type) {\n case 'divider':\n liElement = generateOption.li(\n false,\n classNames.DIVIDER,\n (item.optID ? item.optID + 'div' : undefined)\n );\n\n break;\n\n case 'option':\n liElement = generateOption.li(\n generateOption.a(\n generateOption.text.call(that, item),\n item.optionClass,\n item.inlineStyle\n ),\n '',\n item.optID\n );\n\n if (liElement.firstChild) {\n liElement.firstChild.id = that.selectId + '-' + item.index;\n }\n\n break;\n\n case 'optgroup-label':\n liElement = generateOption.li(\n generateOption.label.call(that, item),\n 'dropdown-header' + item.optgroupClass,\n item.optID\n );\n\n break;\n }\n\n if (item.content) item.sanitized = false;\n\n if (!item.element) {\n item.element = liElement;\n } else {\n item.element.innerHTML = liElement.innerHTML;\n }\n mainElements.push(item.element);\n\n // count the number of characters in the option - not perfect, but should work in most cases\n if (item.display) combinedLength += item.display.length;\n if (item.subtext) combinedLength += item.subtext.length;\n // if there is an icon, ensure this option's width is checked\n if (item.icon) combinedLength += 1;\n\n if (combinedLength > widestOptionLength) {\n widestOptionLength = combinedLength;\n\n // guess which option is the widest\n that.selectpicker.view.widestOption = mainElements[mainElements.length - 1];\n }\n }\n\n var startIndex = size || 0;\n\n for (var len = selectData.length, i = startIndex; i < len; i++) {\n var item = selectData[i];\n\n buildElement(mainElements, item);\n }\n\n if (size) {\n if (searching) {\n Array.prototype.push.apply(this.selectpicker.search.elements, mainElements);\n } else {\n Array.prototype.push.apply(this.selectpicker.main.elements, mainElements);\n this.selectpicker.current.elements = this.selectpicker.main.elements;\n }\n } else {\n if (searching) {\n this.selectpicker.search.elements = mainElements;\n } else {\n this.selectpicker.main.elements = this.selectpicker.current.elements = mainElements;\n }\n }\n }\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n findLis () {\n return this.menuInner.querySelectorAll('.inner > li');\n }\n\n render (init) {\n var that = this,\n element = this.element,\n // ensure titleOption is appended and selected (if necessary) before getting selectedOptions\n placeholderSelected = this.setPlaceholder() && element.selectedIndex === 0,\n selectedOptions = getSelectedOptions.call(this),\n selectedCount = selectedOptions.length,\n selectedValues = getSelectValues.call(this, selectedOptions),\n button = this.button,\n buttonInner = button.querySelector('.filter-option-inner-inner'),\n multipleSeparator = document.createTextNode(this.options.multipleSeparator),\n titleFragment = elementTemplates.fragment.cloneNode(false),\n forceCount = this.multiple && this.options.showSelectedTags && selectedCount > 0,\n showCount,\n countMax,\n hasContent = false;\n\n function createSelected (item) {\n if (item.selected) {\n that.createOption(item, true);\n } else if (item.children && item.children.length) {\n item.children.map(createSelected);\n }\n }\n\n // create selected option elements to ensure select value is correct\n if (this.options.source.data && init) {\n selectedOptions.map(createSelected);\n element.appendChild(this.selectpicker.main.optionQueue);\n\n if (placeholderSelected) placeholderSelected = element.selectedIndex === 0;\n }\n\n button.classList.toggle('bs-placeholder', that.multiple ? !selectedCount : !selectedValues && selectedValues !== 0);\n\n if (!that.multiple && selectedOptions.length === 1) {\n that.selectpicker.view.displayedValue = selectedValues;\n }\n\n if (this.options.selectedTextFormat === 'static') {\n titleFragment = generateOption.text.call(this, { text: this.options.placeholder }, true);\n } else {\n showCount = forceCount || this.multiple && this.options.selectedTextFormat.indexOf('count') !== -1 && selectedCount > 0;\n\n // determine if the number of selected options will be shown (showCount === true)\n if (showCount && !forceCount) {\n countMax = this.options.selectedTextFormat.split('>');\n showCount = (countMax.length > 1 && selectedCount > countMax[1]) || (countMax.length === 1 && selectedCount >= 2);\n }\n\n // only loop through all selected options if the count won't be shown\n if (showCount === false) {\n if (!placeholderSelected) {\n for (var selectedIndex = 0; selectedIndex < selectedCount; selectedIndex++) {\n if (selectedIndex < 50) {\n var option = selectedOptions[selectedIndex],\n titleOptions = {};\n\n if (option) {\n if (this.multiple && selectedIndex > 0) {\n titleFragment.appendChild(multipleSeparator.cloneNode(false));\n }\n\n if (option.title) {\n titleOptions.text = option.title;\n } else if (option.content && that.options.showContent) {\n titleOptions.content = option.content.toString();\n hasContent = true;\n } else {\n if (that.options.showIcon) {\n titleOptions.icon = option.icon;\n }\n if (that.options.showSubtext && !that.multiple && option.subtext) titleOptions.subtext = ' ' + option.subtext;\n titleOptions.text = option.text.trim();\n }\n\n titleFragment.appendChild(generateOption.text.call(this, titleOptions, true));\n }\n } else {\n break;\n }\n }\n\n // add ellipsis\n if (selectedCount > 49) {\n titleFragment.appendChild(document.createTextNode('...'));\n }\n }\n } else {\n var optionSelector = ':not([hidden]):not([data-hidden=\"true\"]):not([data-divider=\"true\"]):not([style*=\"display: none\"])';\n if (this.options.hideDisabled) optionSelector += ':not(:disabled)';\n\n // If this is a multiselect, and selectedTextFormat is count, then show 1 of 2 selected, etc.\n var totalCount = this.element.querySelectorAll('select > option' + optionSelector + ', optgroup' + optionSelector + ' option' + optionSelector).length,\n tr8nText = (typeof this.options.countSelectedText === 'function') ? this.options.countSelectedText(selectedCount, totalCount) : this.options.countSelectedText;\n\n titleFragment = generateOption.text.call(this, {\n text: tr8nText.replace('{0}', selectedCount.toString()).replace('{1}', totalCount.toString())\n }, true);\n }\n }\n\n // If the select doesn't have a title, then use the default, or if nothing is set at all, use noneSelectedText\n if (!titleFragment.childNodes.length) {\n titleFragment = generateOption.text.call(this, {\n text: this.options.placeholder ? this.options.placeholder : this.options.noneSelectedText\n }, true);\n }\n\n // if the select has a title, apply it to the button, and if not, apply titleFragment text\n button.title = titleFragment.textContent.replace(/<[^>]*>?/g, '').trim();\n\n if (this.options.sanitize && hasContent) {\n sanitizeHtml([titleFragment], that.options.whiteList, that.options.sanitizeFn);\n }\n\n buttonInner.innerHTML = '';\n buttonInner.appendChild(titleFragment);\n\n this.syncTagEditor();\n\n this._emit('rendered');\n }\n\n usesTagEditor () {\n return this.options.liveSearch && (this.options.showSelectedTags || this.options.openOptions);\n }\n\n syncTagEditor () {\n if (!this.usesTagEditor()) return;\n\n if (this.selectedItems) {\n var selectedOptions = getSelectedOptions.call(this),\n useListStyle = this.options.selectedItemsStyle === 'list';\n\n this.selectedItems.innerHTML = '';\n this.selectedItems.hidden = !selectedOptions.length;\n this.selectedItems.classList.toggle('list-group', useListStyle);\n\n for (var i = 0; i < selectedOptions.length; i++) {\n var item = selectedOptions[i],\n selectedTag = document.createElement('button'),\n removeText = this.options.selectedTagRemoveLabel + ' ' + getOptionLabelText(item),\n content = document.createElement('span'),\n label = document.createElement('span'),\n remove = document.createElement('span'),\n icon;\n\n selectedTag.type = 'button';\n selectedTag.className = useListStyle\n ? 'bs-selected-item list-group-item list-group-item-action'\n : 'bs-selected-item';\n selectedTag.setAttribute('data-option-value', item.value);\n selectedTag.setAttribute('aria-label', removeText);\n selectedTag.title = removeText;\n\n content.className = 'bs-selected-item-content';\n\n if (item.icon && this.options.showIcon) {\n icon = document.createElement('span');\n icon.className = 'bs-selected-item-icon ' + this.options.iconBase + ' ' + item.icon;\n icon.setAttribute('aria-hidden', 'true');\n content.appendChild(icon);\n }\n\n label.className = 'bs-selected-item-label';\n label.textContent = getOptionLabelText(item);\n content.appendChild(label);\n\n remove.className = 'bs-selected-item-remove';\n remove.setAttribute('aria-hidden', 'true');\n remove.textContent = '\\u00d7';\n\n selectedTag.appendChild(content);\n selectedTag.appendChild(remove);\n this.selectedItems.appendChild(selectedTag);\n }\n }\n\n this.syncOpenOptionButton();\n\n if (this.newElement && this.newElement.classList.contains(classNames.SHOW)) {\n this.setSize(true);\n }\n }\n\n syncOpenOptionButton () {\n if (!this.createOptionButton) return;\n\n var searchValue = this.searchbox ? this.searchbox.value : '',\n normalizedValue = searchValue.toString().trim(),\n shouldShow = !!normalizedValue &&\n !this.selectpicker.openOption.isCreating &&\n !this.findOptionBySearchValue(normalizedValue);\n\n this.createOptionButton.hidden = !shouldShow;\n this.createOptionButton.disabled = this.selectpicker.openOption.isCreating;\n\n if (shouldShow) {\n this.createOptionButton.textContent = this.options.openOptionsText.replace('{0}', normalizedValue);\n this.createOptionButton.setAttribute('data-search-value', normalizedValue);\n } else {\n this.createOptionButton.textContent = '';\n this.createOptionButton.removeAttribute('data-search-value');\n }\n }\n\n findOptionByValue (value, dataSet) {\n var options = dataSet || this.selectpicker.main.data,\n stringValue = String(value);\n\n for (var i = 0; i < options.length; i++) {\n var option = options[i];\n\n if (option.type === 'option' && String(option.value) === stringValue) {\n return option;\n }\n }\n\n return null;\n }\n\n findOptionBySearchValue (searchValue) {\n var options = this.options.source.data || this.options.source.search\n ? Object.values(this.selectpicker.optionValuesDataMap)\n : this.selectpicker.main.data,\n normalizedSearch = normalizeSearchInput(searchValue, this.options.liveSearchNormalize);\n\n for (var i = 0; i < options.length; i++) {\n var option = options[i];\n\n if (option.type !== 'option') continue;\n\n if (\n normalizeSearchInput(option.text, this.options.liveSearchNormalize) === normalizedSearch ||\n normalizeSearchInput(option.value, this.options.liveSearchNormalize) === normalizedSearch ||\n normalizeSearchInput(option.title, this.options.liveSearchNormalize) === normalizedSearch\n ) {\n return option;\n }\n }\n\n return null;\n }\n\n createOptionElement (optionData) {\n var option = document.createElement('option');\n\n option.value = optionData.value === undefined ? optionData.text : optionData.value;\n option.textContent = optionData.text === undefined ? option.value : optionData.text;\n\n if (optionData.className) option.className = optionData.className;\n if (optionData.title) option.title = optionData.title;\n if (optionData.content) option.setAttribute('data-content', optionData.content);\n if (optionData.tokens) option.setAttribute('data-tokens', optionData.tokens);\n if (optionData.subtext) option.setAttribute('data-subtext', optionData.subtext);\n if (optionData.icon) option.setAttribute('data-icon', optionData.icon);\n if (optionData.disabled) option.disabled = true;\n if (optionData.hidden) option.hidden = true;\n\n return option;\n }\n\n appendCreatedSearchResults (searchValue) {\n if (!this.selectpicker.createdOptions.length) return;\n\n var matches = [];\n\n for (var i = 0; i < this.selectpicker.createdOptions.length; i++) {\n var option = this.selectpicker.createdOptions[i];\n\n if (\n stringSearch(option, normalizeSearchInput(searchValue, this.options.liveSearchNormalize), this._searchStyle(), this.options.liveSearchNormalize) &&\n !this.findOptionByValue(option.value, this.selectpicker.search.data)\n ) {\n matches.push(option);\n }\n }\n\n if (matches.length) this.buildData(matches, 'search');\n }\n\n addCreatedOption (optionData) {\n optionData = Object.assign({}, optionData);\n optionData.value = optionData.value === undefined ? optionData.text : optionData.value;\n optionData.text = optionData.text === undefined ? optionData.value : optionData.text;\n\n var size = this.selectpicker.main.elements ? this.selectpicker.main.elements.length : 0,\n option = this.createOptionElement(optionData);\n optionData.option = option;\n\n this.element.appendChild(option);\n var builtOptions = this.buildData([optionData], 'data'),\n builtOption = builtOptions[0];\n\n this.buildList(size);\n this.selectpicker.createdOptions.push(builtOption);\n\n return builtOption;\n }\n\n removeSelectedTag (value) {\n var option = this.findOptionByValue(value);\n\n if (!option || !option.selected) return;\n\n var prevValue = getSelectValues.call(this);\n\n this.setSelected(option, false);\n changedArguments = [option.index, false, prevValue];\n triggerNative(this.element, 'change');\n\n if (this.options.liveSearch) this.searchbox.focus();\n }\n\n createOpenOption (searchValue) {\n searchValue = searchValue === undefined || searchValue === null ? '' : searchValue.toString().trim();\n\n if (!searchValue || this.selectpicker.openOption.isCreating) return;\n\n var existingOption = this.findOptionBySearchValue(searchValue);\n\n if (existingOption) {\n if (!existingOption.selected) {\n var prevSelectedValue = getSelectValues.call(this);\n\n this.setSelected(existingOption, true);\n changedArguments = [existingOption.index, true, prevSelectedValue];\n triggerNative(this.element, 'change');\n }\n\n if (this.options.liveSearch) this.searchbox.focus();\n return;\n }\n\n var that = this,\n prevValue = getSelectValues.call(this),\n createHandler = this.options.source.create;\n\n this.selectpicker.openOption.isCreating = true;\n this.syncOpenOptionButton();\n\n function finalize (createdOption) {\n that.selectpicker.openOption.isCreating = false;\n\n if (createdOption === undefined || createdOption === null || createdOption === false) {\n that.syncOpenOptionButton();\n return;\n }\n\n if (Array.isArray(createdOption)) createdOption = createdOption[0];\n if (typeof createdOption !== 'object') {\n createdOption = {\n text: createdOption,\n value: createdOption\n };\n }\n\n if (!createdOption.text && !createdOption.value) {\n createdOption.text = searchValue;\n }\n\n if (createdOption.value === undefined) createdOption.value = createdOption.text;\n if (createdOption.text === undefined) createdOption.text = createdOption.value;\n\n var option = that.findOptionByValue(createdOption.value) || that.findOptionBySearchValue(createdOption.text);\n\n if (!option) {\n option = that.addCreatedOption(createdOption);\n }\n\n that.setSelected(option, true);\n\n if (that.options.source.data) that.element.appendChild(that.selectpicker.main.optionQueue);\n\n if (that.searchbox) {\n that.searchbox.value = '';\n }\n\n that.selectpicker.search.previousValue = '';\n that.selectpicker.search.data = [];\n that.selectpicker.search.elements = [];\n that.createView(false);\n\n changedArguments = [option.index, true, prevValue];\n triggerNative(that.element, 'change');\n\n if (that.options.liveSearch) that.searchbox.focus();\n }\n\n if (typeof createHandler === 'function') {\n var returnedOption = createHandler.call(this, finalize, searchValue);\n\n if (returnedOption && typeof returnedOption.then === 'function') {\n returnedOption.then(finalize);\n } else if (returnedOption !== undefined) {\n finalize(returnedOption);\n }\n } else {\n finalize({\n text: searchValue,\n value: searchValue\n });\n }\n }\n\n /**\n * @param [newStyle]\n * @param [status]\n */\n setStyle (newStyle, status) {\n var button = this.button,\n newElement = this.newElement,\n style = this.options.style.trim(),\n buttonClass;\n\n if (this.element.getAttribute('class')) {\n var extra = this.element.getAttribute('class').replace(/selectpicker|mobile-device|bs-select-hidden|validate\\[.*\\]/gi, '').trim();\n if (extra) newElement.classList.add.apply(newElement.classList, extra.split(/\\s+/));\n }\n\n if (newStyle) {\n buttonClass = newStyle.trim();\n } else {\n buttonClass = style;\n }\n\n if (status === 'add') {\n if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' '));\n } else if (status === 'remove') {\n if (buttonClass) button.classList.remove.apply(button.classList, buttonClass.split(' '));\n } else {\n if (style) button.classList.remove.apply(button.classList, style.split(' '));\n if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' '));\n }\n }\n\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n liHeight (refresh) {\n if (!refresh && (this.options.size === false || Object.keys(this.sizeInfo).length)) return;\n\n var newElement = elementTemplates.div.cloneNode(false),\n menu = elementTemplates.div.cloneNode(false),\n menuInner = elementTemplates.div.cloneNode(false),\n menuInnerInner = document.createElement('ul'),\n divider = elementTemplates.li.cloneNode(false),\n dropdownHeader = elementTemplates.li.cloneNode(false),\n li,\n a = elementTemplates.a.cloneNode(false),\n text = elementTemplates.span.cloneNode(false),\n header = this.options.header && this.menu.querySelectorAll('.' + classNames.POPOVERHEADER).length > 0 ? this.menu.querySelector('.' + classNames.POPOVERHEADER).cloneNode(true) : null,\n search = this.options.liveSearch && this.menu.querySelector('.bs-searchbox')\n ? this.menu.querySelector('.bs-searchbox').cloneNode(true)\n : null,\n actions = this.options.actionsBox && this.multiple && this.menu.querySelectorAll('.bs-actionsbox').length > 0 ? this.menu.querySelector('.bs-actionsbox').cloneNode(true) : null,\n doneButton = this.options.doneButton && this.multiple && this.menu.querySelectorAll('.bs-donebutton').length > 0 ? this.menu.querySelector('.bs-donebutton').cloneNode(true) : null,\n firstOption = this.element.options[0];\n\n this.sizeInfo.selectWidth = this.newElement.offsetWidth;\n\n text.className = 'text';\n a.className = 'dropdown-item ' + (firstOption ? firstOption.className : '');\n newElement.className = this.menu.parentNode.className + ' ' + classNames.SHOW;\n newElement.style.width = 0; // ensure button width doesn't affect natural width of menu when calculating\n menu.className = classNames.MENU + ' ' + classNames.SHOW;\n menuInner.className = 'inner ' + classNames.SHOW;\n menuInnerInner.className = classNames.MENU + ' inner ' + classNames.SHOW;\n divider.className = classNames.DIVIDER;\n dropdownHeader.className = 'dropdown-header';\n\n text.appendChild(document.createTextNode('\\u200b'));\n\n if (this.selectpicker.current.data.length) {\n for (var i = 0; i < this.selectpicker.current.data.length; i++) {\n var data = this.selectpicker.current.data[i];\n if (data.type === 'option' && window.getComputedStyle(data.element.firstChild).display !== 'none') {\n li = data.element;\n break;\n }\n }\n } else {\n li = elementTemplates.li.cloneNode(false);\n a.appendChild(text);\n li.appendChild(a);\n }\n\n dropdownHeader.appendChild(text.cloneNode(true));\n\n if (this.selectpicker.view.widestOption) {\n menuInnerInner.appendChild(this.selectpicker.view.widestOption.cloneNode(true));\n }\n\n menuInnerInner.appendChild(li);\n menuInnerInner.appendChild(divider);\n menuInnerInner.appendChild(dropdownHeader);\n if (header) menu.appendChild(header);\n if (search) menu.appendChild(search);\n if (actions) menu.appendChild(actions);\n menuInner.appendChild(menuInnerInner);\n menu.appendChild(menuInner);\n if (doneButton) menu.appendChild(doneButton);\n newElement.appendChild(menu);\n\n document.body.appendChild(newElement);\n\n var liHeight = li.offsetHeight,\n dropdownHeaderHeight = dropdownHeader ? dropdownHeader.offsetHeight : 0,\n headerHeight = header ? header.offsetHeight : 0,\n searchHeight = search ? search.offsetHeight : 0,\n actionsHeight = actions ? actions.offsetHeight : 0,\n doneButtonHeight = doneButton ? doneButton.offsetHeight : 0,\n dividerHeight = outerHeight(divider, true),\n menuStyle = window.getComputedStyle(menu),\n menuWidth = menu.offsetWidth,\n menuPadding = {\n vert: toInteger(menuStyle.paddingTop) +\n toInteger(menuStyle.paddingBottom) +\n toInteger(menuStyle.borderTopWidth) +\n toInteger(menuStyle.borderBottomWidth),\n horiz: toInteger(menuStyle.paddingLeft) +\n toInteger(menuStyle.paddingRight) +\n toInteger(menuStyle.borderLeftWidth) +\n toInteger(menuStyle.borderRightWidth)\n },\n menuExtras = {\n vert: menuPadding.vert +\n toInteger(menuStyle.marginTop) +\n toInteger(menuStyle.marginBottom) + 2,\n horiz: menuPadding.horiz +\n toInteger(menuStyle.marginLeft) +\n toInteger(menuStyle.marginRight) + 2\n },\n scrollBarWidth;\n\n menuInner.style.overflowY = 'scroll';\n\n scrollBarWidth = menu.offsetWidth - menuWidth;\n\n document.body.removeChild(newElement);\n\n this.sizeInfo.liHeight = liHeight;\n this.sizeInfo.dropdownHeaderHeight = dropdownHeaderHeight;\n this.sizeInfo.headerHeight = headerHeight;\n this.sizeInfo.searchHeight = searchHeight;\n this.sizeInfo.actionsHeight = actionsHeight;\n this.sizeInfo.doneButtonHeight = doneButtonHeight;\n this.sizeInfo.dividerHeight = dividerHeight;\n this.sizeInfo.menuPadding = menuPadding;\n this.sizeInfo.menuExtras = menuExtras;\n this.sizeInfo.menuWidth = menuWidth;\n this.sizeInfo.menuInnerInnerWidth = menuWidth - menuPadding.horiz;\n this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth;\n this.sizeInfo.scrollBarWidth = scrollBarWidth;\n this.sizeInfo.selectHeight = this.newElement.offsetHeight;\n\n this.setPositionData();\n }\n\n getSelectPosition () {\n var that = this,\n winScrollTop = window.pageYOffset,\n winScrollLeft = window.pageXOffset,\n winHeight = document.documentElement.clientHeight,\n winWidth = document.documentElement.clientWidth,\n pos = offset(that.newElement);\n\n this.sizeInfo.selectOffsetTop = pos.top - winScrollTop;\n this.sizeInfo.selectOffsetBot = winHeight - this.sizeInfo.selectOffsetTop - this.sizeInfo.selectHeight;\n this.sizeInfo.selectOffsetLeft = pos.left - winScrollLeft;\n this.sizeInfo.selectOffsetRight = winWidth - this.sizeInfo.selectOffsetLeft - this.sizeInfo.selectWidth;\n }\n\n setMenuSize (isAuto) {\n this.getSelectPosition();\n\n var selectWidth = this.sizeInfo.selectWidth,\n liHeight = this.sizeInfo.liHeight,\n headerHeight = this.sizeInfo.headerHeight,\n searchHeight = this.sizeInfo.searchHeight,\n actionsHeight = this.sizeInfo.actionsHeight,\n doneButtonHeight = this.sizeInfo.doneButtonHeight,\n divHeight = this.sizeInfo.dividerHeight,\n menuPadding = this.sizeInfo.menuPadding,\n menuInnerHeight,\n menuHeight,\n divLength = 0,\n minHeight,\n _minHeight,\n maxHeight,\n menuInnerMinHeight,\n estimate,\n isDropup;\n\n if (this.options.dropupAuto) {\n // Get the estimated height of the menu without scrollbars.\n estimate = liHeight * this.selectpicker.current.data.length + menuPadding.vert;\n\n isDropup = this.sizeInfo.selectOffsetTop - this.sizeInfo.selectOffsetBot > this.sizeInfo.menuExtras.vert && estimate + this.sizeInfo.menuExtras.vert + 50 > this.sizeInfo.selectOffsetBot;\n\n // ensure dropup doesn't change while searching (so menu doesn't bounce back and forth)\n if (this.selectpicker.isSearching === true) {\n isDropup = this.selectpicker.dropup;\n }\n\n this.newElement.classList.toggle(classNames.DROPUP, isDropup);\n this.selectpicker.dropup = isDropup;\n }\n\n if (this.options.size === 'auto') {\n _minHeight = this.selectpicker.current.data.length > 3 ? this.sizeInfo.liHeight * 3 + this.sizeInfo.menuExtras.vert - 2 : 0;\n menuHeight = this.sizeInfo.selectOffsetBot - this.sizeInfo.menuExtras.vert;\n minHeight = _minHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight;\n menuInnerMinHeight = Math.max(_minHeight - menuPadding.vert, 0);\n\n if (this.newElement.classList.contains(classNames.DROPUP)) {\n menuHeight = this.sizeInfo.selectOffsetTop - this.sizeInfo.menuExtras.vert;\n }\n\n maxHeight = menuHeight;\n menuInnerHeight = menuHeight - headerHeight - searchHeight - actionsHeight - doneButtonHeight - menuPadding.vert;\n } else if (this.options.size && this.options.size !== 'auto' && this.selectpicker.current.elements.length > this.options.size) {\n for (var i = 0; i < this.options.size; i++) {\n if (this.selectpicker.current.data[i].type === 'divider') divLength++;\n }\n\n menuHeight = liHeight * this.options.size + divLength * divHeight + menuPadding.vert;\n menuInnerHeight = menuHeight - menuPadding.vert;\n maxHeight = menuHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight;\n minHeight = menuInnerMinHeight = '';\n }\n\n setStyles(this.menu, {\n maxHeight: maxHeight + 'px',\n overflow: 'hidden',\n minHeight: minHeight + 'px'\n });\n\n setStyles(this.menuInner, {\n maxHeight: menuInnerHeight + 'px',\n overflow: 'hidden auto',\n minHeight: menuInnerMinHeight + 'px'\n });\n\n // ensure menuInnerHeight is always a positive number to prevent issues calculating chunkSize in createView\n this.sizeInfo.menuInnerHeight = Math.max(menuInnerHeight, 1);\n\n if (this.selectpicker.current.data.length && this.selectpicker.current.data[this.selectpicker.current.data.length - 1].position > this.sizeInfo.menuInnerHeight) {\n this.sizeInfo.hasScrollBar = true;\n this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth + this.sizeInfo.scrollBarWidth;\n }\n\n if (this.options.dropdownAlignRight === 'auto') {\n this.menu.classList.toggle(classNames.MENUEND, this.sizeInfo.selectOffsetLeft > this.sizeInfo.selectOffsetRight && this.sizeInfo.selectOffsetRight < (this.sizeInfo.totalMenuWidth - selectWidth));\n }\n\n if (this.dropdown && this.dropdown._popper) this.dropdown._popper.update();\n }\n\n setSize (refresh) {\n this.liHeight(refresh);\n\n if (this.options.header) this.menu.style.paddingTop = 0;\n\n if (this.options.size !== false) {\n var that = this;\n\n this.setMenuSize();\n\n if (this.options.liveSearch) {\n this._replace('setMenuSizeInput', this.searchbox, 'input', function () {\n return that.setMenuSize();\n });\n }\n\n if (this.options.size === 'auto') {\n var windowSizeHandler = function () {\n return that.setMenuSize();\n };\n this._replace('setMenuSizeResize', window, 'resize', windowSizeHandler);\n this._replace('setMenuSizeScroll', window, 'scroll', windowSizeHandler);\n } else if (this.options.size && this.options.size !== 'auto' && this.selectpicker.current.elements.length > this.options.size) {\n this._removeNamed('setMenuSizeResize');\n this._removeNamed('setMenuSizeScroll');\n }\n }\n\n this.createView(false, true, refresh);\n }\n\n setWidth () {\n this.menu.style.minWidth = '';\n this.newElement.style.width = '';\n this.newElement.classList.remove('fit-width');\n\n if (this.options.width === 'fit') {\n this.newElement.classList.add('fit-width');\n return;\n }\n\n if (this.options.width && this.options.width !== 'auto') {\n this.newElement.style.width = this.options.width;\n }\n }\n\n selectPosition () {\n this.bsContainer = createFromHTML('
    ');\n\n var that = this,\n container = resolveContainer(this.options.container),\n pos,\n containerPos,\n actualHeight,\n getPlacement = function (element) {\n var Dropdown = getDropdown(),\n containerPosition = {},\n // fall back to dropdown's default display setting if display is not manually set\n display = that.options.display || (Dropdown.Default ? Dropdown.Default.display : false);\n\n var extraClass = element.getAttribute('class').replace(/form-control|fit-width/gi, '').trim();\n if (extraClass) that.bsContainer.classList.add.apply(that.bsContainer.classList, extraClass.split(/\\s+/));\n that.bsContainer.classList.toggle(classNames.DROPUP, element.classList.contains(classNames.DROPUP));\n pos = offset(element);\n\n if (container !== document.body) {\n containerPos = offset(container);\n var containerStyle = window.getComputedStyle(container);\n containerPos.top += toInteger(containerStyle.borderTopWidth) - container.scrollTop;\n containerPos.left += toInteger(containerStyle.borderLeftWidth) - container.scrollLeft;\n } else {\n containerPos = { top: 0, left: 0 };\n }\n\n actualHeight = element.classList.contains(classNames.DROPUP) ? 0 : element.offsetHeight;\n\n // Bootstrap 5 uses Popper for menu positioning\n if (display === 'static') {\n containerPosition.top = pos.top - containerPos.top + actualHeight;\n containerPosition.left = pos.left - containerPos.left;\n }\n\n containerPosition.width = element.offsetWidth;\n\n setStyles(that.bsContainer, {\n top: containerPosition.top !== undefined ? containerPosition.top + 'px' : '',\n left: containerPosition.left !== undefined ? containerPosition.left + 'px' : '',\n width: containerPosition.width + 'px'\n });\n };\n\n this._on(this.button, 'click', function () {\n if (that.isDisabled()) {\n return;\n }\n\n getPlacement(that.newElement);\n\n container.appendChild(that.bsContainer);\n that.bsContainer.classList.toggle(classNames.SHOW, !that.button.classList.contains(classNames.SHOW));\n that.bsContainer.appendChild(that.menu);\n });\n\n var windowHandler = function () {\n var isActive = that.newElement.classList.contains(classNames.SHOW);\n\n if (isActive) getPlacement(that.newElement);\n };\n this._replace('selectPositionResize', window, 'resize', windowHandler);\n this._replace('selectPositionScroll', window, 'scroll', windowHandler);\n\n this._on(this.element, 'hide' + EVENT_KEY, function () {\n that._menuHeight = outerHeight(that.menu);\n if (that.bsContainer.parentNode) that.bsContainer.parentNode.removeChild(that.bsContainer);\n });\n }\n\n createOption (data, init) {\n var optionData = !data.option ? data : data.option;\n\n if (optionData && optionData.nodeType !== 1) {\n var option = (init ? elementTemplates.selectedOption : elementTemplates.option).cloneNode(true);\n if (optionData.value !== undefined) option.value = optionData.value;\n option.textContent = optionData.text;\n\n option.selected = true;\n\n if (optionData.liIndex !== undefined) {\n option.liIndex = optionData.liIndex;\n } else if (!init) {\n option.liIndex = data.index;\n }\n\n data.option = option;\n\n this.selectpicker.main.optionQueue.appendChild(option);\n }\n }\n\n setOptionStatus (selectedOnly) {\n var that = this;\n\n that.noScroll = false;\n\n if (that.selectpicker.view.visibleElements && that.selectpicker.view.visibleElements.length) {\n for (var i = 0; i < that.selectpicker.view.visibleElements.length; i++) {\n var liData = that.selectpicker.current.data[i + that.selectpicker.view.position0],\n option = liData.option;\n\n if (option) {\n if (selectedOnly !== true) {\n that.setDisabled(liData);\n }\n\n that.setSelected(liData);\n }\n }\n\n // append optionQueue (documentFragment with option elements for select options)\n if (this.options.source.data) this.element.appendChild(this.selectpicker.main.optionQueue);\n }\n }\n\n /**\n * @param {Object} liData - the option object that is being changed\n * @param {boolean} selected - true if the option is being selected, false if being deselected\n */\n setSelected (liData, selected) {\n selected = selected === undefined ? liData.selected : selected;\n\n var li = liData.element,\n activeElementIsSet = this.activeElement !== undefined,\n thisIsActive = this.activeElement === li,\n prevActive,\n a,\n keepActive = thisIsActive || (selected && !this.multiple && !activeElementIsSet);\n\n if (selected !== undefined) {\n liData.selected = selected;\n if (liData.option) liData.option.selected = selected;\n }\n\n if (selected && this.options.source.data) {\n this.createOption(liData, false);\n }\n\n if (!li) return;\n\n a = li.firstChild;\n\n if (selected) {\n this.selectedElement = li;\n }\n\n li.classList.toggle('selected', selected);\n\n if (keepActive) {\n this.focusItem(li, liData);\n this.selectpicker.view.currentActive = li;\n this.activeElement = li;\n } else {\n this.defocusItem(li);\n }\n\n if (a) {\n a.classList.toggle('selected', selected);\n\n if (selected) {\n a.setAttribute('aria-selected', true);\n } else {\n if (this.multiple) {\n a.setAttribute('aria-selected', false);\n } else {\n a.removeAttribute('aria-selected');\n }\n }\n }\n\n if (!keepActive && !activeElementIsSet && selected && this.prevActiveElement !== undefined) {\n prevActive = this.prevActiveElement;\n\n this.defocusItem(prevActive);\n }\n }\n\n /**\n * @param {Object} liData - the option that is being disabled\n */\n setDisabled (liData) {\n var disabled = liData.disabled,\n li = liData.element,\n a;\n\n if (!li) return;\n\n a = li.firstChild;\n\n li.classList.toggle(classNames.DISABLED, disabled);\n\n if (a) {\n a.classList.toggle(classNames.DISABLED, disabled);\n\n if (disabled) {\n a.setAttribute('aria-disabled', disabled);\n a.setAttribute('tabindex', -1);\n } else {\n a.removeAttribute('aria-disabled');\n a.setAttribute('tabindex', 0);\n }\n }\n }\n\n isDisabled () {\n return this.element.disabled;\n }\n\n checkDisabled () {\n if (this.isDisabled()) {\n this.newElement.classList.add(classNames.DISABLED);\n this.button.classList.add(classNames.DISABLED);\n this.button.setAttribute('aria-disabled', true);\n } else {\n if (this.button.classList.contains(classNames.DISABLED)) {\n this.newElement.classList.remove(classNames.DISABLED);\n this.button.classList.remove(classNames.DISABLED);\n this.button.setAttribute('aria-disabled', false);\n }\n }\n }\n\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n clickListener () {\n var that = this;\n\n spaceSelectFlag = false;\n\n this._on(this.button, 'keyup', function (e) {\n if (/(32)/.test(e.keyCode.toString(10)) && spaceSelectFlag) {\n e.preventDefault();\n spaceSelectFlag = false;\n }\n });\n\n function clearSelection (e) {\n if (that.multiple) {\n that.deselectAll();\n } else {\n var element = that.element,\n prevValue = element.value,\n prevIndex = element.selectedIndex,\n prevOption = element.options[prevIndex],\n prevData = prevOption ? that.selectpicker.main.data[prevOption.liIndex] : false;\n\n if (prevData) {\n that.setSelected(prevData, false);\n }\n\n element.selectedIndex = 0;\n\n changedArguments = [prevIndex, false, prevValue];\n triggerNative(that.element, 'change');\n }\n\n // remove selected styling if menu is open\n if (that.newElement.classList.contains(classNames.SHOW)) {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n }\n\n that.createView(false);\n }\n }\n\n if (this.options.allowClear) {\n this._on(this.button, 'click', function (e) {\n var target = e.target,\n clearButton = that.clearButton;\n\n if (target === clearButton || target.parentElement === clearButton) {\n e.stopImmediatePropagation();\n clearSelection(e);\n }\n });\n }\n\n function setFocus () {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.menuInner.focus();\n }\n }\n\n function checkPopperExists () {\n if (that.dropdown && that.dropdown._popper && that.dropdown._popper.state) {\n setFocus();\n } else {\n requestAnimationFrame(checkPopperExists);\n }\n }\n\n this._on(this.element, 'shown' + EVENT_KEY, function () {\n if (that.menuInner.scrollTop !== that.selectpicker.view.scrollTop) {\n that.menuInner.scrollTop = that.selectpicker.view.scrollTop;\n }\n\n requestAnimationFrame(checkPopperExists);\n });\n\n // ensure posinset and setsize are correct before selecting an option via a click\n this._delegate(this.menuInner, 'mouseover', 'li a', function () {\n var hoverLi = this.parentElement,\n position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0,\n index = Array.prototype.indexOf.call(hoverLi.parentElement.children, hoverLi),\n hoverData = that.selectpicker.current.data[index + position0];\n\n that.focusItem(hoverLi, hoverData, true);\n });\n\n this._delegate(this.menuInner, 'click', 'li a', function (e) {\n that.onOptionClick(this, e);\n });\n\n this._delegate(this.menu, 'click', 'li.' + classNames.DISABLED + ' a, .' + classNames.POPOVERHEADER + ', .' + classNames.POPOVERHEADER + ' :not(.btn-close):not(.close)', function (e) {\n if (e.currentTarget === this || e.target === this) {\n e.preventDefault();\n e.stopPropagation();\n if (that.options.liveSearch && !e.target.classList.contains('btn-close') && !e.target.classList.contains('close')) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n }\n });\n\n this._delegate(this.menuInner, 'click', '.divider, .dropdown-header', function (e) {\n e.preventDefault();\n e.stopPropagation();\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n });\n\n this._delegate(this.menu, 'click', '.' + classNames.POPOVERHEADER + ' .btn-close, .' + classNames.POPOVERHEADER + ' .close', function () {\n that.dropdown.hide();\n });\n\n this._delegate(this.newElement, 'click', '.bs-selected-item', function (e) {\n e.preventDefault();\n e.stopPropagation();\n that.removeSelectedTag(this.getAttribute('data-option-value'));\n });\n\n this._delegate(this.menu, 'click', '.bs-create-option', function (e) {\n e.preventDefault();\n e.stopPropagation();\n that.createOpenOption(this.getAttribute('data-search-value'));\n });\n\n if (this.searchbox) {\n this._on(this.searchbox, 'click', function (e) {\n e.stopPropagation();\n });\n }\n\n this._delegate(this.menu, 'click', '.actions-btn', function (e) {\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n that.button.focus();\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (this.classList.contains('bs-select-all')) {\n that.selectAll();\n } else {\n that.deselectAll();\n }\n });\n\n this._on(this.button, 'focus', function (e) {\n var tabindex = that.element.getAttribute('tabindex');\n\n // only change when button is actually focused\n if (tabindex !== undefined && tabindex !== null && e.isTrusted) {\n // apply select element's tabindex to ensure correct order is followed when tabbing to the next element\n this.setAttribute('tabindex', tabindex);\n // set element's tabindex to -1 to allow for reverse tabbing\n that.element.setAttribute('tabindex', -1);\n that.selectpicker.view.tabindex = tabindex;\n }\n });\n\n this._on(this.button, 'blur', function (e) {\n // revert everything to original tabindex\n if (that.selectpicker.view.tabindex !== undefined && e.isTrusted) {\n that.element.setAttribute('tabindex', that.selectpicker.view.tabindex);\n this.setAttribute('tabindex', -1);\n that.selectpicker.view.tabindex = undefined;\n }\n });\n\n this._on(this.element, 'change', function () {\n that.render();\n that._emit('changed', changedArguments ? {\n clickedIndex: changedArguments[0],\n isSelected: changedArguments[1],\n previousValue: changedArguments[2]\n } : null);\n changedArguments = null;\n });\n\n this._on(this.element, 'focus', function () {\n if (!that.options.mobile) that.button.focus();\n });\n }\n\n onOptionClick (clickedAnchor, e, retainActive) {\n var that = this,\n element = that.element,\n li = clickedAnchor.parentElement,\n position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0,\n clickedData = that.selectpicker.current.data[Array.prototype.indexOf.call(li.parentElement.children, li) + position0],\n clickedElement = clickedData.element,\n prevValue = getSelectValues.call(that),\n prevIndex = element.selectedIndex,\n prevOption = element.options[prevIndex],\n prevData = prevOption ? that.selectpicker.main.data[prevOption.liIndex] : false,\n triggerChange = true;\n\n // Don't close on multi choice menu\n if (that.multiple && that.options.maxOptions !== 1) {\n e.stopPropagation();\n }\n\n e.preventDefault();\n\n // Don't run if the select is disabled\n if (!that.isDisabled() && !li.classList.contains(classNames.DISABLED)) {\n var option = clickedData.option,\n state = option.selected,\n optgroupData = that.selectpicker.current.data.find(function (datum) {\n return datum.optID === clickedData.optID && datum.type === 'optgroup-label';\n }),\n optgroup = optgroupData ? optgroupData.optgroup : undefined,\n dataGetter = optgroup instanceof Element ? getOptionData.fromOption : getOptionData.fromDataSource,\n optgroupOptions = optgroup && optgroup.children,\n maxOptions = parseInt(that.options.maxOptions),\n maxOptionsGrp = optgroup && parseInt(dataGetter(optgroup, 'maxOptions')) || false;\n\n if (clickedElement === that.activeElement) retainActive = true;\n\n if (!retainActive) {\n that.prevActiveElement = that.activeElement;\n that.activeElement = undefined;\n }\n\n if (!that.multiple || maxOptions === 1) { // Deselect previous option if not multi select\n if (prevData) that.setSelected(prevData, false);\n that.setSelected(clickedData, true);\n } else { // Toggle the clicked option if multi select.\n that.setSelected(clickedData, !state);\n that.focusedParent.focus();\n\n if (maxOptions !== false || maxOptionsGrp !== false) {\n var maxReached = maxOptions < getSelectedOptions.call(that).length,\n selectedGroupOptions = 0;\n\n if (optgroup && optgroup.children) {\n for (var i = 0; i < optgroup.children.length; i++) {\n if (optgroup.children[i].selected) selectedGroupOptions++;\n }\n }\n\n var maxReachedGrp = maxOptionsGrp < selectedGroupOptions;\n\n if ((maxOptions && maxReached) || (maxOptionsGrp && maxReachedGrp)) {\n if (maxOptions && maxOptions === 1) {\n element.selectedIndex = -1;\n that.setOptionStatus(true);\n } else if (maxOptionsGrp && maxOptionsGrp === 1) {\n for (var j = 0; j < optgroupOptions.length; j++) {\n var _option = optgroupOptions[j];\n that.setSelected(that.selectpicker.current.data[_option.liIndex], false);\n }\n\n that.setSelected(clickedData, true);\n } else {\n var maxOptionsText = typeof that.options.maxOptionsText === 'string' ? [that.options.maxOptionsText, that.options.maxOptionsText] : that.options.maxOptionsText,\n maxOptionsArr = typeof maxOptionsText === 'function' ? maxOptionsText(maxOptions, maxOptionsGrp) : maxOptionsText,\n maxTxt = maxOptionsArr[0].replace('{n}', maxOptions),\n maxTxtGrp = maxOptionsArr[1].replace('{n}', maxOptionsGrp),\n notify = createFromHTML('
    ');\n\n that.menu.appendChild(notify);\n\n if (maxOptions && maxReached) {\n notify.appendChild(createFromHTML('
    ' + maxTxt + '
    '));\n triggerChange = false;\n that._emit('maxReached');\n }\n\n if (maxOptionsGrp && maxReachedGrp) {\n notify.appendChild(createFromHTML('
    ' + maxTxtGrp + '
    '));\n triggerChange = false;\n that._emit('maxReachedGrp');\n }\n\n setTimeout(function () {\n that.setSelected(clickedData, false);\n }, 10);\n\n notify.classList.add('fadeOut');\n\n setTimeout(function () {\n notify.remove();\n }, 1050);\n }\n }\n }\n }\n\n if (that.options.source.data) that.element.appendChild(that.selectpicker.main.optionQueue);\n\n if (!that.multiple || (that.multiple && that.options.maxOptions === 1)) {\n that.button.focus();\n } else if (that.options.liveSearch) {\n that.searchbox.focus();\n }\n\n // Trigger select 'change'\n if (triggerChange) {\n if (that.multiple || prevIndex !== element.selectedIndex) {\n changedArguments = [option.index, option.selected, prevValue];\n triggerNative(that.element, 'change');\n }\n }\n }\n }\n\n liveSearchListener () {\n var that = this;\n\n this._on(this.searchbox, 'click', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'focus', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'touchend', function (e) {\n e.stopPropagation();\n });\n this._on(this.searchbox, 'keydown', function (e) {\n if (e.key === 'Enter' && that.createOptionButton && !that.createOptionButton.hidden && !that.selectpicker.current.data.length) {\n e.preventDefault();\n e.stopPropagation();\n that.createOpenOption(that.searchbox.value);\n }\n });\n\n this._on(this.searchbox, 'input', function () {\n var searchValue = that.searchbox.value;\n\n that.selectpicker.search.elements = [];\n that.selectpicker.search.data = [];\n\n if (searchValue) {\n that.selectpicker.search.previousValue = searchValue;\n\n if (that.options.source.search) {\n that.fetchData(function () {\n that.appendCreatedSearchResults(searchValue);\n that.render();\n that.buildList(undefined, true);\n that.noScroll = true;\n that.menuInner.scrollTop = 0;\n that.createView(true);\n showNoResults.call(that, that.selectpicker.search.data, searchValue);\n }, 'search', 0, searchValue);\n } else {\n var searchMatch = [],\n q = searchValue.toUpperCase(),\n cache = {},\n cacheArr = [],\n searchStyle = that._searchStyle(),\n normalizeSearch = that.options.liveSearchNormalize;\n\n if (normalizeSearch) q = normalizeToBase(q);\n\n for (var i = 0; i < that.selectpicker.main.data.length; i++) {\n var li = that.selectpicker.main.data[i];\n\n if (!cache[i]) {\n cache[i] = stringSearch(li, q, searchStyle, normalizeSearch);\n }\n\n if (cache[i] && li.headerIndex !== undefined && cacheArr.indexOf(li.headerIndex) === -1) {\n if (li.headerIndex > 0) {\n cache[li.headerIndex - 1] = true;\n cacheArr.push(li.headerIndex - 1);\n }\n\n cache[li.headerIndex] = true;\n cacheArr.push(li.headerIndex);\n\n cache[li.lastIndex + 1] = true;\n }\n\n if (cache[i] && li.type !== 'optgroup-label') cacheArr.push(i);\n }\n\n for (var j = 0, cacheLen = cacheArr.length; j < cacheLen; j++) {\n var index = cacheArr[j],\n prevIndex = cacheArr[j - 1],\n liData = that.selectpicker.main.data[index],\n liPrev = that.selectpicker.main.data[prevIndex];\n\n if (liData.type !== 'divider' || (liData.type === 'divider' && liPrev && liPrev.type !== 'divider' && cacheLen - 1 !== j)) {\n that.selectpicker.search.data.push(liData);\n searchMatch.push(that.selectpicker.main.elements[index]);\n }\n }\n\n that.activeElement = undefined;\n that.noScroll = true;\n that.menuInner.scrollTop = 0;\n that.selectpicker.search.elements = searchMatch;\n that.createView(true);\n showNoResults.call(that, searchMatch, searchValue);\n }\n } else if (that.selectpicker.search.previousValue) {\n that.menuInner.scrollTop = 0;\n that.createView(false);\n }\n\n that.syncOpenOptionButton();\n });\n }\n\n _searchStyle () {\n return this.options.liveSearchStyle || 'contains';\n }\n\n getValue () {\n var element = this.element;\n\n if (this.multiple) {\n var values = [];\n for (var i = 0; i < element.options.length; i++) {\n if (element.options[i].selected) values.push(element.options[i].value);\n }\n return values;\n }\n\n return element.value;\n }\n\n\n\n/* eslint-disable no-undef */\n// Shared ordered source fragment consumed by the Grunt JS build.\n val (value) {\n var element = this.element;\n\n if (typeof value !== 'undefined') {\n var selectedOptions = getSelectedOptions.call(this),\n prevValue = getSelectValues.call(this, selectedOptions);\n\n changedArguments = [null, null, prevValue];\n\n if (!Array.isArray(value)) value = [ value ];\n\n value.map(String);\n\n for (var i = 0; i < selectedOptions.length; i++) {\n var item = selectedOptions[i];\n\n if (item && value.indexOf(String(item.value)) === -1) {\n this.setSelected(item, false);\n }\n }\n\n // only update selected value if it matches an existing option\n this.selectpicker.main.data.filter(function (item) {\n if (value.indexOf(String(item.value)) !== -1) {\n this.setSelected(item, true);\n return true;\n }\n\n return false;\n }, this);\n\n if (this.options.source.data) element.appendChild(this.selectpicker.main.optionQueue);\n\n this._emit('changed', changedArguments ? {\n clickedIndex: changedArguments[0],\n isSelected: changedArguments[1],\n previousValue: changedArguments[2]\n } : null);\n\n if (this.newElement.classList.contains(classNames.SHOW)) {\n if (this.multiple) {\n this.setOptionStatus(true);\n } else {\n var liSelectedIndex = (element.options[element.selectedIndex] || {}).liIndex;\n\n if (typeof liSelectedIndex === 'number') {\n this.setSelected(this.selectpicker.current.data[liSelectedIndex], true);\n }\n }\n }\n\n this.render();\n\n changedArguments = null;\n\n return this.element;\n } else {\n return this.getValue();\n }\n }\n\n changeAll (status) {\n if (!this.multiple) return;\n if (typeof status === 'undefined') status = true;\n\n var element = this.element,\n previousSelected = 0,\n currentSelected = 0,\n prevValue = getSelectValues.call(this);\n\n element.classList.add('bs-select-hidden');\n\n for (var i = 0, data = this.selectpicker.current.data, len = data.length; i < len; i++) {\n var liData = data[i],\n option = liData.option;\n\n if (option && !liData.disabled && liData.type !== 'divider') {\n if (liData.selected) previousSelected++;\n option.selected = status;\n liData.selected = status;\n if (status === true) currentSelected++;\n }\n }\n\n element.classList.remove('bs-select-hidden');\n\n if (previousSelected === currentSelected) return;\n\n this.setOptionStatus();\n\n changedArguments = [null, null, prevValue];\n\n triggerNative(this.element, 'change');\n }\n\n selectAll () {\n return this.changeAll(true);\n }\n\n deselectAll () {\n return this.changeAll(false);\n }\n\n toggle (e, state) {\n var isActive,\n triggerToggle = state === undefined;\n\n if (e && e.stopPropagation) e.stopPropagation();\n\n if (triggerToggle === false) {\n isActive = this.newElement.classList.contains(classNames.SHOW);\n triggerToggle = (state === true && isActive === false) || (state === false && isActive === true);\n }\n\n if (triggerToggle) this.dropdown.toggle();\n }\n\n open (e) {\n this.toggle(e, true);\n }\n\n close (e) {\n this.toggle(e, false);\n }\n\n _keydown (e, el) {\n var that = this,\n which = e.which || e.keyCode,\n isToggle = el.classList.contains('dropdown-toggle'),\n items = that.findLis(),\n index,\n isActive,\n liActive,\n activeLi,\n offsetVal,\n updateScroll = false,\n downOnTab = which === keyCodes.TAB && !isToggle && !that.options.selectOnTab,\n isArrowKey = REGEXP_ARROW.test(which) || downOnTab,\n scrollTop = that.menuInner.scrollTop,\n isVirtual = that.isVirtual(),\n position0 = isVirtual === true ? that.selectpicker.view.position0 : 0;\n\n // do nothing if a function key is pressed\n if (which >= 112 && which <= 123) return;\n\n isActive = that.menu.classList.contains(classNames.SHOW);\n\n if (\n !isActive &&\n (\n isArrowKey ||\n (which >= 48 && which <= 57) ||\n (which >= 96 && which <= 105) ||\n (which >= 65 && which <= 90)\n )\n ) {\n that.dropdown.show();\n\n if (that.options.liveSearch) {\n that.searchbox.focus();\n return;\n }\n }\n\n if (which === keyCodes.ESCAPE && isActive) {\n e.preventDefault();\n that.dropdown.hide();\n that.button.focus();\n }\n\n if (isArrowKey) { // if up or down\n if (!items.length) return;\n\n liActive = that.activeElement;\n index = liActive ? Array.prototype.indexOf.call(liActive.parentElement.children, liActive) : -1;\n\n if (index !== -1) {\n that.defocusItem(liActive);\n }\n\n if (which === keyCodes.ARROW_UP) { // up\n if (index !== -1) index--;\n if (index + position0 < 0) index += items.length;\n\n if (!that.selectpicker.view.canHighlight[index + position0]) {\n index = that.selectpicker.view.canHighlight.slice(0, index + position0).lastIndexOf(true) - position0;\n if (index === -1) index = items.length - 1;\n }\n } else if (which === keyCodes.ARROW_DOWN || downOnTab) { // down\n index++;\n if (index + position0 >= that.selectpicker.view.canHighlight.length) index = that.selectpicker.view.firstHighlightIndex;\n\n if (!that.selectpicker.view.canHighlight[index + position0]) {\n index = index + 1 + that.selectpicker.view.canHighlight.slice(index + position0 + 1).indexOf(true);\n }\n }\n\n e.preventDefault();\n\n var liActiveIndex = position0 + index;\n\n if (which === keyCodes.ARROW_UP) { // up\n // scroll to bottom and highlight last option\n if (position0 === 0 && index === items.length - 1) {\n that.menuInner.scrollTop = that.menuInner.scrollHeight;\n\n liActiveIndex = that.selectpicker.current.elements.length - 1;\n } else {\n activeLi = that.selectpicker.current.data[liActiveIndex];\n\n // could be undefined if no results exist\n if (activeLi) {\n offsetVal = activeLi.position - activeLi.height;\n\n updateScroll = offsetVal < scrollTop;\n }\n }\n } else if (which === keyCodes.ARROW_DOWN || downOnTab) { // down\n // scroll to top and highlight first option\n if (index === that.selectpicker.view.firstHighlightIndex) {\n that.menuInner.scrollTop = 0;\n\n liActiveIndex = that.selectpicker.view.firstHighlightIndex;\n } else {\n activeLi = that.selectpicker.current.data[liActiveIndex];\n\n // could be undefined if no results exist\n if (activeLi) {\n offsetVal = activeLi.position - that.sizeInfo.menuInnerHeight;\n\n updateScroll = offsetVal > scrollTop;\n }\n }\n }\n\n liActive = that.selectpicker.current.elements[liActiveIndex];\n\n that.activeElement = (that.selectpicker.current.data[liActiveIndex] || {}).element;\n\n that.focusItem(liActive);\n\n that.selectpicker.view.currentActive = liActive;\n\n if (updateScroll) that.menuInner.scrollTop = offsetVal;\n\n if (that.options.liveSearch) {\n that.searchbox.focus();\n } else {\n el.focus();\n }\n } else if (\n (!el.matches('input') && !REGEXP_TAB_OR_ESCAPE.test(which)) ||\n (which === keyCodes.SPACE && that.selectpicker.keydown.keyHistory)\n ) {\n var matches = [],\n keyHistory;\n\n e.preventDefault();\n\n that.selectpicker.keydown.keyHistory += keyCodeMap[which];\n\n if (that.selectpicker.keydown.resetKeyHistory.cancel) clearTimeout(that.selectpicker.keydown.resetKeyHistory.cancel);\n that.selectpicker.keydown.resetKeyHistory.cancel = that.selectpicker.keydown.resetKeyHistory.start();\n\n keyHistory = that.selectpicker.keydown.keyHistory;\n\n // if all letters are the same, set keyHistory to just the first character when searching\n if (/^(.)\\1+$/.test(keyHistory)) {\n keyHistory = keyHistory.charAt(0);\n }\n\n // find matches\n for (var i = 0; i < that.selectpicker.current.data.length; i++) {\n var li = that.selectpicker.current.data[i],\n hasMatch;\n\n hasMatch = stringSearch(li, keyHistory, 'startsWith', true);\n\n if (hasMatch && that.selectpicker.view.canHighlight[i]) {\n matches.push(li.element);\n }\n }\n\n if (matches.length) {\n var matchIndex = 0;\n\n Array.prototype.forEach.call(items, function (item) {\n item.classList.remove('active');\n if (item.firstChild) item.firstChild.classList.remove('active');\n });\n\n // either only one key has been pressed or they are all the same key\n if (keyHistory.length === 1) {\n matchIndex = matches.indexOf(that.activeElement);\n\n if (matchIndex === -1 || matchIndex === matches.length - 1) {\n matchIndex = 0;\n } else {\n matchIndex++;\n }\n }\n\n activeLi = that.selectpicker.main.data[that.selectpicker.main.elements.indexOf(matches[matchIndex])];\n\n if (activeLi) {\n if (scrollTop - activeLi.position > 0) {\n offsetVal = activeLi.position - activeLi.height;\n updateScroll = true;\n } else {\n offsetVal = activeLi.position - that.sizeInfo.menuInnerHeight;\n // if the option is already visible at the current scroll position, just keep it the same\n updateScroll = activeLi.position > scrollTop + that.sizeInfo.menuInnerHeight;\n }\n }\n\n liActive = matches[matchIndex];\n\n that.activeElement = liActive;\n\n that.focusItem(liActive);\n\n if (liActive) liActive.firstChild.focus();\n\n if (updateScroll) that.menuInner.scrollTop = offsetVal;\n\n el.focus();\n }\n }\n\n // Select focused option if \"Enter\", \"Spacebar\" or \"Tab\" (when selectOnTab is true) are pressed inside the menu.\n if (\n isActive &&\n (\n (which === keyCodes.SPACE && !that.selectpicker.keydown.keyHistory) ||\n which === keyCodes.ENTER ||\n (which === keyCodes.TAB && that.options.selectOnTab)\n )\n ) {\n if (which !== keyCodes.SPACE) e.preventDefault();\n\n if (!that.options.liveSearch || which !== keyCodes.SPACE) {\n var activeAnchor = that.menuInner.querySelector('.active a');\n if (activeAnchor) that.onOptionClick(activeAnchor, e, true); // retain active class\n el.focus();\n\n if (!that.options.liveSearch) {\n // Prevent screen from scrolling if the user hits the spacebar\n e.preventDefault();\n // Fixes spacebar selection of dropdown items in FF & IE\n spaceSelectFlag = true;\n }\n }\n }\n }\n\n mobile () {\n // ensure mobile is set to true if mobile function is called after init\n this.options.mobile = true;\n this.element.classList.add('mobile-device');\n }\n\n resetMenuData () {\n this.selectpicker.main.data = [];\n this.selectpicker.main.elements = [];\n this.selectpicker.main.hasMore = false;\n this.selectpicker.search.data = [];\n this.selectpicker.search.elements = [];\n this.selectpicker.search.hasMore = false;\n this.selectpicker.current.data = this.selectpicker.main.data;\n this.selectpicker.current.elements = this.selectpicker.main.elements;\n this.selectpicker.current.hasMore = false;\n this.selectpicker.isSearching = false;\n }\n\n refresh () {\n var that = this;\n // update options if data attributes have been changed\n var config = stripRemovedOptions(Object.assign({}, this.options, getAttributesObject(this.element), getDataset(this.element)));\n this.options = config;\n\n if (this.options.source.data) {\n this.render();\n this.buildList();\n } else {\n this.resetMenuData();\n this.fetchData(function () {\n that.render();\n that.buildList();\n });\n }\n\n this.checkDisabled();\n this.setStyle();\n this.setWidth();\n\n this.setSize(true);\n\n this._emit('refreshed');\n }\n\n hide () {\n this.newElement.style.display = 'none';\n }\n\n show () {\n this.newElement.style.display = '';\n }\n\n remove () {\n if (this.newElement.parentNode) this.newElement.parentNode.removeChild(this.newElement);\n instanceMap.delete(this.element);\n }\n\n destroy () {\n // move the select back out of newElement, then remove newElement\n if (this.newElement.parentNode) {\n this.newElement.parentNode.insertBefore(this.element, this.newElement);\n this.newElement.parentNode.removeChild(this.newElement);\n }\n\n if (this.bsContainer) {\n if (this.bsContainer.parentNode) this.bsContainer.parentNode.removeChild(this.bsContainer);\n } else if (this.menu && this.menu.parentNode) {\n this.menu.parentNode.removeChild(this.menu);\n }\n\n if (this.selectpicker.view.titleOption && this.selectpicker.view.titleOption.parentNode) {\n this.selectpicker.view.titleOption.parentNode.removeChild(this.selectpicker.view.titleOption);\n }\n\n // remove all tracked event listeners\n for (var i = 0; i < this._listeners.length; i++) {\n var l = this._listeners[i];\n l.el.removeEventListener(l.type, l.handler, l.options);\n }\n this._listeners = [];\n\n for (var key in this._named) {\n if (Object.prototype.hasOwnProperty.call(this._named, key)) {\n this._removeNamed(key);\n }\n }\n\n if (this.dropdown && typeof this.dropdown.dispose === 'function') {\n this.dropdown.dispose();\n }\n\n this.element.classList.remove('bs-select-hidden', 'selectpicker', 'mobile-device');\n\n instanceMap.delete(this.element);\n }\n}\n\n// stores element -> Selectpicker instance\nvar instanceMap = new WeakMap();\n\nSelectpicker.NAME = 'selectpicker';\nSelectpicker.VERSION = '1.2.0';\n\n// user-provided global defaults (set via Selectpicker.setDefaults, used by i18n files)\nSelectpicker.defaults = null;\n\n// part of this is duplicated in i18n/defaults-en_US.js. Make sure to update both.\nSelectpicker.DEFAULTS = {\n noneSelectedText: 'Nothing selected',\n noneResultsText: 'No results matched {0}',\n countSelectedText: function (numSelected) {\n return (numSelected == 1) ? '{0} item selected' : '{0} items selected';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)',\n (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'\n ];\n },\n selectAllText: 'Select All',\n deselectAllText: 'Deselect All',\n source: {\n pageSize: 40,\n create: null\n },\n chunkSize: 40,\n doneButton: false,\n doneButtonText: 'Close',\n multipleSeparator: ', ',\n style: classNames.BUTTONCLASS,\n size: 'auto',\n placeholder: null,\n allowClear: false,\n selectedTextFormat: 'values',\n width: false,\n hideDisabled: false,\n showSubtext: false,\n showIcon: true,\n showContent: true,\n dropupAuto: true,\n header: false,\n liveSearch: false,\n liveSearchPlaceholder: null,\n liveSearchNormalize: false,\n liveSearchStyle: 'contains',\n openOptions: false,\n openOptionsText: 'Create \"{0}\"',\n selectionIndicator: 'checkmark',\n actionsBox: false,\n iconBase: classNames.ICONBASE,\n tickIcon: classNames.TICKICON,\n showTick: false,\n showSelectedTags: false,\n selectedItemsStyle: 'tags',\n selectedTagRemoveLabel: 'Remove',\n template: {\n caret: ''\n },\n maxOptions: false,\n selectOnTab: true,\n dropdownAlignRight: false,\n virtualScroll: 600,\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist\n};\n\nSelectpicker._buildConfig = function (element, options) {\n options = stripRemovedOptions(options || {});\n\n var dataAttributes = stripRemovedOptions(getDataset(element));\n\n for (var dataAttr in dataAttributes) {\n if (Object.prototype.hasOwnProperty.call(dataAttributes, dataAttr) && DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr];\n }\n }\n\n var userDefaults = stripRemovedOptions(Selectpicker.defaults || {});\n\n var config = Object.assign({}, Selectpicker.DEFAULTS, userDefaults, getAttributesObject(element), dataAttributes, options);\n config.template = Object.assign({}, Selectpicker.DEFAULTS.template, userDefaults.template || {}, dataAttributes.template, options.template);\n config.source = Object.assign({}, Selectpicker.DEFAULTS.source, userDefaults.source || {}, options.source);\n\n return applyLegacyOptions(element, config);\n};\n\nSelectpicker.setDefaults = function (newDefaults) {\n Selectpicker.defaults = stripRemovedOptions(Object.assign({}, Selectpicker.defaults, newDefaults));\n};\n\nSelectpicker.getInstance = function (element) {\n if (typeof element === 'string') element = document.querySelector(element);\n return instanceMap.get(element) || null;\n};\n\nSelectpicker.getOrCreateInstance = function (element, options) {\n if (typeof element === 'string') element = document.querySelector(element);\n if (!element || element.tagName !== 'SELECT') return null;\n\n var instance = instanceMap.get(element);\n\n if (instance) {\n options = stripRemovedOptions(options);\n\n if (options && typeof options === 'object') {\n for (var i in options) {\n if (Object.prototype.hasOwnProperty.call(options, i)) {\n instance.options[i] = options[i];\n }\n }\n }\n\n return instance;\n }\n\n return new Selectpicker(element, typeof options === 'object' ? options : {});\n};\n\n// Runtime wiring lives in js/bootstrap-select.runtime.js so each distribution\n// can choose whether it should expose a browser global or stay module-scoped.\n\n\n/* global Selector, __SELECTPICKER_EXPOSE_GLOBAL__ */\n\n// \nvar KEYDOWN_SELECTOR = '.bootstrap-select [' + Selector.DATA_TOGGLE + '], .bootstrap-select [role=\"listbox\"], .bootstrap-select .bs-searchbox input';\n\nfunction initSelectpickerRuntime (Selectpicker, exposeGlobal) {\n if (typeof window === 'undefined' || typeof document === 'undefined') return;\n\n // Handle keyboard navigation ourselves. This listener runs in the capture\n // phase on `window` so it executes before Bootstrap's `document`-level\n // (capture-phase, delegated) dropdown keydown handler and prevents it from\n // processing bootstrap-select's custom menu (which would otherwise error on\n // relocated/container menus and conflict with our own navigation). This\n // replaces the upstream approach of unbinding Bootstrap's global handler.\n window.addEventListener('keydown', function (e) {\n var target = e.target;\n if (!target || !target.closest) return;\n\n // Any keydown originating inside a bootstrap-select widget (or its\n // relocated menu container) must not reach Bootstrap's dropdown keydown\n // handler.\n var widget = target.closest('.bootstrap-select, .bs-container');\n if (!widget) return;\n\n e.stopImmediatePropagation();\n\n var trigger = target.closest(KEYDOWN_SELECTOR);\n if (!trigger) return;\n\n var instance;\n for (var node = trigger; node; node = node.parentElement) {\n if (node.bootstrapSelectInstance) {\n instance = node.bootstrapSelectInstance;\n break;\n }\n }\n\n if (instance) instance._keydown(e, trigger);\n }, true);\n\n document.addEventListener('focusin', function (e) {\n var target = e.target;\n if (target && target.closest && target.closest(KEYDOWN_SELECTOR)) {\n e.stopPropagation();\n }\n });\n\n function initAll () {\n var selects = document.querySelectorAll('.selectpicker');\n Array.prototype.forEach.call(selects, function (select) {\n Selectpicker.getOrCreateInstance(select);\n });\n }\n\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', initAll);\n } else {\n initAll();\n }\n\n if (exposeGlobal) {\n window.Selectpicker = Selectpicker;\n }\n}\n\ninitSelectpickerRuntime(\n Selectpicker,\n typeof __SELECTPICKER_EXPOSE_GLOBAL__ === 'undefined' ? true : __SELECTPICKER_EXPOSE_GLOBAL__\n);\n// \n\nreturn Selectpicker;\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","__SELECTPICKER_EXPOSE_GLOBAL__","getDropdown","bs","Dropdown","createFromHTML","html","wrapper","document","createElement","innerHTML","trim","firstChild","toInteger","value","parseInt","offset","el","rect","getBoundingClientRect","top","pageYOffset","left","pageXOffset","outerHeight","includeMargin","height","offsetHeight","style","getComputedStyle","marginTop","marginBottom","setStyles","styles","prop","Object","prototype","hasOwnProperty","call","triggerNative","eventName","dispatchEvent","Event","bubbles","toCamelCase","str","replace","m","letter","toUpperCase","convertDataValue","test","JSON","parse","getDataset","dataset","attributes","i","length","name","indexOf","slice","DISALLOWED_ATTRIBUTES","uriAttrs","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","ParseableAttributes","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","toLowerCase","Boolean","nodeValue","match","regExp","filter","RegExp","l","sanitizeHtml","unsafeElements","whiteList","sanitizeFn","whitelistKeys","keys","len","elements","querySelectorAll","j","len2","elName","attributeList","whitelistedAttributes","concat","k","len3","removeAttribute","parentNode","removeChild","getAttributesObject","element","attrVal","attributesObject","forEach","item","getAttribute","stringSearch","searchString","method","normalize","stringTypes","searchSuccess","stringType","string","toString","normalizeToBase","startsWith","normalizeSearchInput","getOptionLabelText","option","title","text","deburredLetters","reLatin","reComboMark","deburrLetter","key","map","escaper","source","testRegexp","replaceRegexp","htmlEscape","join","keyCodeMap","keyCodes","selectId","EVENT_KEY","classNames","Selector","elementTemplates","subtext","whitespace","createTextNode","fragment","createDocumentFragment","selectedOption","cloneNode","setAttribute","noResults","className","checkMark","REGEXP_ARROW","REGEXP_TAB_OR_ESCAPE","generateOption","content","classes","optgroup","nodeType","appendChild","classList","add","inline","insertAdjacentHTML","apply","split","options","useFragment","subtextElement","iconElement","textElement","textContent","icon","this","iconBase","childNodes","label","display","getOptionData","fromOption","type","cssText","$","ofs","fromDataSource","showNoResults","searchMatch","searchValue","noneResultsText","menuInner","filterHidden","hidden","hideDisabled","disabled","getSelectedOptions","selectpicker","main","data","search","values","optionValuesDataMap","selectedOptions","selected","multiple","getSelectValues","opt","push","changedArguments","spaceSelectFlag","REMOVED_OPTIONS","stripRemovedOptions","result","assign","Selectpicker","constructor","querySelector","tagName","TypeError","newElement","button","menu","_buildConfig","_listeners","_named","optionQueue","hasMore","current","view","createdOptions","openOption","isCreating","isSearching","keydown","keyHistory","resetKeyHistory","start","setTimeout","sizeInfo","init","instanceMap","set","_on","handler","addEventListener","_delegate","selector","target","closest","contains","_emit","detail","event","CustomEvent","cancelable","_replace","_removeNamed","prev","removeEventListener","that","id","form","autofocus","showTick","createDropdown","insertBefore","nextSibling","allowClear","clearButton","searchbox","selectedItems","createOptionButton","remove","fetchData","render","buildList","requestAnimationFrame","dropdownAlignRight","checkDisabled","clickListener","dropdown","bootstrapSelectInstance","liveSearch","liveSearchListener","focusedParent","setStyle","setWidth","isVirtual","emptyMenu","replaceChild","scrollTop","bsEvent","onShow","hasAttribute","onShownInvalid","onRendered","validity","valid","onBlur","focus","blur","usesSelectionIndicator","selectionIndicator","showSelectedTags","selectedItemsStyle","multiselectable","liveSearchPlaceholder","openOptions","placeholder","header","actionsbox","donebutton","actionsBox","selectAllText","deselectAllText","doneButton","doneButtonText","previousValue","setSize","setPositionData","canHighlight","size","firstHighlightIndex","dividerHeight","dropdownHeaderHeight","liHeight","posinset","position","virtualScroll","createView","refresh","selectedIndex","liIndex","selectedData","menuInnerHeight","scroll","chunkSize","chunkCount","firstChunk","lastChunk","currentChunk","prevPositions","positionIsDifferent","previousElements","array1","array2","chunks","menuIsDifferent","Math","ceil","endOfChunk","position0","position1","max","min","activeElement","selectedElement","defocusItem","prevActiveElement","visibleElements","setOptionStatus","every","index","menuFragment","toSanitize","visibleElementsLen","elText","elementData","sanitize","lastChild","sanitized","hasScrollBar","menuInnerInnerWidth","offsetWidth","totalMenuWidth","selectWidth","minWidth","actualMenuWidth","page","floor","pageSize","newActive","currentActive","focusItem","noScroll","liData","noStyle","setPlaceholder","updateIndex","titleOption","selectTitleOption","titleNotAppended","firstSelectable","firstSelectableIndex","navigation","performance","getEntriesByType","isNotBackForward","defaultSelected","readyState","displayedValue","callback","builtData","more","totalItems","buildData","Array","isArray","dataGetter","optionSelector","mainData","startLen","optID","startIndex","selectOptions","addDivider","config","previousData","addOption","divider","inlineStyle","optionClass","optgroupClass","tokens","addOptgroup","previous","next","children","headerIndex","lastIndex","searching","selectData","mainElements","widestOptionLength","buildElement","liElement","combinedLength","widestOption","tickIcon","findLis","showCount","countMax","placeholderSelected","selectedCount","selectedValues","buttonInner","multipleSeparator","titleFragment","forceCount","hasContent","createSelected","createOption","toggle","selectedTextFormat","titleOptions","showContent","showIcon","showSubtext","totalCount","tr8nText","countSelectedText","noneSelectedText","syncTagEditor","usesTagEditor","useListStyle","selectedTag","removeText","selectedTagRemoveLabel","syncOpenOptionButton","normalizedValue","shouldShow","findOptionBySearchValue","openOptionsText","findOptionByValue","dataSet","stringValue","String","normalizedSearch","liveSearchNormalize","createOptionElement","optionData","appendCreatedSearchResults","matches","_searchStyle","addCreatedOption","builtOption","removeSelectedTag","prevValue","setSelected","createOpenOption","existingOption","prevSelectedValue","createHandler","create","returnedOption","finalize","then","createdOption","newStyle","status","buttonClass","extra","menuInnerInner","dropdownHeader","actions","firstOption","width","body","scrollBarWidth","headerHeight","searchHeight","actionsHeight","doneButtonHeight","menuStyle","menuWidth","menuPadding","vert","paddingTop","paddingBottom","borderTopWidth","borderBottomWidth","horiz","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","menuExtras","marginLeft","marginRight","overflowY","selectHeight","getSelectPosition","winScrollTop","winScrollLeft","winHeight","documentElement","clientHeight","winWidth","clientWidth","pos","selectOffsetTop","selectOffsetBot","selectOffsetLeft","selectOffsetRight","setMenuSize","isAuto","menuHeight","minHeight","_minHeight","maxHeight","menuInnerMinHeight","estimate","isDropup","divHeight","divLength","dropupAuto","dropup","overflow","_popper","update","windowSizeHandler","selectPosition","bsContainer","containerPos","actualHeight","container","resolveContainer","getPlacement","containerPosition","Default","extraClass","containerStyle","scrollLeft","isDisabled","windowHandler","_menuHeight","selectedOnly","setDisabled","prevActive","activeElementIsSet","keepActive","checkPopperExists","state","keyCode","preventDefault","parentElement","stopImmediatePropagation","deselectAll","prevIndex","prevOption","prevData","clearSelection","hoverLi","hoverData","onOptionClick","currentTarget","stopPropagation","hide","selectAll","tabindex","isTrusted","clickedIndex","isSelected","mobile","clickedAnchor","retainActive","clickedData","clickedElement","triggerChange","maxOptions","optgroupData","find","datum","Element","optgroupOptions","maxOptionsGrp","maxReached","selectedGroupOptions","maxReachedGrp","_option","maxOptionsText","maxOptionsArr","maxTxt","maxTxtGrp","notify","q","cache","cacheArr","searchStyle","normalizeSearch","cacheLen","liPrev","liveSearchStyle","getValue","val","liSelectedIndex","changeAll","previousSelected","currentSelected","isActive","triggerToggle","open","close","_keydown","liActive","activeLi","offsetVal","which","isToggle","items","updateScroll","downOnTab","selectOnTab","isArrowKey","show","lastIndexOf","liActiveIndex","scrollHeight","cancel","clearTimeout","charAt","matchIndex","activeAnchor","resetMenuData","delete","destroy","dispose","WeakMap","NAME","VERSION","defaults","DEFAULTS","numSelected","numAll","numGroup","template","caret","dataAttributes","dataAttr","userDefaults","applyLegacyOptions","setDefaults","newDefaults","getInstance","get","getOrCreateInstance","instance","KEYDOWN_SELECTOR","exposeGlobal","initAll","selects","select","trigger","node","initSelectpickerRuntime"],"mappings":"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"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-am_ET.js b/docs/dist/js/i18n/defaults-am_ET.js index 700b9f4..1a5a48e 100644 --- a/docs/dist/js/i18n/defaults-am_ET.js +++ b/docs/dist/js/i18n/defaults-am_ET.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: AM (Amharic) + * Region: ET (Ethiopia) + */ Selectpicker.setDefaults({ noneSelectedText: 'ምንም አልተመረጠም', noneResultsText: 'ከ{0} ጋር ተመሳሳይ ውጤት የለም', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: ' ፣ ' }); -})); -//# sourceMappingURL=defaults-am_ET.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-am_ET.js.map diff --git a/docs/dist/js/i18n/defaults-am_ET.js.map b/docs/dist/js/i18n/defaults-am_ET.js.map index 631502f..b789e15 100644 --- a/docs/dist/js/i18n/defaults-am_ET.js.map +++ b/docs/dist/js/i18n/defaults-am_ET.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-am_ET.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS;AAClC,EAAE,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK;AAC3C,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;AACrE,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;AACtF,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;AAC/F,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM;AAC5B,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO;AAC/B,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,GAAG","file":"defaults-am_ET.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'ምንም አልተመረጠም',\n noneResultsText: 'ከ{0} ጋር ተመሳሳይ ውጤት የለም',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} ምርጫ ተመርጧል' : '{0} ምርጫዎች ተመርጠዋል';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'ገደብ ላይ ተደርሷል (ቢበዛ {n} ምርጫ)' : 'ገደብ ላይ ተደርሷል (ቢበዛ {n} ምርጫዎች)',\n (numGroup == 1) ? 'የቡድን ገደብ ላይ ተደርሷል (ቢበዛ {n} ምርጫ)' : 'የቡድን ገደብ ላይ ተደርሷል (ቢበዛ {n} ምርጫዎች)'\n ];\n },\n selectAllText: 'ሁሉም ይመረጥ',\n deselectAllText: 'ሁሉም አይመረጥ',\n multipleSeparator: ' ፣ '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-am_ET.js","sources":["../../../virtual:js/i18n/defaults-am_ET.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: AM (Amharic)\n * Region: ET (Ethiopia)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'ምንም አልተመረጠም',\n noneResultsText: 'ከ{0} ጋር ተመሳሳይ ውጤት የለም',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} ምርጫ ተመርጧል' : '{0} ምርጫዎች ተመርጠዋል';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'ገደብ ላይ ተደርሷል (ቢበዛ {n} ምርጫ)' : 'ገደብ ላይ ተደርሷል (ቢበዛ {n} ምርጫዎች)',\n (numGroup == 1) ? 'የቡድን ገደብ ላይ ተደርሷል (ቢበዛ {n} ምርጫ)' : 'የቡድን ገደብ ላይ ተደርሷል (ቢበዛ {n} ምርጫዎች)'\n ];\n },\n selectAllText: 'ሁሉም ይመረጥ',\n deselectAllText: 'ሁሉም አይመረጥ',\n multipleSeparator: ' ፣ '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,aAAa;AACjC,EAAE,eAAe,EAAE,uBAAuB;AAC1C,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,eAAe,GAAG,kBAAkB;AACpE,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,6BAA6B,GAAG,+BAA+B;AACrF,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,iCAAiC,GAAG;AAC5D,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,UAAU;AAC3B,EAAE,eAAe,EAAE,WAAW;AAC9B,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-am_ET.min.js b/docs/dist/js/i18n/defaults-am_ET.min.js index e9e9ef1..cdded6c 100644 --- a/docs/dist/js/i18n/defaults-am_ET.min.js +++ b/docs/dist/js/i18n/defaults-am_ET.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"\u121d\u1295\u121d \u12a0\u120d\u1270\u1218\u1228\u1320\u121d",noneResultsText:"\u12a8{0} \u130b\u122d \u1270\u1218\u1233\u1233\u12ed \u12cd\u1324\u1275 \u12e8\u1208\u121d",countSelectedText:function(e,t){return 1==e?"{0} \u121d\u122d\u132b \u1270\u1218\u122d\u1327\u120d":"{0} \u121d\u122d\u132b\u12ce\u127d \u1270\u1218\u122d\u1320\u12cb\u120d"},maxOptionsText:function(e,t){return[1==e?"\u1308\u12f0\u1265 \u120b\u12ed \u1270\u12f0\u122d\u1237\u120d (\u1262\u1260\u12db {n} \u121d\u122d\u132b)":"\u1308\u12f0\u1265 \u120b\u12ed \u1270\u12f0\u122d\u1237\u120d (\u1262\u1260\u12db {n} \u121d\u122d\u132b\u12ce\u127d)",1==t?"\u12e8\u1261\u12f5\u1295 \u1308\u12f0\u1265 \u120b\u12ed \u1270\u12f0\u122d\u1237\u120d (\u1262\u1260\u12db {n} \u121d\u122d\u132b)":"\u12e8\u1261\u12f5\u1295 \u1308\u12f0\u1265 \u120b\u12ed \u1270\u12f0\u122d\u1237\u120d (\u1262\u1260\u12db {n} \u121d\u122d\u132b\u12ce\u127d)"]},selectAllText:"\u1201\u1209\u121d \u12ed\u1218\u1228\u1325",deselectAllText:"\u1201\u1209\u121d \u12a0\u12ed\u1218\u1228\u1325",multipleSeparator:" \u1363 "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"\u121d\u1295\u121d \u12a0\u120d\u1270\u1218\u1228\u1320\u121d",noneResultsText:"\u12a8{0} \u130b\u122d \u1270\u1218\u1233\u1233\u12ed \u12cd\u1324\u1275 \u12e8\u1208\u121d",countSelectedText:function(e,t){return 1==e?"{0} \u121d\u122d\u132b \u1270\u1218\u122d\u1327\u120d":"{0} \u121d\u122d\u132b\u12ce\u127d \u1270\u1218\u122d\u1320\u12cb\u120d"},maxOptionsText:function(e,t){return[1==e?"\u1308\u12f0\u1265 \u120b\u12ed \u1270\u12f0\u122d\u1237\u120d (\u1262\u1260\u12db {n} \u121d\u122d\u132b)":"\u1308\u12f0\u1265 \u120b\u12ed \u1270\u12f0\u122d\u1237\u120d (\u1262\u1260\u12db {n} \u121d\u122d\u132b\u12ce\u127d)",1==t?"\u12e8\u1261\u12f5\u1295 \u1308\u12f0\u1265 \u120b\u12ed \u1270\u12f0\u122d\u1237\u120d (\u1262\u1260\u12db {n} \u121d\u122d\u132b)":"\u12e8\u1261\u12f5\u1295 \u1308\u12f0\u1265 \u120b\u12ed \u1270\u12f0\u122d\u1237\u120d (\u1262\u1260\u12db {n} \u121d\u122d\u132b\u12ce\u127d)"]},selectAllText:"\u1201\u1209\u121d \u12ed\u1218\u1228\u1325",deselectAllText:"\u1201\u1209\u121d \u12a0\u12ed\u1218\u1228\u1325",multipleSeparator:" \u1363 "})}); +//# sourceMappingURL=defaults-am_ET.min.js.map diff --git a/docs/dist/js/i18n/defaults-am_ET.min.js.map b/docs/dist/js/i18n/defaults-am_ET.min.js.map new file mode 100644 index 0000000..845b2d2 --- /dev/null +++ b/docs/dist/js/i18n/defaults-am_ET.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-am_ET.min.js","sources":["../../../virtual:js/i18n/defaults-am_ET.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: AM (Amharic)\n * Region: ET (Ethiopia)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'ምንም አልተመረጠም',\n noneResultsText: 'ከ{0} ጋር ተመሳሳይ ውጤት የለም',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} ምርጫ ተመርጧል' : '{0} ምርጫዎች ተመርጠዋል';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'ገደብ ላይ ተደርሷል (ቢበዛ {n} ምርጫ)' : 'ገደብ ላይ ተደርሷል (ቢበዛ {n} ምርጫዎች)',\n (numGroup == 1) ? 'የቡድን ገደብ ላይ ተደርሷል (ቢበዛ {n} ምርጫ)' : 'የቡድን ገደብ ላይ ተደርሷል (ቢበዛ {n} ምርጫዎች)'\n ];\n },\n selectAllText: 'ሁሉም ይመረጥ',\n deselectAllText: 'ሁሉም አይመረጥ',\n multipleSeparator: ' ፣ '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,gEAClBC,gBAAiB,8FACjBC,kBAAmB,SAAUC,EAAaC,GACxC,OAAuB,GAAfD,EAAoB,wDAAkB,yEAChD,EACAE,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACM,GAAVD,EAAe,8GAAgC,0HACnC,GAAZC,EAAiB,sIAAoC,kJAE1D,EACAC,cAAe,8CACfC,gBAAiB,oDACjBC,kBAAmB,YAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-ar_AR.js b/docs/dist/js/i18n/defaults-ar_AR.js index 11cceae..e5b83a1 100644 --- a/docs/dist/js/i18n/defaults-ar_AR.js +++ b/docs/dist/js/i18n/defaults-ar_AR.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,8 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + /*! * Translated default messages for bootstrap-select. * Locale: AR (Arabic) @@ -47,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: '، ' }); -})); -//# sourceMappingURL=defaults-ar_AR.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-ar_AR.js.map diff --git a/docs/dist/js/i18n/defaults-ar_AR.js.map b/docs/dist/js/i18n/defaults-ar_AR.js.map index 1b2b465..83758a7 100644 --- a/docs/dist/js/i18n/defaults-ar_AR.js.map +++ b/docs/dist/js/i18n/defaults-ar_AR.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-ar_AR.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,GAAG;AACH,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC;AACpD,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;AACtB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;AACvC,CAAC,EAAE;AACH,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI;AACvC,EAAE,eAAe,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;AACjD,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU;AAClF,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO;AAC1G,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM;AAC7H,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,QAAQ;AACjC,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ;AACzC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-ar_AR.js","sourcesContent":["/*!\n * Translated default messages for bootstrap-select.\n * Locale: AR (Arabic)\n * Author: Yasser Lotfy \n */\nSelectpicker.setDefaults({\n noneSelectedText: 'لم يتم إختيار شئ',\n noneResultsText: 'لا توجد نتائج مطابقة لـ {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} خيار تم إختياره' : '{0} خيارات تمت إختيارها';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'تخطى الحد المسموح ({n} خيار بحد أقصى)' : 'تخطى الحد المسموح ({n} خيارات بحد أقصى)',\n (numGroup == 1) ? 'تخطى الحد المسموح للمجموعة ({n} خيار بحد أقصى)' : 'تخطى الحد المسموح للمجموعة ({n} خيارات بحد أقصى)'\n ];\n },\n selectAllText: 'إختيار الجميع',\n deselectAllText: 'إلغاء إختيار الجميع',\n multipleSeparator: '، '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-ar_AR.js","sources":["../../../virtual:js/i18n/defaults-ar_AR.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*!\n * Translated default messages for bootstrap-select.\n * Locale: AR (Arabic)\n * Author: Yasser Lotfy \n */\nSelectpicker.setDefaults({\n noneSelectedText: 'لم يتم إختيار شئ',\n noneResultsText: 'لا توجد نتائج مطابقة لـ {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} خيار تم إختياره' : '{0} خيارات تمت إختيارها';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'تخطى الحد المسموح ({n} خيار بحد أقصى)' : 'تخطى الحد المسموح ({n} خيارات بحد أقصى)',\n (numGroup == 1) ? 'تخطى الحد المسموح للمجموعة ({n} خيار بحد أقصى)' : 'تخطى الحد المسموح للمجموعة ({n} خيارات بحد أقصى)'\n ];\n },\n selectAllText: 'إختيار الجميع',\n deselectAllText: 'إلغاء إختيار الجميع',\n multipleSeparator: '، '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,kBAAkB;AACtC,EAAE,eAAe,EAAE,6BAA6B;AAChD,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,qBAAqB,GAAG,yBAAyB;AACjF,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,uCAAuC,GAAG,yCAAyC;AACzG,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,gDAAgD,GAAG;AAC3E,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,eAAe;AAChC,EAAE,eAAe,EAAE,qBAAqB;AACxC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-ar_AR.min.js b/docs/dist/js/i18n/defaults-ar_AR.min.js index d2633aa..5657398 100644 --- a/docs/dist/js/i18n/defaults-ar_AR.min.js +++ b/docs/dist/js/i18n/defaults-ar_AR.min.js @@ -1,9 +1,16 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"\u0644\u0645 \u064a\u062a\u0645 \u0625\u062e\u062a\u064a\u0627\u0631 \u0634\u0626",noneResultsText:"\u0644\u0627 \u062a\u0648\u062c\u062f \u0646\u062a\u0627\u0626\u062c \u0645\u0637\u0627\u0628\u0642\u0629 \u0644\u0640 {0}",countSelectedText:function(e,t){return 1==e?"{0} \u062e\u064a\u0627\u0631 \u062a\u0645 \u0625\u062e\u062a\u064a\u0627\u0631\u0647":"{0} \u062e\u064a\u0627\u0631\u0627\u062a \u062a\u0645\u062a \u0625\u062e\u062a\u064a\u0627\u0631\u0647\u0627"},maxOptionsText:function(e,t){return[1==e?"\u062a\u062e\u0637\u0649 \u0627\u0644\u062d\u062f \u0627\u0644\u0645\u0633\u0645\u0648\u062d ({n} \u062e\u064a\u0627\u0631 \u0628\u062d\u062f \u0623\u0642\u0635\u0649)":"\u062a\u062e\u0637\u0649 \u0627\u0644\u062d\u062f \u0627\u0644\u0645\u0633\u0645\u0648\u062d ({n} \u062e\u064a\u0627\u0631\u0627\u062a \u0628\u062d\u062f \u0623\u0642\u0635\u0649)",1==t?"\u062a\u062e\u0637\u0649 \u0627\u0644\u062d\u062f \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0644\u0644\u0645\u062c\u0645\u0648\u0639\u0629 ({n} \u062e\u064a\u0627\u0631 \u0628\u062d\u062f \u0623\u0642\u0635\u0649)":"\u062a\u062e\u0637\u0649 \u0627\u0644\u062d\u062f \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0644\u0644\u0645\u062c\u0645\u0648\u0639\u0629 ({n} \u062e\u064a\u0627\u0631\u0627\u062a \u0628\u062d\u062f \u0623\u0642\u0635\u0649)"]},selectAllText:"\u0625\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u062c\u0645\u064a\u0639",deselectAllText:"\u0625\u0644\u063a\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u062c\u0645\u064a\u0639",multipleSeparator:"\u060c "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){ +/*! + * Translated default messages for bootstrap-select. + * Locale: AR (Arabic) + * Author: Yasser Lotfy + */ +Selectpicker.setDefaults({noneSelectedText:"\u0644\u0645 \u064a\u062a\u0645 \u0625\u062e\u062a\u064a\u0627\u0631 \u0634\u0626",noneResultsText:"\u0644\u0627 \u062a\u0648\u062c\u062f \u0646\u062a\u0627\u0626\u062c \u0645\u0637\u0627\u0628\u0642\u0629 \u0644\u0640 {0}",countSelectedText:function(e,t){return 1==e?"{0} \u062e\u064a\u0627\u0631 \u062a\u0645 \u0625\u062e\u062a\u064a\u0627\u0631\u0647":"{0} \u062e\u064a\u0627\u0631\u0627\u062a \u062a\u0645\u062a \u0625\u062e\u062a\u064a\u0627\u0631\u0647\u0627"},maxOptionsText:function(e,t){return[1==e?"\u062a\u062e\u0637\u0649 \u0627\u0644\u062d\u062f \u0627\u0644\u0645\u0633\u0645\u0648\u062d ({n} \u062e\u064a\u0627\u0631 \u0628\u062d\u062f \u0623\u0642\u0635\u0649)":"\u062a\u062e\u0637\u0649 \u0627\u0644\u062d\u062f \u0627\u0644\u0645\u0633\u0645\u0648\u062d ({n} \u062e\u064a\u0627\u0631\u0627\u062a \u0628\u062d\u062f \u0623\u0642\u0635\u0649)",1==t?"\u062a\u062e\u0637\u0649 \u0627\u0644\u062d\u062f \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0644\u0644\u0645\u062c\u0645\u0648\u0639\u0629 ({n} \u062e\u064a\u0627\u0631 \u0628\u062d\u062f \u0623\u0642\u0635\u0649)":"\u062a\u062e\u0637\u0649 \u0627\u0644\u062d\u062f \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0644\u0644\u0645\u062c\u0645\u0648\u0639\u0629 ({n} \u062e\u064a\u0627\u0631\u0627\u062a \u0628\u062d\u062f \u0623\u0642\u0635\u0649)"]},selectAllText:"\u0625\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u062c\u0645\u064a\u0639",deselectAllText:"\u0625\u0644\u063a\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u062c\u0645\u064a\u0639",multipleSeparator:"\u060c "})}); +//# sourceMappingURL=defaults-ar_AR.min.js.map diff --git a/docs/dist/js/i18n/defaults-ar_AR.min.js.map b/docs/dist/js/i18n/defaults-ar_AR.min.js.map new file mode 100644 index 0000000..0a89fc2 --- /dev/null +++ b/docs/dist/js/i18n/defaults-ar_AR.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-ar_AR.min.js","sources":["../../../virtual:js/i18n/defaults-ar_AR.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*!\n * Translated default messages for bootstrap-select.\n * Locale: AR (Arabic)\n * Author: Yasser Lotfy \n */\nSelectpicker.setDefaults({\n noneSelectedText: 'لم يتم إختيار شئ',\n noneResultsText: 'لا توجد نتائج مطابقة لـ {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} خيار تم إختياره' : '{0} خيارات تمت إختيارها';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'تخطى الحد المسموح ({n} خيار بحد أقصى)' : 'تخطى الحد المسموح ({n} خيارات بحد أقصى)',\n (numGroup == 1) ? 'تخطى الحد المسموح للمجموعة ({n} خيار بحد أقصى)' : 'تخطى الحد المسموح للمجموعة ({n} خيارات بحد أقصى)'\n ];\n },\n selectAllText: 'إختيار الجميع',\n deselectAllText: 'إلغاء إختيار الجميع',\n multipleSeparator: '، '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH;;;;;;AAQZK,aAAaC,YAAY,CACvBC,iBAAkB,oFAClBC,gBAAiB,6HACjBC,kBAAmB,SAAUC,EAAaC,GACxC,OAAuB,GAAfD,EAAoB,uFAAwB,8GACtD,EACAE,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACM,GAAVD,EAAe,0KAA0C,sLAC7C,GAAZC,EAAiB,2NAAmD,uOAEzE,EACAC,cAAe,4EACfC,gBAAiB,2GACjBC,kBAAmB,WAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-bg_BG.js b/docs/dist/js/i18n/defaults-bg_BG.js index 401140b..18910f1 100644 --- a/docs/dist/js/i18n/defaults-bg_BG.js +++ b/docs/dist/js/i18n/defaults-bg_BG.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: BG (Bulgaria) + * Region: BG (Bulgaria) + */ Selectpicker.setDefaults({ noneSelectedText: 'Нищо избрано', noneResultsText: 'Няма резултат за {0}', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-bg_BG.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-bg_BG.js.map diff --git a/docs/dist/js/i18n/defaults-bg_BG.js.map b/docs/dist/js/i18n/defaults-bg_BG.js.map index 111a36b..93c1b4a 100644 --- a/docs/dist/js/i18n/defaults-bg_BG.js.map +++ b/docs/dist/js/i18n/defaults-bg_BG.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-bg_BG.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,KAAK,CAAC,SAAS;AACnC,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;AAC1C,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU;AAC9E,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW;AACjH,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU;AAClI,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,QAAQ;AACjC,EAAE,eAAe,CAAC,CAAC,YAAY,CAAC,QAAQ;AACxC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-bg_BG.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Нищо избрано',\n noneResultsText: 'Няма резултат за {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} избран елемент' : '{0} избрани елемента';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Лимита е достигнат ({n} елемент максимум)' : 'Лимита е достигнат ({n} елемента максимум)',\n (numGroup == 1) ? 'Груповия лимит е достигнат ({n} елемент максимум)' : 'Груповия лимит е достигнат ({n} елемента максимум)'\n ];\n },\n selectAllText: 'Избери всички',\n deselectAllText: 'Размаркирай всички',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-bg_BG.js","sources":["../../../virtual:js/i18n/defaults-bg_BG.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: BG (Bulgaria)\n * Region: BG (Bulgaria)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Нищо избрано',\n noneResultsText: 'Няма резултат за {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} избран елемент' : '{0} избрани елемента';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Лимита е достигнат ({n} елемент максимум)' : 'Лимита е достигнат ({n} елемента максимум)',\n (numGroup == 1) ? 'Груповия лимит е достигнат ({n} елемент максимум)' : 'Груповия лимит е достигнат ({n} елемента максимум)'\n ];\n },\n selectAllText: 'Избери всички',\n deselectAllText: 'Размаркирай всички',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,cAAc;AAClC,EAAE,eAAe,EAAE,sBAAsB;AACzC,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,oBAAoB,GAAG,sBAAsB;AAC7E,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,2CAA2C,GAAG,4CAA4C;AAChH,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,mDAAmD,GAAG;AAC9E,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,eAAe;AAChC,EAAE,eAAe,EAAE,oBAAoB;AACvC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-bg_BG.min.js b/docs/dist/js/i18n/defaults-bg_BG.min.js index 6f33593..e402f64 100644 --- a/docs/dist/js/i18n/defaults-bg_BG.min.js +++ b/docs/dist/js/i18n/defaults-bg_BG.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"\u041d\u0438\u0449\u043e \u0438\u0437\u0431\u0440\u0430\u043d\u043e",noneResultsText:"\u041d\u044f\u043c\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442 \u0437\u0430 {0}",countSelectedText:function(e,t){return 1==e?"{0} \u0438\u0437\u0431\u0440\u0430\u043d \u0435\u043b\u0435\u043c\u0435\u043d\u0442":"{0} \u0438\u0437\u0431\u0440\u0430\u043d\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430"},maxOptionsText:function(e,t){return[1==e?"\u041b\u0438\u043c\u0438\u0442\u0430 \u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0430\u0442 ({n} \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c)":"\u041b\u0438\u043c\u0438\u0442\u0430 \u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0430\u0442 ({n} \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c)",1==t?"\u0413\u0440\u0443\u043f\u043e\u0432\u0438\u044f \u043b\u0438\u043c\u0438\u0442 \u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0430\u0442 ({n} \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c)":"\u0413\u0440\u0443\u043f\u043e\u0432\u0438\u044f \u043b\u0438\u043c\u0438\u0442 \u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0430\u0442 ({n} \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c)"]},selectAllText:"\u0418\u0437\u0431\u0435\u0440\u0438 \u0432\u0441\u0438\u0447\u043a\u0438",deselectAllText:"\u0420\u0430\u0437\u043c\u0430\u0440\u043a\u0438\u0440\u0430\u0439 \u0432\u0441\u0438\u0447\u043a\u0438",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"\u041d\u0438\u0449\u043e \u0438\u0437\u0431\u0440\u0430\u043d\u043e",noneResultsText:"\u041d\u044f\u043c\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442 \u0437\u0430 {0}",countSelectedText:function(e,t){return 1==e?"{0} \u0438\u0437\u0431\u0440\u0430\u043d \u0435\u043b\u0435\u043c\u0435\u043d\u0442":"{0} \u0438\u0437\u0431\u0440\u0430\u043d\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430"},maxOptionsText:function(e,t){return[1==e?"\u041b\u0438\u043c\u0438\u0442\u0430 \u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0430\u0442 ({n} \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c)":"\u041b\u0438\u043c\u0438\u0442\u0430 \u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0430\u0442 ({n} \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c)",1==t?"\u0413\u0440\u0443\u043f\u043e\u0432\u0438\u044f \u043b\u0438\u043c\u0438\u0442 \u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0430\u0442 ({n} \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c)":"\u0413\u0440\u0443\u043f\u043e\u0432\u0438\u044f \u043b\u0438\u043c\u0438\u0442 \u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0430\u0442 ({n} \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c)"]},selectAllText:"\u0418\u0437\u0431\u0435\u0440\u0438 \u0432\u0441\u0438\u0447\u043a\u0438",deselectAllText:"\u0420\u0430\u0437\u043c\u0430\u0440\u043a\u0438\u0440\u0430\u0439 \u0432\u0441\u0438\u0447\u043a\u0438",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-bg_BG.min.js.map diff --git a/docs/dist/js/i18n/defaults-bg_BG.min.js.map b/docs/dist/js/i18n/defaults-bg_BG.min.js.map new file mode 100644 index 0000000..89e0cac --- /dev/null +++ b/docs/dist/js/i18n/defaults-bg_BG.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-bg_BG.min.js","sources":["../../../virtual:js/i18n/defaults-bg_BG.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: BG (Bulgaria)\n * Region: BG (Bulgaria)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Нищо избрано',\n noneResultsText: 'Няма резултат за {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} избран елемент' : '{0} избрани елемента';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Лимита е достигнат ({n} елемент максимум)' : 'Лимита е достигнат ({n} елемента максимум)',\n (numGroup == 1) ? 'Груповия лимит е достигнат ({n} елемент максимум)' : 'Груповия лимит е достигнат ({n} елемента максимум)'\n ];\n },\n selectAllText: 'Избери всички',\n deselectAllText: 'Размаркирай всички',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,sEAClBC,gBAAiB,6FACjBC,kBAAmB,SAAUC,EAAaC,GACxC,OAAuB,GAAfD,EAAoB,sFAAuB,iGACrD,EACAE,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACM,GAAVD,EAAe,uMAA8C,6MACjD,GAAZC,EAAiB,kPAAsD,wPAE5E,EACAC,cAAe,4EACfC,gBAAiB,0GACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-cs_CZ.js b/docs/dist/js/i18n/defaults-cs_CZ.js index cf60ef6..72b417f 100644 --- a/docs/dist/js/i18n/defaults-cs_CZ.js +++ b/docs/dist/js/i18n/defaults-cs_CZ.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: CS + * Region: CZ (Czech Republic) + */ Selectpicker.setDefaults({ noneSelectedText: 'Vyberte ze seznamu', noneResultsText: 'Pro hledání {0} nebyly nalezeny žádné výsledky', @@ -35,6 +41,6 @@ Selectpicker.setDefaults({ deselectAllText: 'Zrušit výběr' }); -})); -//# sourceMappingURL=defaults-cs_CZ.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-cs_CZ.js.map diff --git a/docs/dist/js/i18n/defaults-cs_CZ.js.map b/docs/dist/js/i18n/defaults-cs_CZ.js.map index ece7004..0491ef0 100644 --- a/docs/dist/js/i18n/defaults-cs_CZ.js.map +++ b/docs/dist/js/i18n/defaults-cs_CZ.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-cs_CZ.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE;AACzC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;AACpE,EAAE,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;AACzC,EAAE,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI;AACzH,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE;AAC1B,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;AAC9B,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,GAAG","file":"defaults-cs_CZ.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Vyberte ze seznamu',\n noneResultsText: 'Pro hledání {0} nebyly nalezeny žádné výsledky',\n countSelectedText: 'Vybrané {0} z {1}',\n maxOptionsText: ['Limit překročen ({n} {var} max)', 'Limit skupiny překročen ({n} {var} max)', ['položek', 'položka']],\n multipleSeparator: ', ',\n selectAllText: 'Vybrat vše',\n deselectAllText: 'Zrušit výběr'\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-cs_CZ.js","sources":["../../../virtual:js/i18n/defaults-cs_CZ.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: CS\n * Region: CZ (Czech Republic)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Vyberte ze seznamu',\n noneResultsText: 'Pro hledání {0} nebyly nalezeny žádné výsledky',\n countSelectedText: 'Vybrané {0} z {1}',\n maxOptionsText: ['Limit překročen ({n} {var} max)', 'Limit skupiny překročen ({n} {var} max)', ['položek', 'položka']],\n multipleSeparator: ', ',\n selectAllText: 'Vybrat vše',\n deselectAllText: 'Zrušit výběr'\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,oBAAoB;AACxC,EAAE,eAAe,EAAE,gDAAgD;AACnE,EAAE,iBAAiB,EAAE,mBAAmB;AACxC,EAAE,cAAc,EAAE,CAAC,iCAAiC,EAAE,yCAAyC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACxH,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,aAAa,EAAE,YAAY;AAC7B,EAAE,eAAe,EAAE;AACnB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-cs_CZ.min.js b/docs/dist/js/i18n/defaults-cs_CZ.min.js index 2647cdb..e098765 100644 --- a/docs/dist/js/i18n/defaults-cs_CZ.min.js +++ b/docs/dist/js/i18n/defaults-cs_CZ.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Vyberte ze seznamu",noneResultsText:"Pro hled\xe1n\xed {0} nebyly nalezeny \u017e\xe1dn\xe9 v\xfdsledky",countSelectedText:"Vybran\xe9 {0} z {1}",maxOptionsText:["Limit p\u0159ekro\u010den ({n} {var} max)","Limit skupiny p\u0159ekro\u010den ({n} {var} max)",["polo\u017eek","polo\u017eka"]],multipleSeparator:", ",selectAllText:"Vybrat v\u0161e",deselectAllText:"Zru\u0161it v\xfdb\u011br"})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Vyberte ze seznamu",noneResultsText:"Pro hled\xe1n\xed {0} nebyly nalezeny \u017e\xe1dn\xe9 v\xfdsledky",countSelectedText:"Vybran\xe9 {0} z {1}",maxOptionsText:["Limit p\u0159ekro\u010den ({n} {var} max)","Limit skupiny p\u0159ekro\u010den ({n} {var} max)",["polo\u017eek","polo\u017eka"]],multipleSeparator:", ",selectAllText:"Vybrat v\u0161e",deselectAllText:"Zru\u0161it v\xfdb\u011br"})}); +//# sourceMappingURL=defaults-cs_CZ.min.js.map diff --git a/docs/dist/js/i18n/defaults-cs_CZ.min.js.map b/docs/dist/js/i18n/defaults-cs_CZ.min.js.map new file mode 100644 index 0000000..3e38639 --- /dev/null +++ b/docs/dist/js/i18n/defaults-cs_CZ.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-cs_CZ.min.js","sources":["../../../virtual:js/i18n/defaults-cs_CZ.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: CS\n * Region: CZ (Czech Republic)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Vyberte ze seznamu',\n noneResultsText: 'Pro hledání {0} nebyly nalezeny žádné výsledky',\n countSelectedText: 'Vybrané {0} z {1}',\n maxOptionsText: ['Limit překročen ({n} {var} max)', 'Limit skupiny překročen ({n} {var} max)', ['položek', 'položka']],\n multipleSeparator: ', ',\n selectAllText: 'Vybrat vše',\n deselectAllText: 'Zrušit výběr'\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","multipleSeparator","selectAllText","deselectAllText"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,qBAClBC,gBAAiB,qEACjBC,kBAAmB,uBACnBC,eAAgB,CAAC,4CAAmC,oDAA2C,CAAC,eAAW,iBAC3GC,kBAAmB,KACnBC,cAAe,kBACfC,gBAAiB,6BAInB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-da_DK.js b/docs/dist/js/i18n/defaults-da_DK.js index ffedc35..ea34576 100644 --- a/docs/dist/js/i18n/defaults-da_DK.js +++ b/docs/dist/js/i18n/defaults-da_DK.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: DA (Danish) + * Region: DK (Denmark) + */ Selectpicker.setDefaults({ noneSelectedText: 'Intet valgt', noneResultsText: 'Ingen resultater fundet {0}', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-da_DK.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-da_DK.js.map diff --git a/docs/dist/js/i18n/defaults-da_DK.js.map b/docs/dist/js/i18n/defaults-da_DK.js.map index 0107b02..6697de0 100644 --- a/docs/dist/js/i18n/defaults-da_DK.js.map +++ b/docs/dist/js/i18n/defaults-da_DK.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-da_DK.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE;AAClC,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;AACjD,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE;AAC1D,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG;AAC/F,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;AAC9G,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;AAC/B,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE;AACnC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-da_DK.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Intet valgt',\n noneResultsText: 'Ingen resultater fundet {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} valgt' : '{0} valgt';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Begrænsning nået (max {n} valgt)' : 'Begrænsning nået (max {n} valgte)',\n (numGroup == 1) ? 'Gruppe-begrænsning nået (max {n} valgt)' : 'Gruppe-begrænsning nået (max {n} valgte)'\n ];\n },\n selectAllText: 'Markér alle',\n deselectAllText: 'Afmarkér alle',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-da_DK.js","sources":["../../../virtual:js/i18n/defaults-da_DK.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: DA (Danish)\n * Region: DK (Denmark)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Intet valgt',\n noneResultsText: 'Ingen resultater fundet {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} valgt' : '{0} valgt';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Begrænsning nået (max {n} valgt)' : 'Begrænsning nået (max {n} valgte)',\n (numGroup == 1) ? 'Gruppe-begrænsning nået (max {n} valgt)' : 'Gruppe-begrænsning nået (max {n} valgte)'\n ];\n },\n selectAllText: 'Markér alle',\n deselectAllText: 'Afmarkér alle',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,aAAa;AACjC,EAAE,eAAe,EAAE,6BAA6B;AAChD,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,WAAW,GAAG,WAAW;AACzD,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,kCAAkC,GAAG,mCAAmC;AAC9F,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,yCAAyC,GAAG;AACpE,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,aAAa;AAC9B,EAAE,eAAe,EAAE,eAAe;AAClC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-da_DK.min.js b/docs/dist/js/i18n/defaults-da_DK.min.js index a37aaf5..851f7fe 100644 --- a/docs/dist/js/i18n/defaults-da_DK.min.js +++ b/docs/dist/js/i18n/defaults-da_DK.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Intet valgt",noneResultsText:"Ingen resultater fundet {0}",countSelectedText:function(e,t){return"{0} valgt"},maxOptionsText:function(e,t){return[1==e?"Begr\xe6nsning n\xe5et (max {n} valgt)":"Begr\xe6nsning n\xe5et (max {n} valgte)",1==t?"Gruppe-begr\xe6nsning n\xe5et (max {n} valgt)":"Gruppe-begr\xe6nsning n\xe5et (max {n} valgte)"]},selectAllText:"Mark\xe9r alle",deselectAllText:"Afmark\xe9r alle",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Intet valgt",noneResultsText:"Ingen resultater fundet {0}",countSelectedText:function(e,t){return"{0} valgt"},maxOptionsText:function(e,t){return[1==e?"Begr\xe6nsning n\xe5et (max {n} valgt)":"Begr\xe6nsning n\xe5et (max {n} valgte)",1==t?"Gruppe-begr\xe6nsning n\xe5et (max {n} valgt)":"Gruppe-begr\xe6nsning n\xe5et (max {n} valgte)"]},selectAllText:"Mark\xe9r alle",deselectAllText:"Afmark\xe9r alle",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-da_DK.min.js.map diff --git a/docs/dist/js/i18n/defaults-da_DK.min.js.map b/docs/dist/js/i18n/defaults-da_DK.min.js.map new file mode 100644 index 0000000..0cd8b36 --- /dev/null +++ b/docs/dist/js/i18n/defaults-da_DK.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-da_DK.min.js","sources":["../../../virtual:js/i18n/defaults-da_DK.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: DA (Danish)\n * Region: DK (Denmark)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Intet valgt',\n noneResultsText: 'Ingen resultater fundet {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} valgt' : '{0} valgt';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Begrænsning nået (max {n} valgt)' : 'Begrænsning nået (max {n} valgte)',\n (numGroup == 1) ? 'Gruppe-begrænsning nået (max {n} valgt)' : 'Gruppe-begrænsning nået (max {n} valgte)'\n ];\n },\n selectAllText: 'Markér alle',\n deselectAllText: 'Afmarkér alle',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,cAClBC,gBAAiB,8BACjBC,kBAAmB,SAAUC,EAAaC,GACxC,MAA4B,WAC9B,EACAC,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACM,GAAVD,EAAe,yCAAqC,0CACxC,GAAZC,EAAiB,gDAA4C,iDAElE,EACAC,cAAe,iBACfC,gBAAiB,mBACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-de_DE.js b/docs/dist/js/i18n/defaults-de_DE.js index d37630f..26c83a7 100644 --- a/docs/dist/js/i18n/defaults-de_DE.js +++ b/docs/dist/js/i18n/defaults-de_DE.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: DE (German, deutsch) + * Region: DE (Germany, Deutschland) + */ Selectpicker.setDefaults({ noneSelectedText: 'Bitte wählen...', noneResultsText: 'Keine Ergebnisse für {0}', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-de_DE.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-de_DE.js.map diff --git a/docs/dist/js/i18n/defaults-de_DE.js.map b/docs/dist/js/i18n/defaults-de_DE.js.map index bfbbbc0..8840c31 100644 --- a/docs/dist/js/i18n/defaults-de_DE.js.map +++ b/docs/dist/js/i18n/defaults-de_DE.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-de_DE.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK;AACtC,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;AAC9C,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE;AACrF,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI;AACjG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG;AAClH,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;AACnC,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;AACtC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-de_DE.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Bitte wählen...',\n noneResultsText: 'Keine Ergebnisse für {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} Element ausgewählt' : '{0} Elemente ausgewählt';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit erreicht ({n} Element max.)' : 'Limit erreicht ({n} Elemente max.)',\n (numGroup == 1) ? 'Gruppen-Limit erreicht ({n} Element max.)' : 'Gruppen-Limit erreicht ({n} Elemente max.)'\n ];\n },\n selectAllText: 'Alles auswählen',\n deselectAllText: 'Nichts auswählen',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-de_DE.js","sources":["../../../virtual:js/i18n/defaults-de_DE.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: DE (German, deutsch)\n * Region: DE (Germany, Deutschland)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Bitte wählen...',\n noneResultsText: 'Keine Ergebnisse für {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} Element ausgewählt' : '{0} Elemente ausgewählt';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit erreicht ({n} Element max.)' : 'Limit erreicht ({n} Elemente max.)',\n (numGroup == 1) ? 'Gruppen-Limit erreicht ({n} Element max.)' : 'Gruppen-Limit erreicht ({n} Elemente max.)'\n ];\n },\n selectAllText: 'Alles auswählen',\n deselectAllText: 'Nichts auswählen',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,iBAAiB;AACrC,EAAE,eAAe,EAAE,0BAA0B;AAC7C,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,wBAAwB,GAAG,yBAAyB;AACpF,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,mCAAmC,GAAG,oCAAoC;AAChG,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,2CAA2C,GAAG;AACtE,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,iBAAiB;AAClC,EAAE,eAAe,EAAE,kBAAkB;AACrC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-de_DE.min.js b/docs/dist/js/i18n/defaults-de_DE.min.js index 71ddd95..30e1441 100644 --- a/docs/dist/js/i18n/defaults-de_DE.min.js +++ b/docs/dist/js/i18n/defaults-de_DE.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Bitte w\xe4hlen...",noneResultsText:"Keine Ergebnisse f\xfcr {0}",countSelectedText:function(e,t){return 1==e?"{0} Element ausgew\xe4hlt":"{0} Elemente ausgew\xe4hlt"},maxOptionsText:function(e,t){return[1==e?"Limit erreicht ({n} Element max.)":"Limit erreicht ({n} Elemente max.)",1==t?"Gruppen-Limit erreicht ({n} Element max.)":"Gruppen-Limit erreicht ({n} Elemente max.)"]},selectAllText:"Alles ausw\xe4hlen",deselectAllText:"Nichts ausw\xe4hlen",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Bitte w\xe4hlen...",noneResultsText:"Keine Ergebnisse f\xfcr {0}",countSelectedText:function(e,t){return 1==e?"{0} Element ausgew\xe4hlt":"{0} Elemente ausgew\xe4hlt"},maxOptionsText:function(e,t){return[1==e?"Limit erreicht ({n} Element max.)":"Limit erreicht ({n} Elemente max.)",1==t?"Gruppen-Limit erreicht ({n} Element max.)":"Gruppen-Limit erreicht ({n} Elemente max.)"]},selectAllText:"Alles ausw\xe4hlen",deselectAllText:"Nichts ausw\xe4hlen",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-de_DE.min.js.map diff --git a/docs/dist/js/i18n/defaults-de_DE.min.js.map b/docs/dist/js/i18n/defaults-de_DE.min.js.map new file mode 100644 index 0000000..b34c6d5 --- /dev/null +++ b/docs/dist/js/i18n/defaults-de_DE.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-de_DE.min.js","sources":["../../../virtual:js/i18n/defaults-de_DE.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: DE (German, deutsch)\n * Region: DE (Germany, Deutschland)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Bitte wählen...',\n noneResultsText: 'Keine Ergebnisse für {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} Element ausgewählt' : '{0} Elemente ausgewählt';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit erreicht ({n} Element max.)' : 'Limit erreicht ({n} Elemente max.)',\n (numGroup == 1) ? 'Gruppen-Limit erreicht ({n} Element max.)' : 'Gruppen-Limit erreicht ({n} Elemente max.)'\n ];\n },\n selectAllText: 'Alles auswählen',\n deselectAllText: 'Nichts auswählen',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,qBAClBC,gBAAiB,8BACjBC,kBAAmB,SAAUC,EAAaC,GACxC,OAAuB,GAAfD,EAAoB,4BAA2B,4BACzD,EACAE,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACM,GAAVD,EAAe,oCAAsC,qCACzC,GAAZC,EAAiB,4CAA8C,6CAEpE,EACAC,cAAe,qBACfC,gBAAiB,sBACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-en_US.js b/docs/dist/js/i18n/defaults-en_US.js index 5beba0e..334361e 100644 --- a/docs/dist/js/i18n/defaults-en_US.js +++ b/docs/dist/js/i18n/defaults-en_US.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: EN (English) + * Region: US (United States) + */ Selectpicker.setDefaults({ noneSelectedText: 'Nothing selected', noneResultsText: 'No results match {0}', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-en_US.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-en_US.js.map diff --git a/docs/dist/js/i18n/defaults-en_US.js.map b/docs/dist/js/i18n/defaults-en_US.js.map index 918f264..70c2d32 100644 --- a/docs/dist/js/i18n/defaults-en_US.js.map +++ b/docs/dist/js/i18n/defaults-en_US.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-en_US.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE;AACvC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;AAC1C,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;AAC3E,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG;AACvF,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;AACpG,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;AAC9B,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE;AAClC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-en_US.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Nothing selected',\n noneResultsText: 'No results match {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} item selected' : '{0} items selected';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)',\n (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'\n ];\n },\n selectAllText: 'Select All',\n deselectAllText: 'Deselect All',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-en_US.js","sources":["../../../virtual:js/i18n/defaults-en_US.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: EN (English)\n * Region: US (United States)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Nothing selected',\n noneResultsText: 'No results match {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} item selected' : '{0} items selected';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)',\n (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'\n ];\n },\n selectAllText: 'Select All',\n deselectAllText: 'Deselect All',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,kBAAkB;AACtC,EAAE,eAAe,EAAE,sBAAsB;AACzC,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,mBAAmB,GAAG,oBAAoB;AAC1E,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,8BAA8B,GAAG,+BAA+B;AACtF,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,oCAAoC,GAAG;AAC/D,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,YAAY;AAC7B,EAAE,eAAe,EAAE,cAAc;AACjC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-en_US.min.js b/docs/dist/js/i18n/defaults-en_US.min.js index 3e1c1c1..2b677ee 100644 --- a/docs/dist/js/i18n/defaults-en_US.min.js +++ b/docs/dist/js/i18n/defaults-en_US.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Nothing selected",noneResultsText:"No results match {0}",countSelectedText:function(e,t){return 1==e?"{0} item selected":"{0} items selected"},maxOptionsText:function(e,t){return[1==e?"Limit reached ({n} item max)":"Limit reached ({n} items max)",1==t?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)"]},selectAllText:"Select All",deselectAllText:"Deselect All",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Nothing selected",noneResultsText:"No results match {0}",countSelectedText:function(e,t){return 1==e?"{0} item selected":"{0} items selected"},maxOptionsText:function(e,t){return[1==e?"Limit reached ({n} item max)":"Limit reached ({n} items max)",1==t?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)"]},selectAllText:"Select All",deselectAllText:"Deselect All",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-en_US.min.js.map diff --git a/docs/dist/js/i18n/defaults-en_US.min.js.map b/docs/dist/js/i18n/defaults-en_US.min.js.map new file mode 100644 index 0000000..16b9223 --- /dev/null +++ b/docs/dist/js/i18n/defaults-en_US.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-en_US.min.js","sources":["../../../virtual:js/i18n/defaults-en_US.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: EN (English)\n * Region: US (United States)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Nothing selected',\n noneResultsText: 'No results match {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} item selected' : '{0} items selected';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)',\n (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'\n ];\n },\n selectAllText: 'Select All',\n deselectAllText: 'Deselect All',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,mBAClBC,gBAAiB,uBACjBC,kBAAmB,SAAUC,EAAaC,GACxC,OAAuB,GAAfD,EAAoB,oBAAsB,oBACpD,EACAE,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACM,GAAVD,EAAe,+BAAiC,gCACpC,GAAZC,EAAiB,qCAAuC,sCAE7D,EACAC,cAAe,aACfC,gBAAiB,eACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-es_CL.js b/docs/dist/js/i18n/defaults-es_CL.js index e10fef4..e81b5ef 100644 --- a/docs/dist/js/i18n/defaults-es_CL.js +++ b/docs/dist/js/i18n/defaults-es_CL.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: ES (Spanish) + * Region: CL (Chile) + */ Selectpicker.setDefaults({ noneSelectedText: 'No hay selección', noneResultsText: 'No hay resultados {0}', @@ -35,6 +41,6 @@ Selectpicker.setDefaults({ deselectAllText: 'Desmarcar Todos' }); -})); -//# sourceMappingURL=defaults-es_CL.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-es_CL.js.map diff --git a/docs/dist/js/i18n/defaults-es_CL.js.map b/docs/dist/js/i18n/defaults-es_CL.js.map index 55ec557..f86f608 100644 --- a/docs/dist/js/i18n/defaults-es_CL.js.map +++ b/docs/dist/js/i18n/defaults-es_CL.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-es_CL.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE;AACvC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG;AAC3C,EAAE,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;AAChD,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,IAAI;AAC9H,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE;AAC1B,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE;AACrC,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;AACpC,GAAG","file":"defaults-es_CL.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'No hay selección',\n noneResultsText: 'No hay resultados {0}',\n countSelectedText: 'Seleccionados {0} de {1}',\n maxOptionsText: ['Límite alcanzado ({n} {var} max)', 'Límite del grupo alcanzado({n} {var} max)', ['elementos', 'element']],\n multipleSeparator: ', ',\n selectAllText: 'Seleccionar Todos',\n deselectAllText: 'Desmarcar Todos'\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-es_CL.js","sources":["../../../virtual:js/i18n/defaults-es_CL.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: ES (Spanish)\n * Region: CL (Chile)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'No hay selección',\n noneResultsText: 'No hay resultados {0}',\n countSelectedText: 'Seleccionados {0} de {1}',\n maxOptionsText: ['Límite alcanzado ({n} {var} max)', 'Límite del grupo alcanzado({n} {var} max)', ['elementos', 'element']],\n multipleSeparator: ', ',\n selectAllText: 'Seleccionar Todos',\n deselectAllText: 'Desmarcar Todos'\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,kBAAkB;AACtC,EAAE,eAAe,EAAE,uBAAuB;AAC1C,EAAE,iBAAiB,EAAE,0BAA0B;AAC/C,EAAE,cAAc,EAAE,CAAC,kCAAkC,EAAE,2CAA2C,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC7H,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,aAAa,EAAE,mBAAmB;AACpC,EAAE,eAAe,EAAE;AACnB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-es_CL.min.js b/docs/dist/js/i18n/defaults-es_CL.min.js index a01cf76..8631f68 100644 --- a/docs/dist/js/i18n/defaults-es_CL.min.js +++ b/docs/dist/js/i18n/defaults-es_CL.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"No hay selecci\xf3n",noneResultsText:"No hay resultados {0}",countSelectedText:"Seleccionados {0} de {1}",maxOptionsText:["L\xedmite alcanzado ({n} {var} max)","L\xedmite del grupo alcanzado({n} {var} max)",["elementos","element"]],multipleSeparator:", ",selectAllText:"Seleccionar Todos",deselectAllText:"Desmarcar Todos"})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var o;try{o=require("bootstrap")}catch(e){o=void 0}module.exports=e(o)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"No hay selecci\xf3n",noneResultsText:"No hay resultados {0}",countSelectedText:"Seleccionados {0} de {1}",maxOptionsText:["L\xedmite alcanzado ({n} {var} max)","L\xedmite del grupo alcanzado({n} {var} max)",["elementos","element"]],multipleSeparator:", ",selectAllText:"Seleccionar Todos",deselectAllText:"Desmarcar Todos"})}); +//# sourceMappingURL=defaults-es_CL.min.js.map diff --git a/docs/dist/js/i18n/defaults-es_CL.min.js.map b/docs/dist/js/i18n/defaults-es_CL.min.js.map new file mode 100644 index 0000000..8434383 --- /dev/null +++ b/docs/dist/js/i18n/defaults-es_CL.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-es_CL.min.js","sources":["../../../virtual:js/i18n/defaults-es_CL.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: ES (Spanish)\n * Region: CL (Chile)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'No hay selección',\n noneResultsText: 'No hay resultados {0}',\n countSelectedText: 'Seleccionados {0} de {1}',\n maxOptionsText: ['Límite alcanzado ({n} {var} max)', 'Límite del grupo alcanzado({n} {var} max)', ['elementos', 'element']],\n multipleSeparator: ', ',\n selectAllText: 'Seleccionar Todos',\n deselectAllText: 'Desmarcar Todos'\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","multipleSeparator","selectAllText","deselectAllText"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,sBAClBC,gBAAiB,wBACjBC,kBAAmB,2BACnBC,eAAgB,CAAC,sCAAoC,+CAA6C,CAAC,YAAa,YAChHC,kBAAmB,KACnBC,cAAe,oBACfC,gBAAiB,mBAInB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-es_ES.js b/docs/dist/js/i18n/defaults-es_ES.js index 99c61b0..26f4824 100644 --- a/docs/dist/js/i18n/defaults-es_ES.js +++ b/docs/dist/js/i18n/defaults-es_ES.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: ES (Spanish) + * Region: ES (Spain) + */ Selectpicker.setDefaults({ noneSelectedText: 'No hay selección', noneResultsText: 'No hay resultados {0}', @@ -35,6 +41,6 @@ Selectpicker.setDefaults({ deselectAllText: 'Desmarcar Todos' }); -})); -//# sourceMappingURL=defaults-es_ES.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-es_ES.js.map diff --git a/docs/dist/js/i18n/defaults-es_ES.js.map b/docs/dist/js/i18n/defaults-es_ES.js.map index 4366d88..fc70885 100644 --- a/docs/dist/js/i18n/defaults-es_ES.js.map +++ b/docs/dist/js/i18n/defaults-es_ES.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-es_ES.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE;AACvC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG;AAC3C,EAAE,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;AAChD,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,IAAI;AAC9H,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE;AAC1B,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE;AACrC,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;AACpC,GAAG","file":"defaults-es_ES.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'No hay selección',\n noneResultsText: 'No hay resultados {0}',\n countSelectedText: 'Seleccionados {0} de {1}',\n maxOptionsText: ['Límite alcanzado ({n} {var} max)', 'Límite del grupo alcanzado({n} {var} max)', ['elementos', 'element']],\n multipleSeparator: ', ',\n selectAllText: 'Seleccionar Todos',\n deselectAllText: 'Desmarcar Todos'\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-es_ES.js","sources":["../../../virtual:js/i18n/defaults-es_ES.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: ES (Spanish)\n * Region: ES (Spain)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'No hay selección',\n noneResultsText: 'No hay resultados {0}',\n countSelectedText: 'Seleccionados {0} de {1}',\n maxOptionsText: ['Límite alcanzado ({n} {var} max)', 'Límite del grupo alcanzado({n} {var} max)', ['elementos', 'element']],\n multipleSeparator: ', ',\n selectAllText: 'Seleccionar Todos',\n deselectAllText: 'Desmarcar Todos'\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,kBAAkB;AACtC,EAAE,eAAe,EAAE,uBAAuB;AAC1C,EAAE,iBAAiB,EAAE,0BAA0B;AAC/C,EAAE,cAAc,EAAE,CAAC,kCAAkC,EAAE,2CAA2C,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC7H,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,aAAa,EAAE,mBAAmB;AACpC,EAAE,eAAe,EAAE;AACnB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-es_ES.min.js b/docs/dist/js/i18n/defaults-es_ES.min.js index a01cf76..93bec9c 100644 --- a/docs/dist/js/i18n/defaults-es_ES.min.js +++ b/docs/dist/js/i18n/defaults-es_ES.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"No hay selecci\xf3n",noneResultsText:"No hay resultados {0}",countSelectedText:"Seleccionados {0} de {1}",maxOptionsText:["L\xedmite alcanzado ({n} {var} max)","L\xedmite del grupo alcanzado({n} {var} max)",["elementos","element"]],multipleSeparator:", ",selectAllText:"Seleccionar Todos",deselectAllText:"Desmarcar Todos"})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var o;try{o=require("bootstrap")}catch(e){o=void 0}module.exports=e(o)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"No hay selecci\xf3n",noneResultsText:"No hay resultados {0}",countSelectedText:"Seleccionados {0} de {1}",maxOptionsText:["L\xedmite alcanzado ({n} {var} max)","L\xedmite del grupo alcanzado({n} {var} max)",["elementos","element"]],multipleSeparator:", ",selectAllText:"Seleccionar Todos",deselectAllText:"Desmarcar Todos"})}); +//# sourceMappingURL=defaults-es_ES.min.js.map diff --git a/docs/dist/js/i18n/defaults-es_ES.min.js.map b/docs/dist/js/i18n/defaults-es_ES.min.js.map new file mode 100644 index 0000000..d238a8c --- /dev/null +++ b/docs/dist/js/i18n/defaults-es_ES.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-es_ES.min.js","sources":["../../../virtual:js/i18n/defaults-es_ES.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: ES (Spanish)\n * Region: ES (Spain)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'No hay selección',\n noneResultsText: 'No hay resultados {0}',\n countSelectedText: 'Seleccionados {0} de {1}',\n maxOptionsText: ['Límite alcanzado ({n} {var} max)', 'Límite del grupo alcanzado({n} {var} max)', ['elementos', 'element']],\n multipleSeparator: ', ',\n selectAllText: 'Seleccionar Todos',\n deselectAllText: 'Desmarcar Todos'\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","multipleSeparator","selectAllText","deselectAllText"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,sBAClBC,gBAAiB,wBACjBC,kBAAmB,2BACnBC,eAAgB,CAAC,sCAAoC,+CAA6C,CAAC,YAAa,YAChHC,kBAAmB,KACnBC,cAAe,oBACfC,gBAAiB,mBAInB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-et_EE.js b/docs/dist/js/i18n/defaults-et_EE.js index 0acd3f7..81dc8bd 100644 --- a/docs/dist/js/i18n/defaults-et_EE.js +++ b/docs/dist/js/i18n/defaults-et_EE.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: ET (Eesti keel) + * Region: EE (Estonia) + */ Selectpicker.setDefaults({ noneSelectedText: 'Valikut pole tehtud', noneResultsText: 'Otsingule {0} ei ole vasteid', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-et_EE.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-et_EE.js.map diff --git a/docs/dist/js/i18n/defaults-et_EE.js.map b/docs/dist/js/i18n/defaults-et_EE.js.map index fb790ea..67d1768 100644 --- a/docs/dist/js/i18n/defaults-et_EE.js.map +++ b/docs/dist/js/i18n/defaults-et_EE.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-et_EE.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;AAC1C,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE;AAClD,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;AAC3E,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;AAC1B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACnC,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;AAC7B,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;AAClC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-et_EE.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Valikut pole tehtud',\n noneResultsText: 'Otsingule {0} ei ole vasteid',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} item selected' : '{0} items selected';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n 'Limiit on {n} max',\n 'Globaalne limiit on {n} max'\n ];\n },\n selectAllText: 'Vali kõik',\n deselectAllText: 'Tühista kõik',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-et_EE.js","sources":["../../../virtual:js/i18n/defaults-et_EE.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: ET (Eesti keel)\n * Region: EE (Estonia)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Valikut pole tehtud',\n noneResultsText: 'Otsingule {0} ei ole vasteid',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} item selected' : '{0} items selected';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n 'Limiit on {n} max',\n 'Globaalne limiit on {n} max'\n ];\n },\n selectAllText: 'Vali kõik',\n deselectAllText: 'Tühista kõik',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,qBAAqB;AACzC,EAAE,eAAe,EAAE,8BAA8B;AACjD,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,mBAAmB,GAAG,oBAAoB;AAC1E,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,mBAAmB;AACzB,MAAM;AACN,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,WAAW;AAC5B,EAAE,eAAe,EAAE,cAAc;AACjC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-et_EE.min.js b/docs/dist/js/i18n/defaults-et_EE.min.js index 2cc06f1..bd862e6 100644 --- a/docs/dist/js/i18n/defaults-et_EE.min.js +++ b/docs/dist/js/i18n/defaults-et_EE.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Valikut pole tehtud",noneResultsText:"Otsingule {0} ei ole vasteid",countSelectedText:function(e,t){return 1==e?"{0} item selected":"{0} items selected"},maxOptionsText:function(e,t){return["Limiit on {n} max","Globaalne limiit on {n} max"]},selectAllText:"Vali k\xf5ik",deselectAllText:"T\xfchista k\xf5ik",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Valikut pole tehtud",noneResultsText:"Otsingule {0} ei ole vasteid",countSelectedText:function(e,t){return 1==e?"{0} item selected":"{0} items selected"},maxOptionsText:function(e,t){return["Limiit on {n} max","Globaalne limiit on {n} max"]},selectAllText:"Vali k\xf5ik",deselectAllText:"T\xfchista k\xf5ik",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-et_EE.min.js.map diff --git a/docs/dist/js/i18n/defaults-et_EE.min.js.map b/docs/dist/js/i18n/defaults-et_EE.min.js.map new file mode 100644 index 0000000..6789031 --- /dev/null +++ b/docs/dist/js/i18n/defaults-et_EE.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-et_EE.min.js","sources":["../../../virtual:js/i18n/defaults-et_EE.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: ET (Eesti keel)\n * Region: EE (Estonia)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Valikut pole tehtud',\n noneResultsText: 'Otsingule {0} ei ole vasteid',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} item selected' : '{0} items selected';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n 'Limiit on {n} max',\n 'Globaalne limiit on {n} max'\n ];\n },\n selectAllText: 'Vali kõik',\n deselectAllText: 'Tühista kõik',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,sBAClBC,gBAAiB,+BACjBC,kBAAmB,SAAUC,EAAaC,GACxC,OAAuB,GAAfD,EAAoB,oBAAsB,oBACpD,EACAE,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACL,oBACA,8BAEJ,EACAC,cAAe,eACfC,gBAAiB,qBACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-eu.js b/docs/dist/js/i18n/defaults-eu.js index f80804a..b2111d8 100644 --- a/docs/dist/js/i18n/defaults-eu.js +++ b/docs/dist/js/i18n/defaults-eu.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: EU (Basque) + * Region: + */ Selectpicker.setDefaults({ noneSelectedText: 'Hautapenik ez', noneResultsText: 'Emaitzarik ez {0}', @@ -35,6 +41,6 @@ Selectpicker.setDefaults({ deselectAllText: 'Desautatu Guztiak' }); -})); -//# sourceMappingURL=defaults-eu.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-eu.js.map diff --git a/docs/dist/js/i18n/defaults-eu.js.map b/docs/dist/js/i18n/defaults-eu.js.map index 89d7170..9a584cb 100644 --- a/docs/dist/js/i18n/defaults-eu.js.map +++ b/docs/dist/js/i18n/defaults-eu.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-eu.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE;AACpC,EAAE,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;AACvC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;AAC/C,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI;AACvI,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE;AAC1B,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;AACnC,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;AACtC,GAAG","file":"defaults-eu.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Hautapenik ez',\n noneResultsText: 'Emaitzarik ez {0}',\n countSelectedText: '{1}(e)tik {0} hautatuta',\n maxOptionsText: ['Mugara iritsita ({n} {var} gehienez)', 'Taldearen mugara iritsita ({n} {var} gehienez)', ['elementu', 'elementu']],\n multipleSeparator: ', ',\n selectAllText: 'Hautatu Guztiak',\n deselectAllText: 'Desautatu Guztiak'\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-eu.js","sources":["../../../virtual:js/i18n/defaults-eu.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: EU (Basque)\n * Region:\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Hautapenik ez',\n noneResultsText: 'Emaitzarik ez {0}',\n countSelectedText: '{1}(e)tik {0} hautatuta',\n maxOptionsText: ['Mugara iritsita ({n} {var} gehienez)', 'Taldearen mugara iritsita ({n} {var} gehienez)', ['elementu', 'elementu']],\n multipleSeparator: ', ',\n selectAllText: 'Hautatu Guztiak',\n deselectAllText: 'Desautatu Guztiak'\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,eAAe;AACnC,EAAE,eAAe,EAAE,mBAAmB;AACtC,EAAE,iBAAiB,EAAE,yBAAyB;AAC9C,EAAE,cAAc,EAAE,CAAC,sCAAsC,EAAE,gDAAgD,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACtI,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,aAAa,EAAE,iBAAiB;AAClC,EAAE,eAAe,EAAE;AACnB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-eu.min.js b/docs/dist/js/i18n/defaults-eu.min.js index 4f470ac..b31d2c2 100644 --- a/docs/dist/js/i18n/defaults-eu.min.js +++ b/docs/dist/js/i18n/defaults-eu.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Hautapenik ez",noneResultsText:"Emaitzarik ez {0}",countSelectedText:"{1}(e)tik {0} hautatuta",maxOptionsText:["Mugara iritsita ({n} {var} gehienez)","Taldearen mugara iritsita ({n} {var} gehienez)",["elementu","elementu"]],multipleSeparator:", ",selectAllText:"Hautatu Guztiak",deselectAllText:"Desautatu Guztiak"})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Hautapenik ez",noneResultsText:"Emaitzarik ez {0}",countSelectedText:"{1}(e)tik {0} hautatuta",maxOptionsText:["Mugara iritsita ({n} {var} gehienez)","Taldearen mugara iritsita ({n} {var} gehienez)",["elementu","elementu"]],multipleSeparator:", ",selectAllText:"Hautatu Guztiak",deselectAllText:"Desautatu Guztiak"})}); +//# sourceMappingURL=defaults-eu.min.js.map diff --git a/docs/dist/js/i18n/defaults-eu.min.js.map b/docs/dist/js/i18n/defaults-eu.min.js.map new file mode 100644 index 0000000..66c248c --- /dev/null +++ b/docs/dist/js/i18n/defaults-eu.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-eu.min.js","sources":["../../../virtual:js/i18n/defaults-eu.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: EU (Basque)\n * Region:\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Hautapenik ez',\n noneResultsText: 'Emaitzarik ez {0}',\n countSelectedText: '{1}(e)tik {0} hautatuta',\n maxOptionsText: ['Mugara iritsita ({n} {var} gehienez)', 'Taldearen mugara iritsita ({n} {var} gehienez)', ['elementu', 'elementu']],\n multipleSeparator: ', ',\n selectAllText: 'Hautatu Guztiak',\n deselectAllText: 'Desautatu Guztiak'\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","multipleSeparator","selectAllText","deselectAllText"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,gBAClBC,gBAAiB,oBACjBC,kBAAmB,0BACnBC,eAAgB,CAAC,uCAAwC,iDAAkD,CAAC,WAAY,aACxHC,kBAAmB,KACnBC,cAAe,kBACfC,gBAAiB,qBAInB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-fa_IR.js b/docs/dist/js/i18n/defaults-fa_IR.js index ecc5546..583e723 100644 --- a/docs/dist/js/i18n/defaults-fa_IR.js +++ b/docs/dist/js/i18n/defaults-fa_IR.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: FA (Farsi) + * Region: IR (Iran) + */ Selectpicker.setDefaults({ noneSelectedText: 'چیزی انتخاب نشده است', noneResultsText: 'هیج مشابهی برای {0} پیدا نشد', @@ -35,6 +41,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-fa_IR.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-fa_IR.js.map diff --git a/docs/dist/js/i18n/defaults-fa_IR.js.map b/docs/dist/js/i18n/defaults-fa_IR.js.map index 8ddc7ea..ae04ca5 100644 --- a/docs/dist/js/i18n/defaults-fa_IR.js.map +++ b/docs/dist/js/i18n/defaults-fa_IR.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-fa_IR.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK;AAC3C,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;AAClD,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;AAClD,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;AAC3F,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,KAAK;AAC9B,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM;AACrC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-fa_IR.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'چیزی انتخاب نشده است',\n noneResultsText: 'هیج مشابهی برای {0} پیدا نشد',\n countSelectedText: '{0} از {1} مورد انتخاب شده',\n maxOptionsText: ['بیشتر ممکن نیست {حداکثر {n} عدد}', 'بیشتر ممکن نیست {حداکثر {n} عدد}'],\n selectAllText: 'انتخاب همه',\n deselectAllText: 'انتخاب هیچ کدام',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-fa_IR.js","sources":["../../../virtual:js/i18n/defaults-fa_IR.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: FA (Farsi)\n * Region: IR (Iran)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'چیزی انتخاب نشده است',\n noneResultsText: 'هیج مشابهی برای {0} پیدا نشد',\n countSelectedText: '{0} از {1} مورد انتخاب شده',\n maxOptionsText: ['بیشتر ممکن نیست {حداکثر {n} عدد}', 'بیشتر ممکن نیست {حداکثر {n} عدد}'],\n selectAllText: 'انتخاب همه',\n deselectAllText: 'انتخاب هیچ کدام',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,sBAAsB;AAC1C,EAAE,eAAe,EAAE,8BAA8B;AACjD,EAAE,iBAAiB,EAAE,4BAA4B;AACjD,EAAE,cAAc,EAAE,CAAC,kCAAkC,EAAE,kCAAkC,CAAC;AAC1F,EAAE,aAAa,EAAE,YAAY;AAC7B,EAAE,eAAe,EAAE,iBAAiB;AACpC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-fa_IR.min.js b/docs/dist/js/i18n/defaults-fa_IR.min.js index 9068470..37e0a32 100644 --- a/docs/dist/js/i18n/defaults-fa_IR.min.js +++ b/docs/dist/js/i18n/defaults-fa_IR.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"\u0686\u06cc\u0632\u06cc \u0627\u0646\u062a\u062e\u0627\u0628 \u0646\u0634\u062f\u0647 \u0627\u0633\u062a",noneResultsText:"\u0647\u06cc\u062c \u0645\u0634\u0627\u0628\u0647\u06cc \u0628\u0631\u0627\u06cc {0} \u067e\u06cc\u062f\u0627 \u0646\u0634\u062f",countSelectedText:"{0} \u0627\u0632 {1} \u0645\u0648\u0631\u062f \u0627\u0646\u062a\u062e\u0627\u0628 \u0634\u062f\u0647",maxOptionsText:["\u0628\u06cc\u0634\u062a\u0631 \u0645\u0645\u06a9\u0646 \u0646\u06cc\u0633\u062a {\u062d\u062f\u0627\u06a9\u062b\u0631 {n} \u0639\u062f\u062f}","\u0628\u06cc\u0634\u062a\u0631 \u0645\u0645\u06a9\u0646 \u0646\u06cc\u0633\u062a {\u062d\u062f\u0627\u06a9\u062b\u0631 {n} \u0639\u062f\u062f}"],selectAllText:"\u0627\u0646\u062a\u062e\u0627\u0628 \u0647\u0645\u0647",deselectAllText:"\u0627\u0646\u062a\u062e\u0627\u0628 \u0647\u06cc\u0686 \u06a9\u062f\u0627\u0645",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"\u0686\u06cc\u0632\u06cc \u0627\u0646\u062a\u062e\u0627\u0628 \u0646\u0634\u062f\u0647 \u0627\u0633\u062a",noneResultsText:"\u0647\u06cc\u062c \u0645\u0634\u0627\u0628\u0647\u06cc \u0628\u0631\u0627\u06cc {0} \u067e\u06cc\u062f\u0627 \u0646\u0634\u062f",countSelectedText:"{0} \u0627\u0632 {1} \u0645\u0648\u0631\u062f \u0627\u0646\u062a\u062e\u0627\u0628 \u0634\u062f\u0647",maxOptionsText:["\u0628\u06cc\u0634\u062a\u0631 \u0645\u0645\u06a9\u0646 \u0646\u06cc\u0633\u062a {\u062d\u062f\u0627\u06a9\u062b\u0631 {n} \u0639\u062f\u062f}","\u0628\u06cc\u0634\u062a\u0631 \u0645\u0645\u06a9\u0646 \u0646\u06cc\u0633\u062a {\u062d\u062f\u0627\u06a9\u062b\u0631 {n} \u0639\u062f\u062f}"],selectAllText:"\u0627\u0646\u062a\u062e\u0627\u0628 \u0647\u0645\u0647",deselectAllText:"\u0627\u0646\u062a\u062e\u0627\u0628 \u0647\u06cc\u0686 \u06a9\u062f\u0627\u0645",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-fa_IR.min.js.map diff --git a/docs/dist/js/i18n/defaults-fa_IR.min.js.map b/docs/dist/js/i18n/defaults-fa_IR.min.js.map new file mode 100644 index 0000000..efa1b82 --- /dev/null +++ b/docs/dist/js/i18n/defaults-fa_IR.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-fa_IR.min.js","sources":["../../../virtual:js/i18n/defaults-fa_IR.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: FA (Farsi)\n * Region: IR (Iran)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'چیزی انتخاب نشده است',\n noneResultsText: 'هیج مشابهی برای {0} پیدا نشد',\n countSelectedText: '{0} از {1} مورد انتخاب شده',\n maxOptionsText: ['بیشتر ممکن نیست {حداکثر {n} عدد}', 'بیشتر ممکن نیست {حداکثر {n} عدد}'],\n selectAllText: 'انتخاب همه',\n deselectAllText: 'انتخاب هیچ کدام',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,4GAClBC,gBAAiB,mIACjBC,kBAAmB,wGACnBC,eAAgB,CAAC,iJAAoC,kJACrDC,cAAe,0DACfC,gBAAiB,mFACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-fi_FI.js b/docs/dist/js/i18n/defaults-fi_FI.js index c5f8a49..be2a66a 100644 --- a/docs/dist/js/i18n/defaults-fi_FI.js +++ b/docs/dist/js/i18n/defaults-fi_FI.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: FI (Finnish) + * Region: FI (Finland) + */ Selectpicker.setDefaults({ noneSelectedText: 'Ei valintoja', noneResultsText: 'Ei hakutuloksia {0}', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-fi_FI.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-fi_FI.js.map diff --git a/docs/dist/js/i18n/defaults-fi_FI.js.map b/docs/dist/js/i18n/defaults-fi_FI.js.map index 44d1b44..ee83a06 100644 --- a/docs/dist/js/i18n/defaults-fi_FI.js.map +++ b/docs/dist/js/i18n/defaults-fi_FI.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-fi_FI.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE;AACnC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG;AACzC,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;AAC9D,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG;AAC9G,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE;AACvG,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE;AAClC,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;AACnC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-fi_FI.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Ei valintoja',\n noneResultsText: 'Ei hakutuloksia {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} valittu' : '{0} valitut';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Valintojen maksimimäärä ({n} saavutettu)' : 'Valintojen maksimimäärä ({n} saavutettu)',\n (numGroup == 1) ? 'Ryhmän maksimimäärä ({n} saavutettu)' : 'Ryhmän maksimimäärä ({n} saavutettu)'\n ];\n },\n selectAllText: 'Valitse kaikki',\n deselectAllText: 'Poista kaikki',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-fi_FI.js","sources":["../../../virtual:js/i18n/defaults-fi_FI.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: FI (Finnish)\n * Region: FI (Finland)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Ei valintoja',\n noneResultsText: 'Ei hakutuloksia {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} valittu' : '{0} valitut';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Valintojen maksimimäärä ({n} saavutettu)' : 'Valintojen maksimimäärä ({n} saavutettu)',\n (numGroup == 1) ? 'Ryhmän maksimimäärä ({n} saavutettu)' : 'Ryhmän maksimimäärä ({n} saavutettu)'\n ];\n },\n selectAllText: 'Valitse kaikki',\n deselectAllText: 'Poista kaikki',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,cAAc;AAClC,EAAE,eAAe,EAAE,qBAAqB;AACxC,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,aAAa,GAAG,aAAa;AAC7D,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,0CAA0C,GAAG,0CAA0C;AAC7G,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,sCAAsC,GAAG;AACjE,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,gBAAgB;AACjC,EAAE,eAAe,EAAE,eAAe;AAClC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-fi_FI.min.js b/docs/dist/js/i18n/defaults-fi_FI.min.js index 5879fd6..146bedd 100644 --- a/docs/dist/js/i18n/defaults-fi_FI.min.js +++ b/docs/dist/js/i18n/defaults-fi_FI.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Ei valintoja",noneResultsText:"Ei hakutuloksia {0}",countSelectedText:function(e,t){return 1==e?"{0} valittu":"{0} valitut"},maxOptionsText:function(e,t){return["Valintojen maksimim\xe4\xe4r\xe4 ({n} saavutettu)","Ryhm\xe4n maksimim\xe4\xe4r\xe4 ({n} saavutettu)"]},selectAllText:"Valitse kaikki",deselectAllText:"Poista kaikki",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Ei valintoja",noneResultsText:"Ei hakutuloksia {0}",countSelectedText:function(e,t){return 1==e?"{0} valittu":"{0} valitut"},maxOptionsText:function(e,t){return["Valintojen maksimim\xe4\xe4r\xe4 ({n} saavutettu)","Ryhm\xe4n maksimim\xe4\xe4r\xe4 ({n} saavutettu)"]},selectAllText:"Valitse kaikki",deselectAllText:"Poista kaikki",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-fi_FI.min.js.map diff --git a/docs/dist/js/i18n/defaults-fi_FI.min.js.map b/docs/dist/js/i18n/defaults-fi_FI.min.js.map new file mode 100644 index 0000000..5be88f9 --- /dev/null +++ b/docs/dist/js/i18n/defaults-fi_FI.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-fi_FI.min.js","sources":["../../../virtual:js/i18n/defaults-fi_FI.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: FI (Finnish)\n * Region: FI (Finland)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Ei valintoja',\n noneResultsText: 'Ei hakutuloksia {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} valittu' : '{0} valitut';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Valintojen maksimimäärä ({n} saavutettu)' : 'Valintojen maksimimäärä ({n} saavutettu)',\n (numGroup == 1) ? 'Ryhmän maksimimäärä ({n} saavutettu)' : 'Ryhmän maksimimäärä ({n} saavutettu)'\n ];\n },\n selectAllText: 'Valitse kaikki',\n deselectAllText: 'Poista kaikki',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,eAClBC,gBAAiB,sBACjBC,kBAAmB,SAAUC,EAAaC,GACxC,OAAuB,GAAfD,EAAoB,cAAgB,aAC9C,EACAE,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACW,oDACE,mDAEtB,EACAC,cAAe,iBACfC,gBAAiB,gBACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-fr_FR.js b/docs/dist/js/i18n/defaults-fr_FR.js index 14feb79..a1c76ca 100644 --- a/docs/dist/js/i18n/defaults-fr_FR.js +++ b/docs/dist/js/i18n/defaults-fr_FR.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: FR (French; Français) + * Region: FR (France) + */ Selectpicker.setDefaults({ noneSelectedText: 'Aucune sélection', noneResultsText: 'Aucun résultat pour {0}', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ deselectAllText: 'Tout désélectionner' }); -})); -//# sourceMappingURL=defaults-fr_FR.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-fr_FR.js.map diff --git a/docs/dist/js/i18n/defaults-fr_FR.js.map b/docs/dist/js/i18n/defaults-fr_FR.js.map index 7032401..2f7e46a 100644 --- a/docs/dist/js/i18n/defaults-fr_FR.js.map +++ b/docs/dist/js/i18n/defaults-fr_FR.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-fr_FR.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE;AACvC,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;AAC7C,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG;AACvF,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG;AAChG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;AACrH,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE;AAC1B,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE;AACrC,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AACxC,GAAG","file":"defaults-fr_FR.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Aucune sélection',\n noneResultsText: 'Aucun résultat pour {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected > 1) ? '{0} éléments sélectionnés' : '{0} élément sélectionné';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll > 1) ? 'Limite atteinte ({n} éléments max)' : 'Limite atteinte ({n} élément max)',\n (numGroup > 1) ? 'Limite du groupe atteinte ({n} éléments max)' : 'Limite du groupe atteinte ({n} élément max)'\n ];\n },\n multipleSeparator: ', ',\n selectAllText: 'Tout sélectionner',\n deselectAllText: 'Tout désélectionner'\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-fr_FR.js","sources":["../../../virtual:js/i18n/defaults-fr_FR.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: FR (French; Français)\n * Region: FR (France)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Aucune sélection',\n noneResultsText: 'Aucun résultat pour {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected > 1) ? '{0} éléments sélectionnés' : '{0} élément sélectionné';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll > 1) ? 'Limite atteinte ({n} éléments max)' : 'Limite atteinte ({n} élément max)',\n (numGroup > 1) ? 'Limite du groupe atteinte ({n} éléments max)' : 'Limite du groupe atteinte ({n} élément max)'\n ];\n },\n multipleSeparator: ', ',\n selectAllText: 'Tout sélectionner',\n deselectAllText: 'Tout désélectionner'\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,kBAAkB;AACtC,EAAE,eAAe,EAAE,yBAAyB;AAC5C,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC,IAAI,2BAA2B,GAAG,yBAAyB;AACtF,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,oCAAoC,GAAG,mCAAmC;AAC/F,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAI,8CAA8C,GAAG;AACxE,KAAK;AACL,EAAE,CAAC;AACH,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,aAAa,EAAE,mBAAmB;AACpC,EAAE,eAAe,EAAE;AACnB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-fr_FR.min.js b/docs/dist/js/i18n/defaults-fr_FR.min.js index 1a0750f..d4c949c 100644 --- a/docs/dist/js/i18n/defaults-fr_FR.min.js +++ b/docs/dist/js/i18n/defaults-fr_FR.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Aucune s\xe9lection",noneResultsText:"Aucun r\xe9sultat pour {0}",countSelectedText:function(e,t){return 11?"{0} \xe9l\xe9ments s\xe9lectionn\xe9s":"{0} \xe9l\xe9ment s\xe9lectionn\xe9"},maxOptionsText:function(e,t){return[e>1?"Limite atteinte ({n} \xe9l\xe9ments max)":"Limite atteinte ({n} \xe9l\xe9ment max)",t>1?"Limite du groupe atteinte ({n} \xe9l\xe9ments max)":"Limite du groupe atteinte ({n} \xe9l\xe9ment max)"]},multipleSeparator:", ",selectAllText:"Tout s\xe9lectionner",deselectAllText:"Tout d\xe9s\xe9lectionner"})}); +//# sourceMappingURL=defaults-fr_FR.min.js.map diff --git a/docs/dist/js/i18n/defaults-fr_FR.min.js.map b/docs/dist/js/i18n/defaults-fr_FR.min.js.map new file mode 100644 index 0000000..09ecc1a --- /dev/null +++ b/docs/dist/js/i18n/defaults-fr_FR.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-fr_FR.min.js","sources":["../../../virtual:js/i18n/defaults-fr_FR.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: FR (French; Français)\n * Region: FR (France)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Aucune sélection',\n noneResultsText: 'Aucun résultat pour {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected > 1) ? '{0} éléments sélectionnés' : '{0} élément sélectionné';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll > 1) ? 'Limite atteinte ({n} éléments max)' : 'Limite atteinte ({n} élément max)',\n (numGroup > 1) ? 'Limite du groupe atteinte ({n} éléments max)' : 'Limite du groupe atteinte ({n} élément max)'\n ];\n },\n multipleSeparator: ', ',\n selectAllText: 'Tout sélectionner',\n deselectAllText: 'Tout désélectionner'\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","multipleSeparator","selectAllText","deselectAllText"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,sBAClBC,gBAAiB,6BACjBC,kBAAmB,SAAUC,EAAaC,GACxC,OAAQD,EAAc,EAAK,wCAA8B,qCAC3D,EACAE,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACJD,EAAS,EAAK,2CAAuC,0CACrDC,EAAW,EAAK,qDAAiD,oDAEtE,EACAC,kBAAmB,KACnBC,cAAe,uBACfC,gBAAiB,6BAInB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-hr_HR.js b/docs/dist/js/i18n/defaults-hr_HR.js index bb5b10b..c6cdf76 100644 --- a/docs/dist/js/i18n/defaults-hr_HR.js +++ b/docs/dist/js/i18n/defaults-hr_HR.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: HR (Croatia) + * Region: HR (Croatia) + */ Selectpicker.setDefaults({ noneSelectedText: 'Odaberite stavku', noneResultsText: 'Nema rezultata pretrage {0}', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-hr_HR.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-hr_HR.js.map diff --git a/docs/dist/js/i18n/defaults-hr_HR.js.map b/docs/dist/js/i18n/defaults-hr_HR.js.map index f02df8e..4f2b99d 100644 --- a/docs/dist/js/i18n/defaults-hr_HR.js.map +++ b/docs/dist/js/i18n/defaults-hr_HR.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-hr_HR.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE;AACvC,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;AACjD,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE;AACpF,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG;AAChH,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;AAChI,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;AAClC,EAAE,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE;AACtC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-hr_HR.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Odaberite stavku',\n noneResultsText: 'Nema rezultata pretrage {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} stavka selektirana' : '{0} stavke selektirane';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit je postignut ({n} stvar maximalno)' : 'Limit je postignut ({n} stavke maksimalno)',\n (numGroup == 1) ? 'Grupni limit je postignut ({n} stvar maksimalno)' : 'Grupni limit je postignut ({n} stavke maksimalno)'\n ];\n },\n selectAllText: 'Selektiraj sve',\n deselectAllText: 'Deselektiraj sve',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-hr_HR.js","sources":["../../../virtual:js/i18n/defaults-hr_HR.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: HR (Croatia)\n * Region: HR (Croatia)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Odaberite stavku',\n noneResultsText: 'Nema rezultata pretrage {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} stavka selektirana' : '{0} stavke selektirane';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit je postignut ({n} stvar maximalno)' : 'Limit je postignut ({n} stavke maksimalno)',\n (numGroup == 1) ? 'Grupni limit je postignut ({n} stvar maksimalno)' : 'Grupni limit je postignut ({n} stavke maksimalno)'\n ];\n },\n selectAllText: 'Selektiraj sve',\n deselectAllText: 'Deselektiraj sve',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,kBAAkB;AACtC,EAAE,eAAe,EAAE,6BAA6B;AAChD,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,wBAAwB,GAAG,wBAAwB;AACnF,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,0CAA0C,GAAG,4CAA4C;AAC/G,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,kDAAkD,GAAG;AAC7E,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,gBAAgB;AACjC,EAAE,eAAe,EAAE,kBAAkB;AACrC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-hr_HR.min.js b/docs/dist/js/i18n/defaults-hr_HR.min.js index 35911a0..2677329 100644 --- a/docs/dist/js/i18n/defaults-hr_HR.min.js +++ b/docs/dist/js/i18n/defaults-hr_HR.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Odaberite stavku",noneResultsText:"Nema rezultata pretrage {0}",countSelectedText:function(e,t){return 1==e?"{0} stavka selektirana":"{0} stavke selektirane"},maxOptionsText:function(e,t){return[1==e?"Limit je postignut ({n} stvar maximalno)":"Limit je postignut ({n} stavke maksimalno)",1==t?"Grupni limit je postignut ({n} stvar maksimalno)":"Grupni limit je postignut ({n} stavke maksimalno)"]},selectAllText:"Selektiraj sve",deselectAllText:"Deselektiraj sve",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Odaberite stavku",noneResultsText:"Nema rezultata pretrage {0}",countSelectedText:function(e,t){return 1==e?"{0} stavka selektirana":"{0} stavke selektirane"},maxOptionsText:function(e,t){return[1==e?"Limit je postignut ({n} stvar maximalno)":"Limit je postignut ({n} stavke maksimalno)",1==t?"Grupni limit je postignut ({n} stvar maksimalno)":"Grupni limit je postignut ({n} stavke maksimalno)"]},selectAllText:"Selektiraj sve",deselectAllText:"Deselektiraj sve",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-hr_HR.min.js.map diff --git a/docs/dist/js/i18n/defaults-hr_HR.min.js.map b/docs/dist/js/i18n/defaults-hr_HR.min.js.map new file mode 100644 index 0000000..63a9332 --- /dev/null +++ b/docs/dist/js/i18n/defaults-hr_HR.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-hr_HR.min.js","sources":["../../../virtual:js/i18n/defaults-hr_HR.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: HR (Croatia)\n * Region: HR (Croatia)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Odaberite stavku',\n noneResultsText: 'Nema rezultata pretrage {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} stavka selektirana' : '{0} stavke selektirane';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit je postignut ({n} stvar maximalno)' : 'Limit je postignut ({n} stavke maksimalno)',\n (numGroup == 1) ? 'Grupni limit je postignut ({n} stvar maksimalno)' : 'Grupni limit je postignut ({n} stavke maksimalno)'\n ];\n },\n selectAllText: 'Selektiraj sve',\n deselectAllText: 'Deselektiraj sve',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,mBAClBC,gBAAiB,8BACjBC,kBAAmB,SAAUC,EAAaC,GACxC,OAAuB,GAAfD,EAAoB,yBAA2B,wBACzD,EACAE,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACM,GAAVD,EAAe,2CAA6C,6CAChD,GAAZC,EAAiB,mDAAqD,oDAE3E,EACAC,cAAe,iBACfC,gBAAiB,mBACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-hu_HU.js b/docs/dist/js/i18n/defaults-hu_HU.js index 4393d01..7e8bd8f 100644 --- a/docs/dist/js/i18n/defaults-hu_HU.js +++ b/docs/dist/js/i18n/defaults-hu_HU.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: HU (Hungarian) + * Region: HU (Hungary) + */ Selectpicker.setDefaults({ noneSelectedText: 'Válasszon!', noneResultsText: 'Nincs találat {0}', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-hu_HU.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-hu_HU.js.map diff --git a/docs/dist/js/i18n/defaults-hu_HU.js.map b/docs/dist/js/i18n/defaults-hu_HU.js.map index 2ce9d64..351082f 100644 --- a/docs/dist/js/i18n/defaults-hu_HU.js.map +++ b/docs/dist/js/i18n/defaults-hu_HU.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-hu_HU.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG;AACjC,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;AACvC,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;AAClC,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG;AACxC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;AACpD,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;AACxB,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;AAC/B,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-hu_HU.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Válasszon!',\n noneResultsText: 'Nincs találat {0}',\n countSelectedText: function (numSelected, numTotal) {\n return '{0} elem kiválasztva';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n 'Legfeljebb {n} elem választható',\n 'A csoportban legfeljebb {n} elem választható'\n ];\n },\n selectAllText: 'Mind',\n deselectAllText: 'Egyik sem',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-hu_HU.js","sources":["../../../virtual:js/i18n/defaults-hu_HU.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: HU (Hungarian)\n * Region: HU (Hungary)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Válasszon!',\n noneResultsText: 'Nincs találat {0}',\n countSelectedText: function (numSelected, numTotal) {\n return '{0} elem kiválasztva';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n 'Legfeljebb {n} elem választható',\n 'A csoportban legfeljebb {n} elem választható'\n ];\n },\n selectAllText: 'Mind',\n deselectAllText: 'Egyik sem',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,YAAY;AAChC,EAAE,eAAe,EAAE,mBAAmB;AACtC,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,sBAAsB;AACjC,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,iCAAiC;AACvC,MAAM;AACN,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,MAAM;AACvB,EAAE,eAAe,EAAE,WAAW;AAC9B,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-hu_HU.min.js b/docs/dist/js/i18n/defaults-hu_HU.min.js index 03707fc..f220fe0 100644 --- a/docs/dist/js/i18n/defaults-hu_HU.min.js +++ b/docs/dist/js/i18n/defaults-hu_HU.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"V\xe1lasszon!",noneResultsText:"Nincs tal\xe1lat {0}",countSelectedText:function(e,t){return"{0} elem kiv\xe1lasztva"},maxOptionsText:function(e,t){return["Legfeljebb {n} elem v\xe1laszthat\xf3","A csoportban legfeljebb {n} elem v\xe1laszthat\xf3"]},selectAllText:"Mind",deselectAllText:"Egyik sem",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"V\xe1lasszon!",noneResultsText:"Nincs tal\xe1lat {0}",countSelectedText:function(e,t){return"{0} elem kiv\xe1lasztva"},maxOptionsText:function(e,t){return["Legfeljebb {n} elem v\xe1laszthat\xf3","A csoportban legfeljebb {n} elem v\xe1laszthat\xf3"]},selectAllText:"Mind",deselectAllText:"Egyik sem",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-hu_HU.min.js.map diff --git a/docs/dist/js/i18n/defaults-hu_HU.min.js.map b/docs/dist/js/i18n/defaults-hu_HU.min.js.map new file mode 100644 index 0000000..726171e --- /dev/null +++ b/docs/dist/js/i18n/defaults-hu_HU.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-hu_HU.min.js","sources":["../../../virtual:js/i18n/defaults-hu_HU.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: HU (Hungarian)\n * Region: HU (Hungary)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Válasszon!',\n noneResultsText: 'Nincs találat {0}',\n countSelectedText: function (numSelected, numTotal) {\n return '{0} elem kiválasztva';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n 'Legfeljebb {n} elem választható',\n 'A csoportban legfeljebb {n} elem választható'\n ];\n },\n selectAllText: 'Mind',\n deselectAllText: 'Egyik sem',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,gBAClBC,gBAAiB,uBACjBC,kBAAmB,SAAUC,EAAaC,GACxC,MAAO,yBACT,EACAC,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACL,wCACA,qDAEJ,EACAC,cAAe,OACfC,gBAAiB,YACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-id_ID.js b/docs/dist/js/i18n/defaults-id_ID.js index e2766ff..0f53503 100644 --- a/docs/dist/js/i18n/defaults-id_ID.js +++ b/docs/dist/js/i18n/defaults-id_ID.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: ID (Indonesian; Bahasa Indonesia) + * Region: ID (Indonesia) + */ Selectpicker.setDefaults({ noneSelectedText: 'Tidak ada yang dipilih', noneResultsText: 'Tidak ada yang cocok {0}', @@ -35,6 +41,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-id_ID.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-id_ID.js.map diff --git a/docs/dist/js/i18n/defaults-id_ID.js.map b/docs/dist/js/i18n/defaults-id_ID.js.map index 6c6b347..1d78940 100644 --- a/docs/dist/js/i18n/defaults-id_ID.js.map +++ b/docs/dist/js/i18n/defaults-id_ID.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-id_ID.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;AAC7C,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;AAC9C,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;AACpC,EAAE,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;AAC1F,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE;AAC/B,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE;AACjC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-id_ID.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Tidak ada yang dipilih',\n noneResultsText: 'Tidak ada yang cocok {0}',\n countSelectedText: '{0} terpilih',\n maxOptionsText: ['Mencapai batas (maksimum {n})', 'Mencapai batas grup (maksimum {n})'],\n selectAllText: 'Pilih Semua',\n deselectAllText: 'Hapus Semua',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-id_ID.js","sources":["../../../virtual:js/i18n/defaults-id_ID.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: ID (Indonesian; Bahasa Indonesia)\n * Region: ID (Indonesia)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Tidak ada yang dipilih',\n noneResultsText: 'Tidak ada yang cocok {0}',\n countSelectedText: '{0} terpilih',\n maxOptionsText: ['Mencapai batas (maksimum {n})', 'Mencapai batas grup (maksimum {n})'],\n selectAllText: 'Pilih Semua',\n deselectAllText: 'Hapus Semua',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,wBAAwB;AAC5C,EAAE,eAAe,EAAE,0BAA0B;AAC7C,EAAE,iBAAiB,EAAE,cAAc;AACnC,EAAE,cAAc,EAAE,CAAC,+BAA+B,EAAE,oCAAoC,CAAC;AACzF,EAAE,aAAa,EAAE,aAAa;AAC9B,EAAE,eAAe,EAAE,aAAa;AAChC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-id_ID.min.js b/docs/dist/js/i18n/defaults-id_ID.min.js index 21ed6a8..a7acc19 100644 --- a/docs/dist/js/i18n/defaults-id_ID.min.js +++ b/docs/dist/js/i18n/defaults-id_ID.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Tidak ada yang dipilih",noneResultsText:"Tidak ada yang cocok {0}",countSelectedText:"{0} terpilih",maxOptionsText:["Mencapai batas (maksimum {n})","Mencapai batas grup (maksimum {n})"],selectAllText:"Pilih Semua",deselectAllText:"Hapus Semua",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Tidak ada yang dipilih",noneResultsText:"Tidak ada yang cocok {0}",countSelectedText:"{0} terpilih",maxOptionsText:["Mencapai batas (maksimum {n})","Mencapai batas grup (maksimum {n})"],selectAllText:"Pilih Semua",deselectAllText:"Hapus Semua",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-id_ID.min.js.map diff --git a/docs/dist/js/i18n/defaults-id_ID.min.js.map b/docs/dist/js/i18n/defaults-id_ID.min.js.map new file mode 100644 index 0000000..42abf77 --- /dev/null +++ b/docs/dist/js/i18n/defaults-id_ID.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-id_ID.min.js","sources":["../../../virtual:js/i18n/defaults-id_ID.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: ID (Indonesian; Bahasa Indonesia)\n * Region: ID (Indonesia)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Tidak ada yang dipilih',\n noneResultsText: 'Tidak ada yang cocok {0}',\n countSelectedText: '{0} terpilih',\n maxOptionsText: ['Mencapai batas (maksimum {n})', 'Mencapai batas grup (maksimum {n})'],\n selectAllText: 'Pilih Semua',\n deselectAllText: 'Hapus Semua',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,yBAClBC,gBAAiB,2BACjBC,kBAAmB,eACnBC,eAAgB,CAAC,gCAAiC,sCAClDC,cAAe,cACfC,gBAAiB,cACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-it_IT.js b/docs/dist/js/i18n/defaults-it_IT.js index 80841f2..47e81f0 100644 --- a/docs/dist/js/i18n/defaults-it_IT.js +++ b/docs/dist/js/i18n/defaults-it_IT.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,14 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: IT (Italian; italiano) + * Region: IT (Italy; Italia) + * Author: Michele Beltrame + */ Selectpicker.setDefaults({ noneSelectedText: 'Nessuna selezione', noneResultsText: 'Nessun risultato per {0}', @@ -37,6 +44,6 @@ Selectpicker.setDefaults({ deselectAllText: 'Deseleziona Tutto' }); -})); -//# sourceMappingURL=defaults-it_IT.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-it_IT.js.map diff --git a/docs/dist/js/i18n/defaults-it_IT.js.map b/docs/dist/js/i18n/defaults-it_IT.js.map index c7e1beb..dcbda64 100644 --- a/docs/dist/js/i18n/defaults-it_IT.js.map +++ b/docs/dist/js/i18n/defaults-it_IT.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-it_IT.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE;AACxC,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;AAC9C,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;AACpF,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI;AAChI,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE;AAC1B,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE;AACnC,EAAE,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC;AACtC,GAAG","file":"defaults-it_IT.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Nessuna selezione',\n noneResultsText: 'Nessun risultato per {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? 'Selezionato {0} di {1}' : 'Selezionati {0} di {1}';\n },\n maxOptionsText: ['Limite raggiunto ({n} {var} max)', 'Limite del gruppo raggiunto ({n} {var} max)', ['elementi', 'elemento']],\n multipleSeparator: ', ',\n selectAllText: 'Seleziona Tutto',\n deselectAllText: 'Deseleziona Tutto'\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-it_IT.js","sources":["../../../virtual:js/i18n/defaults-it_IT.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: IT (Italian; italiano)\n * Region: IT (Italy; Italia)\n * Author: Michele Beltrame \n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Nessuna selezione',\n noneResultsText: 'Nessun risultato per {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? 'Selezionato {0} di {1}' : 'Selezionati {0} di {1}';\n },\n maxOptionsText: ['Limite raggiunto ({n} {var} max)', 'Limite del gruppo raggiunto ({n} {var} max)', ['elementi', 'elemento']],\n multipleSeparator: ', ',\n selectAllText: 'Seleziona Tutto',\n deselectAllText: 'Deseleziona Tutto'\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,mBAAmB;AACvC,EAAE,eAAe,EAAE,0BAA0B;AAC7C,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,wBAAwB,GAAG,wBAAwB;AACnF,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,CAAC,kCAAkC,EAAE,6CAA6C,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAC/H,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,aAAa,EAAE,iBAAiB;AAClC,EAAE,eAAe,EAAE;AACnB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-it_IT.min.js b/docs/dist/js/i18n/defaults-it_IT.min.js index cde41de..993cbf1 100644 --- a/docs/dist/js/i18n/defaults-it_IT.min.js +++ b/docs/dist/js/i18n/defaults-it_IT.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Nessuna selezione",noneResultsText:"Nessun risultato per {0}",countSelectedText:function(e,t){return 1==e?"Selezionato {0} di {1}":"Selezionati {0} di {1}"},maxOptionsText:["Limite raggiunto ({n} {var} max)","Limite del gruppo raggiunto ({n} {var} max)",["elementi","elemento"]],multipleSeparator:", ",selectAllText:"Seleziona Tutto",deselectAllText:"Deseleziona Tutto"})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Nessuna selezione",noneResultsText:"Nessun risultato per {0}",countSelectedText:function(e,t){return 1==e?"Selezionato {0} di {1}":"Selezionati {0} di {1}"},maxOptionsText:["Limite raggiunto ({n} {var} max)","Limite del gruppo raggiunto ({n} {var} max)",["elementi","elemento"]],multipleSeparator:", ",selectAllText:"Seleziona Tutto",deselectAllText:"Deseleziona Tutto"})}); +//# sourceMappingURL=defaults-it_IT.min.js.map diff --git a/docs/dist/js/i18n/defaults-it_IT.min.js.map b/docs/dist/js/i18n/defaults-it_IT.min.js.map new file mode 100644 index 0000000..902a942 --- /dev/null +++ b/docs/dist/js/i18n/defaults-it_IT.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-it_IT.min.js","sources":["../../../virtual:js/i18n/defaults-it_IT.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: IT (Italian; italiano)\n * Region: IT (Italy; Italia)\n * Author: Michele Beltrame \n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Nessuna selezione',\n noneResultsText: 'Nessun risultato per {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? 'Selezionato {0} di {1}' : 'Selezionati {0} di {1}';\n },\n maxOptionsText: ['Limite raggiunto ({n} {var} max)', 'Limite del gruppo raggiunto ({n} {var} max)', ['elementi', 'elemento']],\n multipleSeparator: ', ',\n selectAllText: 'Seleziona Tutto',\n deselectAllText: 'Deseleziona Tutto'\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","multipleSeparator","selectAllText","deselectAllText"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GASZK,aAAaC,YAAY,CACvBC,iBAAkB,oBAClBC,gBAAiB,2BACjBC,kBAAmB,SAAUC,EAAaC,GACxC,OAAuB,GAAfD,EAAoB,yBAA2B,wBACzD,EACAE,eAAgB,CAAC,mCAAoC,8CAA+C,CAAC,WAAY,aACjHC,kBAAmB,KACnBC,cAAe,kBACfC,gBAAiB,qBAInB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-ja_JP.js b/docs/dist/js/i18n/defaults-ja_JP.js index 424d24a..8d7fe23 100644 --- a/docs/dist/js/i18n/defaults-ja_JP.js +++ b/docs/dist/js/i18n/defaults-ja_JP.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,14 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: JA (Japanese; 日本語) + * Region: JP (Japan) + * Author: Richard Snijders (Flaxis) + */ Selectpicker.setDefaults({ noneSelectedText: '選択されていません', noneResultsText: '\'{0}\'は見つかりません', @@ -35,6 +42,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-ja_JP.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-ja_JP.js.map diff --git a/docs/dist/js/i18n/defaults-ja_JP.js.map b/docs/dist/js/i18n/defaults-ja_JP.js.map index c93402e..93feb7a 100644 --- a/docs/dist/js/i18n/defaults-ja_JP.js.map +++ b/docs/dist/js/i18n/defaults-ja_JP.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-ja_JP.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,YAAY;AAChC,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,aAAa;AACrC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;AACnC,EAAE,cAAc,CAAC,CAAC,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS;AAClG,EAAE,aAAa,CAAC,CAAC,OAAO;AACxB,EAAE,eAAe,CAAC,CAAC,SAAS;AAC5B,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-ja_JP.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: '選択されていません',\n noneResultsText: '\\'{0}\\'は見つかりません',\n countSelectedText: '{0}/{1} 選択中',\n maxOptionsText: ['選択上限数を超えています(最大{n}{var})', 'グループの選択上限数を超えています(最大{n}{var})', ['アイテム', 'アイテム']],\n selectAllText: '全て選択',\n deselectAllText: '選択をクリア',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-ja_JP.js","sources":["../../../virtual:js/i18n/defaults-ja_JP.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: JA (Japanese; 日本語)\n * Region: JP (Japan)\n * Author: Richard Snijders (Flaxis)\n */\nSelectpicker.setDefaults({\n noneSelectedText: '選択されていません',\n noneResultsText: '\\'{0}\\'は見つかりません',\n countSelectedText: '{0}/{1} 選択中',\n maxOptionsText: ['選択上限数を超えています(最大{n}{var})', 'グループの選択上限数を超えています(最大{n}{var})', ['アイテム', 'アイテム']],\n selectAllText: '全て選択',\n deselectAllText: '選択をクリア',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,WAAW;AAC/B,EAAE,eAAe,EAAE,iBAAiB;AACpC,EAAE,iBAAiB,EAAE,aAAa;AAClC,EAAE,cAAc,EAAE,CAAC,0BAA0B,EAAE,+BAA+B,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACjG,EAAE,aAAa,EAAE,MAAM;AACvB,EAAE,eAAe,EAAE,QAAQ;AAC3B,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-ja_JP.min.js b/docs/dist/js/i18n/defaults-ja_JP.min.js index 67a8359..17960cd 100644 --- a/docs/dist/js/i18n/defaults-ja_JP.min.js +++ b/docs/dist/js/i18n/defaults-ja_JP.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093",noneResultsText:"'{0}'\u306f\u898b\u3064\u304b\u308a\u307e\u305b\u3093",countSelectedText:"{0}/{1} \u9078\u629e\u4e2d",maxOptionsText:["\u9078\u629e\u4e0a\u9650\u6570\u3092\u8d85\u3048\u3066\u3044\u307e\u3059(\u6700\u5927{n}{var})","\u30b0\u30eb\u30fc\u30d7\u306e\u9078\u629e\u4e0a\u9650\u6570\u3092\u8d85\u3048\u3066\u3044\u307e\u3059(\u6700\u5927{n}{var})",["\u30a2\u30a4\u30c6\u30e0","\u30a2\u30a4\u30c6\u30e0"]],selectAllText:"\u5168\u3066\u9078\u629e",deselectAllText:"\u9078\u629e\u3092\u30af\u30ea\u30a2",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093",noneResultsText:"'{0}'\u306f\u898b\u3064\u304b\u308a\u307e\u305b\u3093",countSelectedText:"{0}/{1} \u9078\u629e\u4e2d",maxOptionsText:["\u9078\u629e\u4e0a\u9650\u6570\u3092\u8d85\u3048\u3066\u3044\u307e\u3059(\u6700\u5927{n}{var})","\u30b0\u30eb\u30fc\u30d7\u306e\u9078\u629e\u4e0a\u9650\u6570\u3092\u8d85\u3048\u3066\u3044\u307e\u3059(\u6700\u5927{n}{var})",["\u30a2\u30a4\u30c6\u30e0","\u30a2\u30a4\u30c6\u30e0"]],selectAllText:"\u5168\u3066\u9078\u629e",deselectAllText:"\u9078\u629e\u3092\u30af\u30ea\u30a2",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-ja_JP.min.js.map diff --git a/docs/dist/js/i18n/defaults-ja_JP.min.js.map b/docs/dist/js/i18n/defaults-ja_JP.min.js.map new file mode 100644 index 0000000..b44536b --- /dev/null +++ b/docs/dist/js/i18n/defaults-ja_JP.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-ja_JP.min.js","sources":["../../../virtual:js/i18n/defaults-ja_JP.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: JA (Japanese; 日本語)\n * Region: JP (Japan)\n * Author: Richard Snijders (Flaxis)\n */\nSelectpicker.setDefaults({\n noneSelectedText: '選択されていません',\n noneResultsText: '\\'{0}\\'は見つかりません',\n countSelectedText: '{0}/{1} 選択中',\n maxOptionsText: ['選択上限数を超えています(最大{n}{var})', 'グループの選択上限数を超えています(最大{n}{var})', ['アイテム', 'アイテム']],\n selectAllText: '全て選択',\n deselectAllText: '選択をクリア',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GASZK,aAAaC,YAAY,CACvBC,iBAAkB,yDAClBC,gBAAiB,wDACjBC,kBAAmB,6BACnBC,eAAgB,CAAC,iGAA4B,+HAAiC,CAAC,2BAAQ,6BACvFC,cAAe,2BACfC,gBAAiB,uCACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-kh_KM.js b/docs/dist/js/i18n/defaults-kh_KM.js index a775459..83c9867 100644 --- a/docs/dist/js/i18n/defaults-kh_KM.js +++ b/docs/dist/js/i18n/defaults-kh_KM.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: KH (Khmer) + * Region: kM (Khmer) + */ Selectpicker.setDefaults({ noneSelectedText: 'មិនមានអ្វីបានជ្រើសរើស', noneResultsText: 'មិនមានលទ្ធផល {0}', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-kh_KM.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-kh_KM.js.map diff --git a/docs/dist/js/i18n/defaults-kh_KM.js.map b/docs/dist/js/i18n/defaults-kh_KM.js.map index 54cb9ed..c0183e0 100644 --- a/docs/dist/js/i18n/defaults-kh_KM.js.map +++ b/docs/dist/js/i18n/defaults-kh_KM.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-kh_KM.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,wBAAwB;AAC5C,EAAE,eAAe,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG;AACtC,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB;AAC9E,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;AAChG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;AAC3G,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,mBAAmB;AACpC,EAAE,eAAe,CAAC,CAAC,qBAAqB;AACxC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-kh_KM.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'មិនមានអ្វីបានជ្រើសរើស',\n noneResultsText: 'មិនមានលទ្ធផល {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} ធាតុដែលបានជ្រើស' : '{0} ធាតុដែលបានជ្រើស';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'ឈានដល់ដែនកំណត់ ( {n} ធាតុអតិបរមា)' : 'អតិបរមាឈានដល់ដែនកំណត់ ( {n} ធាតុ)',\n (numGroup == 1) ? 'ដែនកំណត់ក្រុមឈានដល់ ( {n} អតិបរមាធាតុ)' : 'អតិបរមាក្រុមឈានដល់ដែនកំណត់ ( {n} ធាតុ)'\n ];\n },\n selectAllText: 'ជ្រើស​យក​ទាំងអស់',\n deselectAllText: 'មិនជ្រើស​យក​ទាំងអស',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-kh_KM.js","sources":["../../../virtual:js/i18n/defaults-kh_KM.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: KH (Khmer)\n * Region: kM (Khmer)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'មិនមានអ្វីបានជ្រើសរើស',\n noneResultsText: 'មិនមានលទ្ធផល {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} ធាតុដែលបានជ្រើស' : '{0} ធាតុដែលបានជ្រើស';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'ឈានដល់ដែនកំណត់ ( {n} ធាតុអតិបរមា)' : 'អតិបរមាឈានដល់ដែនកំណត់ ( {n} ធាតុ)',\n (numGroup == 1) ? 'ដែនកំណត់ក្រុមឈានដល់ ( {n} អតិបរមាធាតុ)' : 'អតិបរមាក្រុមឈានដល់ដែនកំណត់ ( {n} ធាតុ)'\n ];\n },\n selectAllText: 'ជ្រើស​យក​ទាំងអស់',\n deselectAllText: 'មិនជ្រើស​យក​ទាំងអស',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,uBAAuB;AAC3C,EAAE,eAAe,EAAE,kBAAkB;AACrC,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,qBAAqB,GAAG,qBAAqB;AAC7E,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,mCAAmC,GAAG,mCAAmC;AAC/F,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,wCAAwC,GAAG;AACnE,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,kBAAkB;AACnC,EAAE,eAAe,EAAE,oBAAoB;AACvC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-kh_KM.min.js b/docs/dist/js/i18n/defaults-kh_KM.min.js index da30937..00e5339 100644 --- a/docs/dist/js/i18n/defaults-kh_KM.min.js +++ b/docs/dist/js/i18n/defaults-kh_KM.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"\u1798\u17b7\u1793\u1798\u17b6\u1793\u17a2\u17d2\u179c\u17b8\u1794\u17b6\u1793\u1787\u17d2\u179a\u17be\u179f\u179a\u17be\u179f",noneResultsText:"\u1798\u17b7\u1793\u1798\u17b6\u1793\u179b\u1791\u17d2\u1792\u1795\u179b {0}",countSelectedText:function(e,t){return"{0} \u1792\u17b6\u178f\u17bb\u178a\u17c2\u179b\u1794\u17b6\u1793\u1787\u17d2\u179a\u17be\u179f"},maxOptionsText:function(e,t){return[1==e?"\u1788\u17b6\u1793\u178a\u179b\u17cb\u178a\u17c2\u1793\u1780\u17c6\u178e\u178f\u17cb ( {n} \u1792\u17b6\u178f\u17bb\u17a2\u178f\u17b7\u1794\u179a\u1798\u17b6)":"\u17a2\u178f\u17b7\u1794\u179a\u1798\u17b6\u1788\u17b6\u1793\u178a\u179b\u17cb\u178a\u17c2\u1793\u1780\u17c6\u178e\u178f\u17cb ( {n} \u1792\u17b6\u178f\u17bb)",1==t?"\u178a\u17c2\u1793\u1780\u17c6\u178e\u178f\u17cb\u1780\u17d2\u179a\u17bb\u1798\u1788\u17b6\u1793\u178a\u179b\u17cb ( {n} \u17a2\u178f\u17b7\u1794\u179a\u1798\u17b6\u1792\u17b6\u178f\u17bb)":"\u17a2\u178f\u17b7\u1794\u179a\u1798\u17b6\u1780\u17d2\u179a\u17bb\u1798\u1788\u17b6\u1793\u178a\u179b\u17cb\u178a\u17c2\u1793\u1780\u17c6\u178e\u178f\u17cb ( {n} \u1792\u17b6\u178f\u17bb)"]},selectAllText:"\u1787\u17d2\u179a\u17be\u179f\u200b\u1799\u1780\u200b\u1791\u17b6\u17c6\u1784\u17a2\u179f\u17cb",deselectAllText:"\u1798\u17b7\u1793\u1787\u17d2\u179a\u17be\u179f\u200b\u1799\u1780\u200b\u1791\u17b6\u17c6\u1784\u17a2\u179f",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"\u1798\u17b7\u1793\u1798\u17b6\u1793\u17a2\u17d2\u179c\u17b8\u1794\u17b6\u1793\u1787\u17d2\u179a\u17be\u179f\u179a\u17be\u179f",noneResultsText:"\u1798\u17b7\u1793\u1798\u17b6\u1793\u179b\u1791\u17d2\u1792\u1795\u179b {0}",countSelectedText:function(e,t){return"{0} \u1792\u17b6\u178f\u17bb\u178a\u17c2\u179b\u1794\u17b6\u1793\u1787\u17d2\u179a\u17be\u179f"},maxOptionsText:function(e,t){return[1==e?"\u1788\u17b6\u1793\u178a\u179b\u17cb\u178a\u17c2\u1793\u1780\u17c6\u178e\u178f\u17cb ( {n} \u1792\u17b6\u178f\u17bb\u17a2\u178f\u17b7\u1794\u179a\u1798\u17b6)":"\u17a2\u178f\u17b7\u1794\u179a\u1798\u17b6\u1788\u17b6\u1793\u178a\u179b\u17cb\u178a\u17c2\u1793\u1780\u17c6\u178e\u178f\u17cb ( {n} \u1792\u17b6\u178f\u17bb)",1==t?"\u178a\u17c2\u1793\u1780\u17c6\u178e\u178f\u17cb\u1780\u17d2\u179a\u17bb\u1798\u1788\u17b6\u1793\u178a\u179b\u17cb ( {n} \u17a2\u178f\u17b7\u1794\u179a\u1798\u17b6\u1792\u17b6\u178f\u17bb)":"\u17a2\u178f\u17b7\u1794\u179a\u1798\u17b6\u1780\u17d2\u179a\u17bb\u1798\u1788\u17b6\u1793\u178a\u179b\u17cb\u178a\u17c2\u1793\u1780\u17c6\u178e\u178f\u17cb ( {n} \u1792\u17b6\u178f\u17bb)"]},selectAllText:"\u1787\u17d2\u179a\u17be\u179f\u200b\u1799\u1780\u200b\u1791\u17b6\u17c6\u1784\u17a2\u179f\u17cb",deselectAllText:"\u1798\u17b7\u1793\u1787\u17d2\u179a\u17be\u179f\u200b\u1799\u1780\u200b\u1791\u17b6\u17c6\u1784\u17a2\u179f",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-kh_KM.min.js.map diff --git a/docs/dist/js/i18n/defaults-kh_KM.min.js.map b/docs/dist/js/i18n/defaults-kh_KM.min.js.map new file mode 100644 index 0000000..0aaedad --- /dev/null +++ b/docs/dist/js/i18n/defaults-kh_KM.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-kh_KM.min.js","sources":["../../../virtual:js/i18n/defaults-kh_KM.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: KH (Khmer)\n * Region: kM (Khmer)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'មិនមានអ្វីបានជ្រើសរើស',\n noneResultsText: 'មិនមានលទ្ធផល {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} ធាតុដែលបានជ្រើស' : '{0} ធាតុដែលបានជ្រើស';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'ឈានដល់ដែនកំណត់ ( {n} ធាតុអតិបរមា)' : 'អតិបរមាឈានដល់ដែនកំណត់ ( {n} ធាតុ)',\n (numGroup == 1) ? 'ដែនកំណត់ក្រុមឈានដល់ ( {n} អតិបរមាធាតុ)' : 'អតិបរមាក្រុមឈានដល់ដែនកំណត់ ( {n} ធាតុ)'\n ];\n },\n selectAllText: 'ជ្រើស​យក​ទាំងអស់',\n deselectAllText: 'មិនជ្រើស​យក​ទាំងអស',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,iIAClBC,gBAAiB,+EACjBC,kBAAmB,SAAUC,EAAaC,GACxC,MAA4B,gGAC9B,EACAC,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACM,GAAVD,EAAe,iKAAsC,iKACzC,GAAZC,EAAiB,+LAA2C,+LAEjE,EACAC,cAAe,mGACfC,gBAAiB,+GACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-ko_KR.js b/docs/dist/js/i18n/defaults-ko_KR.js index 1d7ef99..5cf6b70 100644 --- a/docs/dist/js/i18n/defaults-ko_KR.js +++ b/docs/dist/js/i18n/defaults-ko_KR.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: KO (Korean) + * Region: KR (South Korea) + */ Selectpicker.setDefaults({ noneSelectedText: '항목을 선택해주세요', noneResultsText: '{0} 검색 결과가 없습니다', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-ko_KR.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-ko_KR.js.map diff --git a/docs/dist/js/i18n/defaults-ko_KR.js.map b/docs/dist/js/i18n/defaults-ko_KR.js.map index 085027d..db6ccbd 100644 --- a/docs/dist/js/i18n/defaults-ko_KR.js.map +++ b/docs/dist/js/i18n/defaults-ko_KR.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-ko_KR.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,QAAQ;AACjC,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM;AACrC,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS;AAC3B,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO;AACxB,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM;AAC9B,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,OAAO;AACxB,EAAE,eAAe,CAAC,CAAC,OAAO;AAC1B,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-ko_KR.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: '항목을 선택해주세요',\n noneResultsText: '{0} 검색 결과가 없습니다',\n countSelectedText: function (numSelected, numTotal) {\n return '{0}개를 선택하였습니다';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n '{n}개까지 선택 가능합니다',\n '해당 그룹은 {n}개까지 선택 가능합니다'\n ];\n },\n selectAllText: '전체선택',\n deselectAllText: '전체해제',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-ko_KR.js","sources":["../../../virtual:js/i18n/defaults-ko_KR.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: KO (Korean)\n * Region: KR (South Korea)\n */\nSelectpicker.setDefaults({\n noneSelectedText: '항목을 선택해주세요',\n noneResultsText: '{0} 검색 결과가 없습니다',\n countSelectedText: function (numSelected, numTotal) {\n return '{0}개를 선택하였습니다';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n '{n}개까지 선택 가능합니다',\n '해당 그룹은 {n}개까지 선택 가능합니다'\n ];\n },\n selectAllText: '전체선택',\n deselectAllText: '전체해제',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,YAAY;AAChC,EAAE,eAAe,EAAE,iBAAiB;AACpC,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,eAAe;AAC1B,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,iBAAiB;AACvB,MAAM;AACN,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,MAAM;AACvB,EAAE,eAAe,EAAE,MAAM;AACzB,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-ko_KR.min.js b/docs/dist/js/i18n/defaults-ko_KR.min.js index 30f0c4b..c258984 100644 --- a/docs/dist/js/i18n/defaults-ko_KR.min.js +++ b/docs/dist/js/i18n/defaults-ko_KR.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"\ud56d\ubaa9\uc744 \uc120\ud0dd\ud574\uc8fc\uc138\uc694",noneResultsText:"{0} \uac80\uc0c9 \uacb0\uacfc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4",countSelectedText:function(e,t){return"{0}\uac1c\ub97c \uc120\ud0dd\ud558\uc600\uc2b5\ub2c8\ub2e4"},maxOptionsText:function(e,t){return["{n}\uac1c\uae4c\uc9c0 \uc120\ud0dd \uac00\ub2a5\ud569\ub2c8\ub2e4","\ud574\ub2f9 \uadf8\ub8f9\uc740 {n}\uac1c\uae4c\uc9c0 \uc120\ud0dd \uac00\ub2a5\ud569\ub2c8\ub2e4"]},selectAllText:"\uc804\uccb4\uc120\ud0dd",deselectAllText:"\uc804\uccb4\ud574\uc81c",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"\ud56d\ubaa9\uc744 \uc120\ud0dd\ud574\uc8fc\uc138\uc694",noneResultsText:"{0} \uac80\uc0c9 \uacb0\uacfc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4",countSelectedText:function(e,t){return"{0}\uac1c\ub97c \uc120\ud0dd\ud558\uc600\uc2b5\ub2c8\ub2e4"},maxOptionsText:function(e,t){return["{n}\uac1c\uae4c\uc9c0 \uc120\ud0dd \uac00\ub2a5\ud569\ub2c8\ub2e4","\ud574\ub2f9 \uadf8\ub8f9\uc740 {n}\uac1c\uae4c\uc9c0 \uc120\ud0dd \uac00\ub2a5\ud569\ub2c8\ub2e4"]},selectAllText:"\uc804\uccb4\uc120\ud0dd",deselectAllText:"\uc804\uccb4\ud574\uc81c",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-ko_KR.min.js.map diff --git a/docs/dist/js/i18n/defaults-ko_KR.min.js.map b/docs/dist/js/i18n/defaults-ko_KR.min.js.map new file mode 100644 index 0000000..6d9416e --- /dev/null +++ b/docs/dist/js/i18n/defaults-ko_KR.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-ko_KR.min.js","sources":["../../../virtual:js/i18n/defaults-ko_KR.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: KO (Korean)\n * Region: KR (South Korea)\n */\nSelectpicker.setDefaults({\n noneSelectedText: '항목을 선택해주세요',\n noneResultsText: '{0} 검색 결과가 없습니다',\n countSelectedText: function (numSelected, numTotal) {\n return '{0}개를 선택하였습니다';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n '{n}개까지 선택 가능합니다',\n '해당 그룹은 {n}개까지 선택 가능합니다'\n ];\n },\n selectAllText: '전체선택',\n deselectAllText: '전체해제',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,0DAClBC,gBAAiB,+DACjBC,kBAAmB,SAAUC,EAAaC,GACxC,MAAO,4DACT,EACAC,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACL,oEACA,oGAEJ,EACAC,cAAe,2BACfC,gBAAiB,2BACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-lt_LT.js b/docs/dist/js/i18n/defaults-lt_LT.js index 51037da..2a37f04 100644 --- a/docs/dist/js/i18n/defaults-lt_LT.js +++ b/docs/dist/js/i18n/defaults-lt_LT.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: LT (Lithuanian) + * Region: LT (Lithuania) + */ Selectpicker.setDefaults({ noneSelectedText: 'Niekas nepasirinkta', noneResultsText: 'Niekas nesutapo su {0}', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-lt_LT.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-lt_LT.js.map diff --git a/docs/dist/js/i18n/defaults-lt_LT.js.map b/docs/dist/js/i18n/defaults-lt_LT.js.map index 420a88b..8e4fe4c 100644 --- a/docs/dist/js/i18n/defaults-lt_LT.js.map +++ b/docs/dist/js/i18n/defaults-lt_LT.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-lt_LT.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE;AAC1C,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;AAC5C,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE;AAC7F,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,WAAW,GAAG;AACpH,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE;AACnI,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE;AACpC,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE;AACnC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-lt_LT.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Niekas nepasirinkta',\n noneResultsText: 'Niekas nesutapo su {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} elementas pasirinktas' : '{0} elementai(-ų) pasirinkta';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Pasiekta riba ({n} elementas daugiausiai)' : 'Riba pasiekta ({n} elementai(-ų) daugiausiai)',\n (numGroup == 1) ? 'Grupės riba pasiekta ({n} elementas daugiausiai)' : 'Grupės riba pasiekta ({n} elementai(-ų) daugiausiai)'\n ];\n },\n selectAllText: 'Pasirinkti visus',\n deselectAllText: 'Atmesti visus',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-lt_LT.js","sources":["../../../virtual:js/i18n/defaults-lt_LT.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: LT (Lithuanian)\n * Region: LT (Lithuania)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Niekas nepasirinkta',\n noneResultsText: 'Niekas nesutapo su {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} elementas pasirinktas' : '{0} elementai(-ų) pasirinkta';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Pasiekta riba ({n} elementas daugiausiai)' : 'Riba pasiekta ({n} elementai(-ų) daugiausiai)',\n (numGroup == 1) ? 'Grupės riba pasiekta ({n} elementas daugiausiai)' : 'Grupės riba pasiekta ({n} elementai(-ų) daugiausiai)'\n ];\n },\n selectAllText: 'Pasirinkti visus',\n deselectAllText: 'Atmesti visus',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,qBAAqB;AACzC,EAAE,eAAe,EAAE,wBAAwB;AAC3C,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,2BAA2B,GAAG,8BAA8B;AAC5F,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,2CAA2C,GAAG,+CAA+C;AACnH,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,kDAAkD,GAAG;AAC7E,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,kBAAkB;AACnC,EAAE,eAAe,EAAE,eAAe;AAClC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-lt_LT.min.js b/docs/dist/js/i18n/defaults-lt_LT.min.js index 1adfb41..2ba2844 100644 --- a/docs/dist/js/i18n/defaults-lt_LT.min.js +++ b/docs/dist/js/i18n/defaults-lt_LT.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Niekas nepasirinkta",noneResultsText:"Niekas nesutapo su {0}",countSelectedText:function(e,t){return 1==e?"{0} elementas pasirinktas":"{0} elementai(-\u0173) pasirinkta"},maxOptionsText:function(e,t){return[1==e?"Pasiekta riba ({n} elementas daugiausiai)":"Riba pasiekta ({n} elementai(-\u0173) daugiausiai)",1==t?"Grup\u0117s riba pasiekta ({n} elementas daugiausiai)":"Grup\u0117s riba pasiekta ({n} elementai(-\u0173) daugiausiai)"]},selectAllText:"Pasirinkti visus",deselectAllText:"Atmesti visus",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var i;try{i=require("bootstrap")}catch(e){i=void 0}module.exports=e(i)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Niekas nepasirinkta",noneResultsText:"Niekas nesutapo su {0}",countSelectedText:function(e,i){return 1==e?"{0} elementas pasirinktas":"{0} elementai(-\u0173) pasirinkta"},maxOptionsText:function(e,i){return[1==e?"Pasiekta riba ({n} elementas daugiausiai)":"Riba pasiekta ({n} elementai(-\u0173) daugiausiai)",1==i?"Grup\u0117s riba pasiekta ({n} elementas daugiausiai)":"Grup\u0117s riba pasiekta ({n} elementai(-\u0173) daugiausiai)"]},selectAllText:"Pasirinkti visus",deselectAllText:"Atmesti visus",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-lt_LT.min.js.map diff --git a/docs/dist/js/i18n/defaults-lt_LT.min.js.map b/docs/dist/js/i18n/defaults-lt_LT.min.js.map new file mode 100644 index 0000000..74b5ff5 --- /dev/null +++ b/docs/dist/js/i18n/defaults-lt_LT.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-lt_LT.min.js","sources":["../../../virtual:js/i18n/defaults-lt_LT.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: LT (Lithuanian)\n * Region: LT (Lithuania)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Niekas nepasirinkta',\n noneResultsText: 'Niekas nesutapo su {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} elementas pasirinktas' : '{0} elementai(-ų) pasirinkta';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Pasiekta riba ({n} elementas daugiausiai)' : 'Riba pasiekta ({n} elementai(-ų) daugiausiai)',\n (numGroup == 1) ? 'Grupės riba pasiekta ({n} elementas daugiausiai)' : 'Grupės riba pasiekta ({n} elementai(-ų) daugiausiai)'\n ];\n },\n selectAllText: 'Pasirinkti visus',\n deselectAllText: 'Atmesti visus',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,sBAClBC,gBAAiB,yBACjBC,kBAAmB,SAAUC,EAAaC,GACxC,OAAuB,GAAfD,EAAoB,4BAA8B,mCAC5D,EACAE,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACM,GAAVD,EAAe,4CAA8C,qDACjD,GAAZC,EAAiB,wDAAqD,iEAE3E,EACAC,cAAe,mBACfC,gBAAiB,gBACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-lv_LV.js b/docs/dist/js/i18n/defaults-lv_LV.js index 87eaab4..32fcf70 100644 --- a/docs/dist/js/i18n/defaults-lv_LV.js +++ b/docs/dist/js/i18n/defaults-lv_LV.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: LV (Latvian) + * Region: LV (Latvia) + */ Selectpicker.setDefaults({ noneSelectedText: 'Nekas nav atzīmēts', noneResultsText: 'Nav neviena rezultāta {0}', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-lv_LV.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-lv_LV.js.map diff --git a/docs/dist/js/i18n/defaults-lv_LV.js.map b/docs/dist/js/i18n/defaults-lv_LV.js.map index 552c325..74c2d11 100644 --- a/docs/dist/js/i18n/defaults-lv_LV.js.map +++ b/docs/dist/js/i18n/defaults-lv_LV.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-lv_LV.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;AACzC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;AAC/C,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;AAClF,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,GAAG;AAChH,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE;AAC/H,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AAChC,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;AACvC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-lv_LV.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Nekas nav atzīmēts',\n noneResultsText: 'Nav neviena rezultāta {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} ieraksts atzīmēts' : '{0} ieraksti atzīmēts';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Sasniegts limits ({n} ieraksts maksimums)' : 'Sasniegts limits ({n} ieraksti maksimums)',\n (numGroup == 1) ? 'Sasniegts grupas limits ({n} ieraksts maksimums)' : 'Sasniegts grupas limits ({n} ieraksti maksimums)'\n ];\n },\n selectAllText: 'Atzīmēt visu',\n deselectAllText: 'Neatzīmēt nevienu',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-lv_LV.js","sources":["../../../virtual:js/i18n/defaults-lv_LV.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: LV (Latvian)\n * Region: LV (Latvia)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Nekas nav atzīmēts',\n noneResultsText: 'Nav neviena rezultāta {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} ieraksts atzīmēts' : '{0} ieraksti atzīmēts';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Sasniegts limits ({n} ieraksts maksimums)' : 'Sasniegts limits ({n} ieraksti maksimums)',\n (numGroup == 1) ? 'Sasniegts grupas limits ({n} ieraksts maksimums)' : 'Sasniegts grupas limits ({n} ieraksti maksimums)'\n ];\n },\n selectAllText: 'Atzīmēt visu',\n deselectAllText: 'Neatzīmēt nevienu',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,oBAAoB;AACxC,EAAE,eAAe,EAAE,2BAA2B;AAC9C,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,uBAAuB,GAAG,uBAAuB;AACjF,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,2CAA2C,GAAG,2CAA2C;AAC/G,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,kDAAkD,GAAG;AAC7E,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,cAAc;AAC/B,EAAE,eAAe,EAAE,mBAAmB;AACtC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-lv_LV.min.js b/docs/dist/js/i18n/defaults-lv_LV.min.js index c98b90f..1f7759a 100644 --- a/docs/dist/js/i18n/defaults-lv_LV.min.js +++ b/docs/dist/js/i18n/defaults-lv_LV.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Nekas nav atz\u012bm\u0113ts",noneResultsText:"Nav neviena rezult\u0101ta {0}",countSelectedText:function(e,t){return 1==e?"{0} ieraksts atz\u012bm\u0113ts":"{0} ieraksti atz\u012bm\u0113ts"},maxOptionsText:function(e,t){return[1==e?"Sasniegts limits ({n} ieraksts maksimums)":"Sasniegts limits ({n} ieraksti maksimums)",1==t?"Sasniegts grupas limits ({n} ieraksts maksimums)":"Sasniegts grupas limits ({n} ieraksti maksimums)"]},selectAllText:"Atz\u012bm\u0113t visu",deselectAllText:"Neatz\u012bm\u0113t nevienu",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Nekas nav atz\u012bm\u0113ts",noneResultsText:"Nav neviena rezult\u0101ta {0}",countSelectedText:function(e,t){return 1==e?"{0} ieraksts atz\u012bm\u0113ts":"{0} ieraksti atz\u012bm\u0113ts"},maxOptionsText:function(e,t){return[1==e?"Sasniegts limits ({n} ieraksts maksimums)":"Sasniegts limits ({n} ieraksti maksimums)",1==t?"Sasniegts grupas limits ({n} ieraksts maksimums)":"Sasniegts grupas limits ({n} ieraksti maksimums)"]},selectAllText:"Atz\u012bm\u0113t visu",deselectAllText:"Neatz\u012bm\u0113t nevienu",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-lv_LV.min.js.map diff --git a/docs/dist/js/i18n/defaults-lv_LV.min.js.map b/docs/dist/js/i18n/defaults-lv_LV.min.js.map new file mode 100644 index 0000000..f23392b --- /dev/null +++ b/docs/dist/js/i18n/defaults-lv_LV.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-lv_LV.min.js","sources":["../../../virtual:js/i18n/defaults-lv_LV.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: LV (Latvian)\n * Region: LV (Latvia)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Nekas nav atzīmēts',\n noneResultsText: 'Nav neviena rezultāta {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} ieraksts atzīmēts' : '{0} ieraksti atzīmēts';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Sasniegts limits ({n} ieraksts maksimums)' : 'Sasniegts limits ({n} ieraksti maksimums)',\n (numGroup == 1) ? 'Sasniegts grupas limits ({n} ieraksts maksimums)' : 'Sasniegts grupas limits ({n} ieraksti maksimums)'\n ];\n },\n selectAllText: 'Atzīmēt visu',\n deselectAllText: 'Neatzīmēt nevienu',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,+BAClBC,gBAAiB,iCACjBC,kBAAmB,SAAUC,EAAaC,GACxC,OAAuB,GAAfD,EAAoB,kCAA0B,iCACxD,EACAE,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACM,GAAVD,EAAe,4CAA8C,4CACjD,GAAZC,EAAiB,mDAAqD,mDAE3E,EACAC,cAAe,yBACfC,gBAAiB,8BACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-nb_NO.js b/docs/dist/js/i18n/defaults-nb_NO.js index 5097dcf..921753c 100644 --- a/docs/dist/js/i18n/defaults-nb_NO.js +++ b/docs/dist/js/i18n/defaults-nb_NO.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: NB (Norwegian; Bokmål) + * Region: NO (Norway) + */ Selectpicker.setDefaults({ noneSelectedText: 'Ingen valgt', noneResultsText: 'Søket gir ingen treff {0}', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-nb_NO.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-nb_NO.js.map diff --git a/docs/dist/js/i18n/defaults-nb_NO.js.map b/docs/dist/js/i18n/defaults-nb_NO.js.map index 9501842..2099bbe 100644 --- a/docs/dist/js/i18n/defaults-nb_NO.js.map +++ b/docs/dist/js/i18n/defaults-nb_NO.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-nb_NO.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE;AAClC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;AAC/C,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE;AAClF,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG;AACpF,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;AACnH,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;AAC7B,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;AAChC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-nb_NO.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Ingen valgt',\n noneResultsText: 'Søket gir ingen treff {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} alternativ valgt' : '{0} alternativer valgt';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Grense nådd (maks {n} valg)' : 'Grense nådd (maks {n} valg)',\n (numGroup == 1) ? 'Grense for grupper nådd (maks {n} grupper)' : 'Grense for grupper nådd (maks {n} grupper)'\n ];\n },\n selectAllText: 'Merk alle',\n deselectAllText: 'Fjern alle',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-nb_NO.js","sources":["../../../virtual:js/i18n/defaults-nb_NO.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: NB (Norwegian; Bokmål)\n * Region: NO (Norway)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Ingen valgt',\n noneResultsText: 'Søket gir ingen treff {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} alternativ valgt' : '{0} alternativer valgt';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Grense nådd (maks {n} valg)' : 'Grense nådd (maks {n} valg)',\n (numGroup == 1) ? 'Grense for grupper nådd (maks {n} grupper)' : 'Grense for grupper nådd (maks {n} grupper)'\n ];\n },\n selectAllText: 'Merk alle',\n deselectAllText: 'Fjern alle',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,aAAa;AACjC,EAAE,eAAe,EAAE,2BAA2B;AAC9C,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,sBAAsB,GAAG,wBAAwB;AACjF,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,6BAA6B,GAAG,6BAA6B;AACnF,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,4CAA4C,GAAG;AACvE,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,WAAW;AAC5B,EAAE,eAAe,EAAE,YAAY;AAC/B,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-nb_NO.min.js b/docs/dist/js/i18n/defaults-nb_NO.min.js index 73c01b6..0feba83 100644 --- a/docs/dist/js/i18n/defaults-nb_NO.min.js +++ b/docs/dist/js/i18n/defaults-nb_NO.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Ingen valgt",noneResultsText:"S\xf8ket gir ingen treff {0}",countSelectedText:function(e,t){return 1==e?"{0} alternativ valgt":"{0} alternativer valgt"},maxOptionsText:function(e,t){return["Grense n\xe5dd (maks {n} valg)","Grense for grupper n\xe5dd (maks {n} grupper)"]},selectAllText:"Merk alle",deselectAllText:"Fjern alle",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Ingen valgt",noneResultsText:"S\xf8ket gir ingen treff {0}",countSelectedText:function(e,t){return 1==e?"{0} alternativ valgt":"{0} alternativer valgt"},maxOptionsText:function(e,t){return["Grense n\xe5dd (maks {n} valg)","Grense for grupper n\xe5dd (maks {n} grupper)"]},selectAllText:"Merk alle",deselectAllText:"Fjern alle",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-nb_NO.min.js.map diff --git a/docs/dist/js/i18n/defaults-nb_NO.min.js.map b/docs/dist/js/i18n/defaults-nb_NO.min.js.map new file mode 100644 index 0000000..5bdb43a --- /dev/null +++ b/docs/dist/js/i18n/defaults-nb_NO.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-nb_NO.min.js","sources":["../../../virtual:js/i18n/defaults-nb_NO.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: NB (Norwegian; Bokmål)\n * Region: NO (Norway)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Ingen valgt',\n noneResultsText: 'Søket gir ingen treff {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} alternativ valgt' : '{0} alternativer valgt';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Grense nådd (maks {n} valg)' : 'Grense nådd (maks {n} valg)',\n (numGroup == 1) ? 'Grense for grupper nådd (maks {n} grupper)' : 'Grense for grupper nådd (maks {n} grupper)'\n ];\n },\n selectAllText: 'Merk alle',\n deselectAllText: 'Fjern alle',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,cAClBC,gBAAiB,+BACjBC,kBAAmB,SAAUC,EAAaC,GACxC,OAAuB,GAAfD,EAAoB,uBAAyB,wBACvD,EACAE,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACW,iCACE,gDAEtB,EACAC,cAAe,YACfC,gBAAiB,aACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-nl_NL.js b/docs/dist/js/i18n/defaults-nl_NL.js index 28e9a25..62bcec4 100644 --- a/docs/dist/js/i18n/defaults-nl_NL.js +++ b/docs/dist/js/i18n/defaults-nl_NL.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,14 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: NL (Dutch; Nederlands) + * Region: NL (Europe) + * Author: Daan Rosbergen (Badmuts) + */ Selectpicker.setDefaults({ noneSelectedText: 'Niets geselecteerd', noneResultsText: 'Geen resultaten gevonden voor {0}', @@ -35,6 +42,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-nl_NL.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-nl_NL.js.map diff --git a/docs/dist/js/i18n/defaults-nl_NL.js.map b/docs/dist/js/i18n/defaults-nl_NL.js.map index 7428fff..9d04b99 100644 --- a/docs/dist/js/i18n/defaults-nl_NL.js.map +++ b/docs/dist/js/i18n/defaults-nl_NL.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-nl_NL.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE;AACzC,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;AACvD,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE;AAChD,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI;AAChH,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE;AACpC,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE;AACxC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-nl_NL.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Niets geselecteerd',\n noneResultsText: 'Geen resultaten gevonden voor {0}',\n countSelectedText: '{0} van {1} geselecteerd',\n maxOptionsText: ['Limiet bereikt ({n} {var} max)', 'Groep limiet bereikt ({n} {var} max)', ['items', 'item']],\n selectAllText: 'Alles selecteren',\n deselectAllText: 'Alles deselecteren',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-nl_NL.js","sources":["../../../virtual:js/i18n/defaults-nl_NL.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: NL (Dutch; Nederlands)\n * Region: NL (Europe)\n * Author: Daan Rosbergen (Badmuts)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Niets geselecteerd',\n noneResultsText: 'Geen resultaten gevonden voor {0}',\n countSelectedText: '{0} van {1} geselecteerd',\n maxOptionsText: ['Limiet bereikt ({n} {var} max)', 'Groep limiet bereikt ({n} {var} max)', ['items', 'item']],\n selectAllText: 'Alles selecteren',\n deselectAllText: 'Alles deselecteren',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,oBAAoB;AACxC,EAAE,eAAe,EAAE,mCAAmC;AACtD,EAAE,iBAAiB,EAAE,0BAA0B;AAC/C,EAAE,cAAc,EAAE,CAAC,gCAAgC,EAAE,sCAAsC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC/G,EAAE,aAAa,EAAE,kBAAkB;AACnC,EAAE,eAAe,EAAE,oBAAoB;AACvC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-nl_NL.min.js b/docs/dist/js/i18n/defaults-nl_NL.min.js index e625150..7bdd13c 100644 --- a/docs/dist/js/i18n/defaults-nl_NL.min.js +++ b/docs/dist/js/i18n/defaults-nl_NL.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Niets geselecteerd",noneResultsText:"Geen resultaten gevonden voor {0}",countSelectedText:"{0} van {1} geselecteerd",maxOptionsText:["Limiet bereikt ({n} {var} max)","Groep limiet bereikt ({n} {var} max)",["items","item"]],selectAllText:"Alles selecteren",deselectAllText:"Alles deselecteren",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Niets geselecteerd",noneResultsText:"Geen resultaten gevonden voor {0}",countSelectedText:"{0} van {1} geselecteerd",maxOptionsText:["Limiet bereikt ({n} {var} max)","Groep limiet bereikt ({n} {var} max)",["items","item"]],selectAllText:"Alles selecteren",deselectAllText:"Alles deselecteren",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-nl_NL.min.js.map diff --git a/docs/dist/js/i18n/defaults-nl_NL.min.js.map b/docs/dist/js/i18n/defaults-nl_NL.min.js.map new file mode 100644 index 0000000..835f863 --- /dev/null +++ b/docs/dist/js/i18n/defaults-nl_NL.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-nl_NL.min.js","sources":["../../../virtual:js/i18n/defaults-nl_NL.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: NL (Dutch; Nederlands)\n * Region: NL (Europe)\n * Author: Daan Rosbergen (Badmuts)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Niets geselecteerd',\n noneResultsText: 'Geen resultaten gevonden voor {0}',\n countSelectedText: '{0} van {1} geselecteerd',\n maxOptionsText: ['Limiet bereikt ({n} {var} max)', 'Groep limiet bereikt ({n} {var} max)', ['items', 'item']],\n selectAllText: 'Alles selecteren',\n deselectAllText: 'Alles deselecteren',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GASZK,aAAaC,YAAY,CACvBC,iBAAkB,qBAClBC,gBAAiB,oCACjBC,kBAAmB,2BACnBC,eAAgB,CAAC,iCAAkC,uCAAwC,CAAC,QAAS,SACrGC,cAAe,mBACfC,gBAAiB,qBACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-pl_PL.js b/docs/dist/js/i18n/defaults-pl_PL.js index a9fbf67..3302bbe 100644 --- a/docs/dist/js/i18n/defaults-pl_PL.js +++ b/docs/dist/js/i18n/defaults-pl_PL.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: PL (Polish) + * Region: EU (Europe) + */ Selectpicker.setDefaults({ noneSelectedText: 'Nic nie zaznaczono', noneResultsText: 'Brak wyników wyszukiwania {0}', @@ -35,6 +41,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-pl_PL.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-pl_PL.js.map diff --git a/docs/dist/js/i18n/defaults-pl_PL.js.map b/docs/dist/js/i18n/defaults-pl_PL.js.map index b044682..aefbd0f 100644 --- a/docs/dist/js/i18n/defaults-pl_PL.js.map +++ b/docs/dist/js/i18n/defaults-pl_PL.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-pl_PL.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE;AACzC,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG;AACnD,EAAE,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;AAC5C,EAAE,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,IAAI;AAC1H,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE;AACrC,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE;AACvC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-pl_PL.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Nic nie zaznaczono',\n noneResultsText: 'Brak wyników wyszukiwania {0}',\n countSelectedText: 'Zaznaczono {0} z {1}',\n maxOptionsText: ['Osiągnięto limit ({n} {var} max)', 'Limit grupy osiągnięty ({n} {var} max)', ['elementy', 'element']],\n selectAllText: 'Zaznacz wszystkie',\n deselectAllText: 'Odznacz wszystkie',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-pl_PL.js","sources":["../../../virtual:js/i18n/defaults-pl_PL.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: PL (Polish)\n * Region: EU (Europe)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Nic nie zaznaczono',\n noneResultsText: 'Brak wyników wyszukiwania {0}',\n countSelectedText: 'Zaznaczono {0} z {1}',\n maxOptionsText: ['Osiągnięto limit ({n} {var} max)', 'Limit grupy osiągnięty ({n} {var} max)', ['elementy', 'element']],\n selectAllText: 'Zaznacz wszystkie',\n deselectAllText: 'Odznacz wszystkie',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,oBAAoB;AACxC,EAAE,eAAe,EAAE,+BAA+B;AAClD,EAAE,iBAAiB,EAAE,sBAAsB;AAC3C,EAAE,cAAc,EAAE,CAAC,kCAAkC,EAAE,wCAAwC,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACzH,EAAE,aAAa,EAAE,mBAAmB;AACpC,EAAE,eAAe,EAAE,mBAAmB;AACtC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-pl_PL.min.js b/docs/dist/js/i18n/defaults-pl_PL.min.js index ad8a7af..e96ecb7 100644 --- a/docs/dist/js/i18n/defaults-pl_PL.min.js +++ b/docs/dist/js/i18n/defaults-pl_PL.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Nic nie zaznaczono",noneResultsText:"Brak wynik\xf3w wyszukiwania {0}",countSelectedText:"Zaznaczono {0} z {1}",maxOptionsText:["Osi\u0105gni\u0119to limit ({n} {var} max)","Limit grupy osi\u0105gni\u0119ty ({n} {var} max)",["elementy","element"]],selectAllText:"Zaznacz wszystkie",deselectAllText:"Odznacz wszystkie",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Nic nie zaznaczono",noneResultsText:"Brak wynik\xf3w wyszukiwania {0}",countSelectedText:"Zaznaczono {0} z {1}",maxOptionsText:["Osi\u0105gni\u0119to limit ({n} {var} max)","Limit grupy osi\u0105gni\u0119ty ({n} {var} max)",["elementy","element"]],selectAllText:"Zaznacz wszystkie",deselectAllText:"Odznacz wszystkie",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-pl_PL.min.js.map diff --git a/docs/dist/js/i18n/defaults-pl_PL.min.js.map b/docs/dist/js/i18n/defaults-pl_PL.min.js.map new file mode 100644 index 0000000..e27b794 --- /dev/null +++ b/docs/dist/js/i18n/defaults-pl_PL.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-pl_PL.min.js","sources":["../../../virtual:js/i18n/defaults-pl_PL.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: PL (Polish)\n * Region: EU (Europe)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Nic nie zaznaczono',\n noneResultsText: 'Brak wyników wyszukiwania {0}',\n countSelectedText: 'Zaznaczono {0} z {1}',\n maxOptionsText: ['Osiągnięto limit ({n} {var} max)', 'Limit grupy osiągnięty ({n} {var} max)', ['elementy', 'element']],\n selectAllText: 'Zaznacz wszystkie',\n deselectAllText: 'Odznacz wszystkie',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,qBAClBC,gBAAiB,mCACjBC,kBAAmB,uBACnBC,eAAgB,CAAC,6CAAoC,mDAA0C,CAAC,WAAY,YAC5GC,cAAe,oBACfC,gBAAiB,oBACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-pt_BR.js b/docs/dist/js/i18n/defaults-pt_BR.js index 59bffb6..9378f3b 100644 --- a/docs/dist/js/i18n/defaults-pt_BR.js +++ b/docs/dist/js/i18n/defaults-pt_BR.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,14 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: PT (Portuguese; português) + * Region: BR (Brazil; Brasil) + * Author: Rodrigo de Avila + */ Selectpicker.setDefaults({ noneSelectedText: 'Nada selecionado', noneResultsText: 'Nada encontrado contendo {0}', @@ -35,6 +42,6 @@ Selectpicker.setDefaults({ deselectAllText: 'Desmarcar Todos' }); -})); -//# sourceMappingURL=defaults-pt_BR.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-pt_BR.js.map diff --git a/docs/dist/js/i18n/defaults-pt_BR.js.map b/docs/dist/js/i18n/defaults-pt_BR.js.map index f9b655f..9832d58 100644 --- a/docs/dist/js/i18n/defaults-pt_BR.js.map +++ b/docs/dist/js/i18n/defaults-pt_BR.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-pt_BR.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE;AACvC,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;AAClD,EAAE,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;AAC9C,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI;AACvH,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE;AAC1B,EAAE,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE;AACpC,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;AACpC,GAAG","file":"defaults-pt_BR.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Nada selecionado',\n noneResultsText: 'Nada encontrado contendo {0}',\n countSelectedText: 'Selecionado {0} de {1}',\n maxOptionsText: ['Limite excedido (máx. {n} {var})', 'Limite do grupo excedido (máx. {n} {var})', ['itens', 'item']],\n multipleSeparator: ', ',\n selectAllText: 'Selecionar Todos',\n deselectAllText: 'Desmarcar Todos'\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-pt_BR.js","sources":["../../../virtual:js/i18n/defaults-pt_BR.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: PT (Portuguese; português)\n * Region: BR (Brazil; Brasil)\n * Author: Rodrigo de Avila \n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Nada selecionado',\n noneResultsText: 'Nada encontrado contendo {0}',\n countSelectedText: 'Selecionado {0} de {1}',\n maxOptionsText: ['Limite excedido (máx. {n} {var})', 'Limite do grupo excedido (máx. {n} {var})', ['itens', 'item']],\n multipleSeparator: ', ',\n selectAllText: 'Selecionar Todos',\n deselectAllText: 'Desmarcar Todos'\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,kBAAkB;AACtC,EAAE,eAAe,EAAE,8BAA8B;AACjD,EAAE,iBAAiB,EAAE,wBAAwB;AAC7C,EAAE,cAAc,EAAE,CAAC,kCAAkC,EAAE,2CAA2C,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACtH,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,aAAa,EAAE,kBAAkB;AACnC,EAAE,eAAe,EAAE;AACnB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-pt_BR.min.js b/docs/dist/js/i18n/defaults-pt_BR.min.js index 52431da..58f0309 100644 --- a/docs/dist/js/i18n/defaults-pt_BR.min.js +++ b/docs/dist/js/i18n/defaults-pt_BR.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var o;try{o=require("bootstrap")}catch(e){o=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Nada selecionado",noneResultsText:"Nada encontrado contendo {0}",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite excedido (m\xe1x. {n} {var})","Limite do grupo excedido (m\xe1x. {n} {var})",["itens","item"]],multipleSeparator:", ",selectAllText:"Selecionar Todos",deselectAllText:"Desmarcar Todos"})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var o;try{o=require("bootstrap")}catch(e){o=void 0}module.exports=e(o)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Nada selecionado",noneResultsText:"Nada encontrado contendo {0}",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite excedido (m\xe1x. {n} {var})","Limite do grupo excedido (m\xe1x. {n} {var})",["itens","item"]],multipleSeparator:", ",selectAllText:"Selecionar Todos",deselectAllText:"Desmarcar Todos"})}); +//# sourceMappingURL=defaults-pt_BR.min.js.map diff --git a/docs/dist/js/i18n/defaults-pt_BR.min.js.map b/docs/dist/js/i18n/defaults-pt_BR.min.js.map new file mode 100644 index 0000000..6fc2aab --- /dev/null +++ b/docs/dist/js/i18n/defaults-pt_BR.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-pt_BR.min.js","sources":["../../../virtual:js/i18n/defaults-pt_BR.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: PT (Portuguese; português)\n * Region: BR (Brazil; Brasil)\n * Author: Rodrigo de Avila \n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Nada selecionado',\n noneResultsText: 'Nada encontrado contendo {0}',\n countSelectedText: 'Selecionado {0} de {1}',\n maxOptionsText: ['Limite excedido (máx. {n} {var})', 'Limite do grupo excedido (máx. {n} {var})', ['itens', 'item']],\n multipleSeparator: ', ',\n selectAllText: 'Selecionar Todos',\n deselectAllText: 'Desmarcar Todos'\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","multipleSeparator","selectAllText","deselectAllText"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GASZK,aAAaC,YAAY,CACvBC,iBAAkB,mBAClBC,gBAAiB,+BACjBC,kBAAmB,yBACnBC,eAAgB,CAAC,sCAAoC,+CAA6C,CAAC,QAAS,SAC5GC,kBAAmB,KACnBC,cAAe,mBACfC,gBAAiB,mBAInB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-pt_PT.js b/docs/dist/js/i18n/defaults-pt_PT.js index 299dc14..96f88a5 100644 --- a/docs/dist/js/i18n/defaults-pt_PT.js +++ b/docs/dist/js/i18n/defaults-pt_PT.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,14 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* +* Translated default messages for bootstrap-select. +* Locale: PT (Portuguese; português) +* Region: PT (Portugal; Portugal) +* Author: Burnspirit +*/ Selectpicker.setDefaults({ noneSelectedText: 'Nenhum seleccionado', noneResultsText: 'Sem resultados contendo {0}', @@ -35,6 +42,6 @@ Selectpicker.setDefaults({ deselectAllText: 'Desmarcar Todos' }); -})); -//# sourceMappingURL=defaults-pt_PT.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-pt_PT.js.map diff --git a/docs/dist/js/i18n/defaults-pt_PT.js.map b/docs/dist/js/i18n/defaults-pt_PT.js.map index da3e4a8..f6f866c 100644 --- a/docs/dist/js/i18n/defaults-pt_PT.js.map +++ b/docs/dist/js/i18n/defaults-pt_PT.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-pt_PT.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE;AAC1C,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;AACjD,EAAE,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;AAC9C,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI;AAClI,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE;AAC1B,EAAE,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE;AACnC,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;AACpC,GAAG","file":"defaults-pt_PT.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Nenhum seleccionado',\n noneResultsText: 'Sem resultados contendo {0}',\n countSelectedText: 'Selecionado {0} de {1}',\n maxOptionsText: ['Limite ultrapassado (máx. {n} {var})', 'Limite de seleções ultrapassado (máx. {n} {var})', ['itens', 'item']],\n multipleSeparator: ', ',\n selectAllText: 'Selecionar Tudo',\n deselectAllText: 'Desmarcar Todos'\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-pt_PT.js","sources":["../../../virtual:js/i18n/defaults-pt_PT.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n* Translated default messages for bootstrap-select.\n* Locale: PT (Portuguese; português)\n* Region: PT (Portugal; Portugal)\n* Author: Burnspirit \n*/\nSelectpicker.setDefaults({\n noneSelectedText: 'Nenhum seleccionado',\n noneResultsText: 'Sem resultados contendo {0}',\n countSelectedText: 'Selecionado {0} de {1}',\n maxOptionsText: ['Limite ultrapassado (máx. {n} {var})', 'Limite de seleções ultrapassado (máx. {n} {var})', ['itens', 'item']],\n multipleSeparator: ', ',\n selectAllText: 'Selecionar Tudo',\n deselectAllText: 'Desmarcar Todos'\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,qBAAqB;AACzC,EAAE,eAAe,EAAE,6BAA6B;AAChD,EAAE,iBAAiB,EAAE,wBAAwB;AAC7C,EAAE,cAAc,EAAE,CAAC,sCAAsC,EAAE,kDAAkD,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACjI,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,aAAa,EAAE,iBAAiB;AAClC,EAAE,eAAe,EAAE;AACnB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-pt_PT.min.js b/docs/dist/js/i18n/defaults-pt_PT.min.js index b38a1eb..aad7748 100644 --- a/docs/dist/js/i18n/defaults-pt_PT.min.js +++ b/docs/dist/js/i18n/defaults-pt_PT.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Nenhum seleccionado",noneResultsText:"Sem resultados contendo {0}",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite ultrapassado (m\xe1x. {n} {var})","Limite de sele\xe7\xf5es ultrapassado (m\xe1x. {n} {var})",["itens","item"]],multipleSeparator:", ",selectAllText:"Selecionar Tudo",deselectAllText:"Desmarcar Todos"})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Nenhum seleccionado",noneResultsText:"Sem resultados contendo {0}",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite ultrapassado (m\xe1x. {n} {var})","Limite de sele\xe7\xf5es ultrapassado (m\xe1x. {n} {var})",["itens","item"]],multipleSeparator:", ",selectAllText:"Selecionar Tudo",deselectAllText:"Desmarcar Todos"})}); +//# sourceMappingURL=defaults-pt_PT.min.js.map diff --git a/docs/dist/js/i18n/defaults-pt_PT.min.js.map b/docs/dist/js/i18n/defaults-pt_PT.min.js.map new file mode 100644 index 0000000..8943a09 --- /dev/null +++ b/docs/dist/js/i18n/defaults-pt_PT.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-pt_PT.min.js","sources":["../../../virtual:js/i18n/defaults-pt_PT.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n* Translated default messages for bootstrap-select.\n* Locale: PT (Portuguese; português)\n* Region: PT (Portugal; Portugal)\n* Author: Burnspirit \n*/\nSelectpicker.setDefaults({\n noneSelectedText: 'Nenhum seleccionado',\n noneResultsText: 'Sem resultados contendo {0}',\n countSelectedText: 'Selecionado {0} de {1}',\n maxOptionsText: ['Limite ultrapassado (máx. {n} {var})', 'Limite de seleções ultrapassado (máx. {n} {var})', ['itens', 'item']],\n multipleSeparator: ', ',\n selectAllText: 'Selecionar Tudo',\n deselectAllText: 'Desmarcar Todos'\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","multipleSeparator","selectAllText","deselectAllText"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GASZK,aAAaC,YAAY,CACvBC,iBAAkB,sBAClBC,gBAAiB,8BACjBC,kBAAmB,yBACnBC,eAAgB,CAAC,0CAAwC,4DAAoD,CAAC,QAAS,SACvHC,kBAAmB,KACnBC,cAAe,kBACfC,gBAAiB,mBAInB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-ro_RO.js b/docs/dist/js/i18n/defaults-ro_RO.js index 2617d1b..76a57e0 100644 --- a/docs/dist/js/i18n/defaults-ro_RO.js +++ b/docs/dist/js/i18n/defaults-ro_RO.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,14 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: RO (Romanian) + * Region: RO (Romania) + * Alex Florea + */ Selectpicker.setDefaults({ doneButtonText: 'Închide', noneSelectedText: 'Nu a fost selectat nimic', @@ -36,6 +43,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-ro_RO.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-ro_RO.js.map diff --git a/docs/dist/js/i18n/defaults-ro_RO.js.map b/docs/dist/js/i18n/defaults-ro_RO.js.map index 6a1cb1a..5166c36 100644 --- a/docs/dist/js/i18n/defaults-ro_RO.js.map +++ b/docs/dist/js/i18n/defaults-ro_RO.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-ro_RO.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE;AAC5B,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;AAC/C,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;AACnD,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG;AAC/C,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI;AAC9H,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE;AACpC,EAAE,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE;AACxC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-ro_RO.js","sourcesContent":["Selectpicker.setDefaults({\n doneButtonText: 'Închide',\n noneSelectedText: 'Nu a fost selectat nimic',\n noneResultsText: 'Nu există niciun rezultat {0}',\n countSelectedText: '{0} din {1} selectat(e)',\n maxOptionsText: ['Limita a fost atinsă ({n} {var} max)', 'Limita de grup a fost atinsă ({n} {var} max)', ['iteme', 'item']],\n selectAllText: 'Selectează toate',\n deselectAllText: 'Deselectează toate',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-ro_RO.js","sources":["../../../virtual:js/i18n/defaults-ro_RO.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: RO (Romanian)\n * Region: RO (Romania)\n * Alex Florea \n */\nSelectpicker.setDefaults({\n doneButtonText: 'Închide',\n noneSelectedText: 'Nu a fost selectat nimic',\n noneResultsText: 'Nu există niciun rezultat {0}',\n countSelectedText: '{0} din {1} selectat(e)',\n maxOptionsText: ['Limita a fost atinsă ({n} {var} max)', 'Limita de grup a fost atinsă ({n} {var} max)', ['iteme', 'item']],\n selectAllText: 'Selectează toate',\n deselectAllText: 'Deselectează toate',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,cAAc,EAAE,SAAS;AAC3B,EAAE,gBAAgB,EAAE,0BAA0B;AAC9C,EAAE,eAAe,EAAE,+BAA+B;AAClD,EAAE,iBAAiB,EAAE,yBAAyB;AAC9C,EAAE,cAAc,EAAE,CAAC,sCAAsC,EAAE,8CAA8C,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC7H,EAAE,aAAa,EAAE,kBAAkB;AACnC,EAAE,eAAe,EAAE,oBAAoB;AACvC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-ro_RO.min.js b/docs/dist/js/i18n/defaults-ro_RO.min.js index 0e91c32..ad4df90 100644 --- a/docs/dist/js/i18n/defaults-ro_RO.min.js +++ b/docs/dist/js/i18n/defaults-ro_RO.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({doneButtonText:"\xcenchide",noneSelectedText:"Nu a fost selectat nimic",noneResultsText:"Nu exist\u0103 niciun rezultat {0}",countSelectedText:"{0} din {1} selectat(e)",maxOptionsText:["Limita a fost atins\u0103 ({n} {var} max)","Limita de grup a fost atins\u0103 ({n} {var} max)",["iteme","item"]],selectAllText:"Selecteaz\u0103 toate",deselectAllText:"Deselecteaz\u0103 toate",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({doneButtonText:"\xcenchide",noneSelectedText:"Nu a fost selectat nimic",noneResultsText:"Nu exist\u0103 niciun rezultat {0}",countSelectedText:"{0} din {1} selectat(e)",maxOptionsText:["Limita a fost atins\u0103 ({n} {var} max)","Limita de grup a fost atins\u0103 ({n} {var} max)",["iteme","item"]],selectAllText:"Selecteaz\u0103 toate",deselectAllText:"Deselecteaz\u0103 toate",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-ro_RO.min.js.map diff --git a/docs/dist/js/i18n/defaults-ro_RO.min.js.map b/docs/dist/js/i18n/defaults-ro_RO.min.js.map new file mode 100644 index 0000000..71f18ec --- /dev/null +++ b/docs/dist/js/i18n/defaults-ro_RO.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-ro_RO.min.js","sources":["../../../virtual:js/i18n/defaults-ro_RO.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: RO (Romanian)\n * Region: RO (Romania)\n * Alex Florea \n */\nSelectpicker.setDefaults({\n doneButtonText: 'Închide',\n noneSelectedText: 'Nu a fost selectat nimic',\n noneResultsText: 'Nu există niciun rezultat {0}',\n countSelectedText: '{0} din {1} selectat(e)',\n maxOptionsText: ['Limita a fost atinsă ({n} {var} max)', 'Limita de grup a fost atinsă ({n} {var} max)', ['iteme', 'item']],\n selectAllText: 'Selectează toate',\n deselectAllText: 'Deselectează toate',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","doneButtonText","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GASZK,aAAaC,YAAY,CACvBC,eAAgB,aAChBC,iBAAkB,2BAClBC,gBAAiB,qCACjBC,kBAAmB,0BACnBC,eAAgB,CAAC,4CAAwC,oDAAgD,CAAC,QAAS,SACnHC,cAAe,wBACfC,gBAAiB,0BACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-ru_RU.js b/docs/dist/js/i18n/defaults-ru_RU.js index 0658885..8ac69c3 100644 --- a/docs/dist/js/i18n/defaults-ru_RU.js +++ b/docs/dist/js/i18n/defaults-ru_RU.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: RU (Russian; Русский) + * Region: RU (Russian Federation) + */ Selectpicker.setDefaults({ noneSelectedText: 'Ничего не выбрано', noneResultsText: 'Совпадений не найдено {0}', @@ -36,6 +42,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-ru_RU.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-ru_RU.js.map diff --git a/docs/dist/js/i18n/defaults-ru_RU.js.map b/docs/dist/js/i18n/defaults-ru_RU.js.map index d44f004..d372e17 100644 --- a/docs/dist/js/i18n/defaults-ru_RU.js.map +++ b/docs/dist/js/i18n/defaults-ru_RU.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-ru_RU.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS;AACxC,EAAE,eAAe,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;AAC/C,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;AAC1C,EAAE,cAAc,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ;AAC9H,EAAE,cAAc,CAAC,CAAC,UAAU;AAC5B,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK;AAC/B,EAAE,eAAe,CAAC,CAAC,SAAS,CAAC,KAAK;AAClC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-ru_RU.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Ничего не выбрано',\n noneResultsText: 'Совпадений не найдено {0}',\n countSelectedText: 'Выбрано {0} из {1}',\n maxOptionsText: ['Достигнут предел ({n} {var} максимум)', 'Достигнут предел в группе ({n} {var} максимум)', ['шт.', 'шт.']],\n doneButtonText: 'Закрыть',\n selectAllText: 'Выбрать все',\n deselectAllText: 'Отменить все',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-ru_RU.js","sources":["../../../virtual:js/i18n/defaults-ru_RU.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: RU (Russian; Русский)\n * Region: RU (Russian Federation)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Ничего не выбрано',\n noneResultsText: 'Совпадений не найдено {0}',\n countSelectedText: 'Выбрано {0} из {1}',\n maxOptionsText: ['Достигнут предел ({n} {var} максимум)', 'Достигнут предел в группе ({n} {var} максимум)', ['шт.', 'шт.']],\n doneButtonText: 'Закрыть',\n selectAllText: 'Выбрать все',\n deselectAllText: 'Отменить все',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,mBAAmB;AACvC,EAAE,eAAe,EAAE,2BAA2B;AAC9C,EAAE,iBAAiB,EAAE,oBAAoB;AACzC,EAAE,cAAc,EAAE,CAAC,uCAAuC,EAAE,gDAAgD,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC7H,EAAE,cAAc,EAAE,SAAS;AAC3B,EAAE,aAAa,EAAE,aAAa;AAC9B,EAAE,eAAe,EAAE,cAAc;AACjC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-ru_RU.min.js b/docs/dist/js/i18n/defaults-ru_RU.min.js index 6224c84..db9674d 100644 --- a/docs/dist/js/i18n/defaults-ru_RU.min.js +++ b/docs/dist/js/i18n/defaults-ru_RU.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043e",noneResultsText:"\u0421\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0439 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e {0}",countSelectedText:"\u0412\u044b\u0431\u0440\u0430\u043d\u043e {0} \u0438\u0437 {1}",maxOptionsText:["\u0414\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442 \u043f\u0440\u0435\u0434\u0435\u043b ({n} {var} \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c)","\u0414\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442 \u043f\u0440\u0435\u0434\u0435\u043b \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 ({n} {var} \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c)",["\u0448\u0442.","\u0448\u0442."]],doneButtonText:"\u0417\u0430\u043a\u0440\u044b\u0442\u044c",selectAllText:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0435",deselectAllText:"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u0441\u0435",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043e",noneResultsText:"\u0421\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0439 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e {0}",countSelectedText:"\u0412\u044b\u0431\u0440\u0430\u043d\u043e {0} \u0438\u0437 {1}",maxOptionsText:["\u0414\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442 \u043f\u0440\u0435\u0434\u0435\u043b ({n} {var} \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c)","\u0414\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442 \u043f\u0440\u0435\u0434\u0435\u043b \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 ({n} {var} \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c)",["\u0448\u0442.","\u0448\u0442."]],doneButtonText:"\u0417\u0430\u043a\u0440\u044b\u0442\u044c",selectAllText:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0435",deselectAllText:"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u0441\u0435",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-ru_RU.min.js.map diff --git a/docs/dist/js/i18n/defaults-ru_RU.min.js.map b/docs/dist/js/i18n/defaults-ru_RU.min.js.map new file mode 100644 index 0000000..423a773 --- /dev/null +++ b/docs/dist/js/i18n/defaults-ru_RU.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-ru_RU.min.js","sources":["../../../virtual:js/i18n/defaults-ru_RU.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: RU (Russian; Русский)\n * Region: RU (Russian Federation)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Ничего не выбрано',\n noneResultsText: 'Совпадений не найдено {0}',\n countSelectedText: 'Выбрано {0} из {1}',\n maxOptionsText: ['Достигнут предел ({n} {var} максимум)', 'Достигнут предел в группе ({n} {var} максимум)', ['шт.', 'шт.']],\n doneButtonText: 'Закрыть',\n selectAllText: 'Выбрать все',\n deselectAllText: 'Отменить все',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","doneButtonText","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,+FAClBC,gBAAiB,2HACjBC,kBAAmB,kEACnBC,eAAgB,CAAC,2JAAyC,uMAAkD,CAAC,gBAAO,kBACpHC,eAAgB,6CAChBC,cAAe,gEACfC,gBAAiB,sEACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-sk_SK.js b/docs/dist/js/i18n/defaults-sk_SK.js index e100779..d432e24 100644 --- a/docs/dist/js/i18n/defaults-sk_SK.js +++ b/docs/dist/js/i18n/defaults-sk_SK.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: SK + * Region: SK (Slovak Republic) + */ Selectpicker.setDefaults({ noneSelectedText: 'Vyberte zo zoznamu', noneResultsText: 'Pre výraz {0} neboli nájdené žiadne výsledky', @@ -35,6 +41,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-sk_SK.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-sk_SK.js.map diff --git a/docs/dist/js/i18n/defaults-sk_SK.js.map b/docs/dist/js/i18n/defaults-sk_SK.js.map index 24c944d..40e3ff6 100644 --- a/docs/dist/js/i18n/defaults-sk_SK.js.map +++ b/docs/dist/js/i18n/defaults-sk_SK.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-sk_SK.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE;AACzC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE;AAClE,EAAE,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;AACzC,EAAE,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI;AAC5H,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AACjC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;AAClC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-sk_SK.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Vyberte zo zoznamu',\n noneResultsText: 'Pre výraz {0} neboli nájdené žiadne výsledky',\n countSelectedText: 'Vybrané {0} z {1}',\n maxOptionsText: ['Limit prekročený ({n} {var} max)', 'Limit skupiny prekročený ({n} {var} max)', ['položiek', 'položka']],\n selectAllText: 'Vybrať všetky',\n deselectAllText: 'Zrušiť výber',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-sk_SK.js","sources":["../../../virtual:js/i18n/defaults-sk_SK.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: SK\n * Region: SK (Slovak Republic)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Vyberte zo zoznamu',\n noneResultsText: 'Pre výraz {0} neboli nájdené žiadne výsledky',\n countSelectedText: 'Vybrané {0} z {1}',\n maxOptionsText: ['Limit prekročený ({n} {var} max)', 'Limit skupiny prekročený ({n} {var} max)', ['položiek', 'položka']],\n selectAllText: 'Vybrať všetky',\n deselectAllText: 'Zrušiť výber',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,oBAAoB;AACxC,EAAE,eAAe,EAAE,8CAA8C;AACjE,EAAE,iBAAiB,EAAE,mBAAmB;AACxC,EAAE,cAAc,EAAE,CAAC,kCAAkC,EAAE,0CAA0C,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAC3H,EAAE,aAAa,EAAE,eAAe;AAChC,EAAE,eAAe,EAAE,cAAc;AACjC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-sk_SK.min.js b/docs/dist/js/i18n/defaults-sk_SK.min.js index 5704535..72b31ab 100644 --- a/docs/dist/js/i18n/defaults-sk_SK.min.js +++ b/docs/dist/js/i18n/defaults-sk_SK.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Vyberte zo zoznamu",noneResultsText:"Pre v\xfdraz {0} neboli n\xe1jden\xe9 \u017eiadne v\xfdsledky",countSelectedText:"Vybran\xe9 {0} z {1}",maxOptionsText:["Limit prekro\u010den\xfd ({n} {var} max)","Limit skupiny prekro\u010den\xfd ({n} {var} max)",["polo\u017eiek","polo\u017eka"]],selectAllText:"Vybra\u0165 v\u0161etky",deselectAllText:"Zru\u0161i\u0165 v\xfdber",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Vyberte zo zoznamu",noneResultsText:"Pre v\xfdraz {0} neboli n\xe1jden\xe9 \u017eiadne v\xfdsledky",countSelectedText:"Vybran\xe9 {0} z {1}",maxOptionsText:["Limit prekro\u010den\xfd ({n} {var} max)","Limit skupiny prekro\u010den\xfd ({n} {var} max)",["polo\u017eiek","polo\u017eka"]],selectAllText:"Vybra\u0165 v\u0161etky",deselectAllText:"Zru\u0161i\u0165 v\xfdber",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-sk_SK.min.js.map diff --git a/docs/dist/js/i18n/defaults-sk_SK.min.js.map b/docs/dist/js/i18n/defaults-sk_SK.min.js.map new file mode 100644 index 0000000..af1b9eb --- /dev/null +++ b/docs/dist/js/i18n/defaults-sk_SK.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-sk_SK.min.js","sources":["../../../virtual:js/i18n/defaults-sk_SK.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: SK\n * Region: SK (Slovak Republic)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Vyberte zo zoznamu',\n noneResultsText: 'Pre výraz {0} neboli nájdené žiadne výsledky',\n countSelectedText: 'Vybrané {0} z {1}',\n maxOptionsText: ['Limit prekročený ({n} {var} max)', 'Limit skupiny prekročený ({n} {var} max)', ['položiek', 'položka']],\n selectAllText: 'Vybrať všetky',\n deselectAllText: 'Zrušiť výber',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,qBAClBC,gBAAiB,gEACjBC,kBAAmB,uBACnBC,eAAgB,CAAC,2CAAoC,mDAA4C,CAAC,gBAAY,iBAC9GC,cAAe,0BACfC,gBAAiB,4BACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-sl_SI.js b/docs/dist/js/i18n/defaults-sl_SI.js index 2a1e400..997f769 100644 --- a/docs/dist/js/i18n/defaults-sl_SI.js +++ b/docs/dist/js/i18n/defaults-sl_SI.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: SL (Slovenian) + * Region: SI (Slovenia) + */ Selectpicker.setDefaults({ noneSelectedText: 'Nič izbranega', noneResultsText: 'Ni zadetkov za {0}', @@ -40,6 +46,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-sl_SI.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-sl_SI.js.map diff --git a/docs/dist/js/i18n/defaults-sl_SI.js.map b/docs/dist/js/i18n/defaults-sl_SI.js.map index 78621b6..55795b7 100644 --- a/docs/dist/js/i18n/defaults-sl_SI.js.map +++ b/docs/dist/js/i18n/defaults-sl_SI.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-sl_SI.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE;AACpC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;AACxC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;AAC3C,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;AAC/C,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG;AACtD,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;AAC9B,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;AACnC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-sl_SI.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Nič izbranega',\n noneResultsText: 'Ni zadetkov za {0}',\n countSelectedText: '{0} od {1} izbranih',\n maxOptionsText: function (numAll, numGroup) {\n return [\n 'Omejitev dosežena (max. izbranih: {n})',\n 'Omejitev skupine dosežena (max. izbranih: {n})'\n ];\n },\n selectAllText: 'Izberi vse',\n deselectAllText: 'Počisti izbor',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-sl_SI.js","sources":["../../../virtual:js/i18n/defaults-sl_SI.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: SL (Slovenian)\n * Region: SI (Slovenia)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Nič izbranega',\n noneResultsText: 'Ni zadetkov za {0}',\n countSelectedText: '{0} od {1} izbranih',\n maxOptionsText: function (numAll, numGroup) {\n return [\n 'Omejitev dosežena (max. izbranih: {n})',\n 'Omejitev skupine dosežena (max. izbranih: {n})'\n ];\n },\n selectAllText: 'Izberi vse',\n deselectAllText: 'Počisti izbor',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,eAAe;AACnC,EAAE,eAAe,EAAE,oBAAoB;AACvC,EAAE,iBAAiB,EAAE,qBAAqB;AAC1C,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,wCAAwC;AAC9C,MAAM;AACN,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,YAAY;AAC7B,EAAE,eAAe,EAAE,eAAe;AAClC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-sl_SI.min.js b/docs/dist/js/i18n/defaults-sl_SI.min.js index 47dcf29..9f62d42 100644 --- a/docs/dist/js/i18n/defaults-sl_SI.min.js +++ b/docs/dist/js/i18n/defaults-sl_SI.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Ni\u010d izbranega",noneResultsText:"Ni zadetkov za {0}",countSelectedText:"{0} od {1} izbranih",maxOptionsText:function(e,t){return["Omejitev dose\u017eena (max. izbranih: {n})","Omejitev skupine dose\u017eena (max. izbranih: {n})"]},selectAllText:"Izberi vse",deselectAllText:"Po\u010disti izbor",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Ni\u010d izbranega",noneResultsText:"Ni zadetkov za {0}",countSelectedText:"{0} od {1} izbranih",maxOptionsText:function(e,t){return["Omejitev dose\u017eena (max. izbranih: {n})","Omejitev skupine dose\u017eena (max. izbranih: {n})"]},selectAllText:"Izberi vse",deselectAllText:"Po\u010disti izbor",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-sl_SI.min.js.map diff --git a/docs/dist/js/i18n/defaults-sl_SI.min.js.map b/docs/dist/js/i18n/defaults-sl_SI.min.js.map new file mode 100644 index 0000000..bb50c41 --- /dev/null +++ b/docs/dist/js/i18n/defaults-sl_SI.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-sl_SI.min.js","sources":["../../../virtual:js/i18n/defaults-sl_SI.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: SL (Slovenian)\n * Region: SI (Slovenia)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Nič izbranega',\n noneResultsText: 'Ni zadetkov za {0}',\n countSelectedText: '{0} od {1} izbranih',\n maxOptionsText: function (numAll, numGroup) {\n return [\n 'Omejitev dosežena (max. izbranih: {n})',\n 'Omejitev skupine dosežena (max. izbranih: {n})'\n ];\n },\n selectAllText: 'Izberi vse',\n deselectAllText: 'Počisti izbor',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,qBAClBC,gBAAiB,qBACjBC,kBAAmB,sBACnBC,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACL,8CACA,sDAEJ,EACAC,cAAe,aACfC,gBAAiB,qBACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-sr_SP.js b/docs/dist/js/i18n/defaults-sr_SP.js index 78232d0..6b7f011 100644 --- a/docs/dist/js/i18n/defaults-sr_SP.js +++ b/docs/dist/js/i18n/defaults-sr_SP.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: SR (Serbian; Srpski) + * Region: SR (Republic of Serbia) + */ Selectpicker.setDefaults({ noneSelectedText: 'Izaberite', noneResultsText: 'Nema rezultata za {0}', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-sr_SP.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-sr_SP.js.map diff --git a/docs/dist/js/i18n/defaults-sr_SP.js.map b/docs/dist/js/i18n/defaults-sr_SP.js.map index fcf5037..580d3b0 100644 --- a/docs/dist/js/i18n/defaults-sr_SP.js.map +++ b/docs/dist/js/i18n/defaults-sr_SP.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-sr_SP.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,EAAE;AAChC,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;AAC3C,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;AAChE,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG;AAChH,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;AAChI,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;AAC/B,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;AAChC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-sr_SP.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Izaberite',\n noneResultsText: 'Nema rezultata za {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} izabrana' : '{0} izabrane';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit je dostignut ({n} stvar maximalno)' : 'Limit je dostignut ({n} stavke maksimalno)',\n (numGroup == 1) ? 'Grupni limit je dostignut ({n} stvar maksimalno)' : 'Grupni limit je dostignut ({n} stavke maksimalno)'\n ];\n },\n selectAllText: 'Izaberi sve',\n deselectAllText: 'Obrisi sve',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-sr_SP.js","sources":["../../../virtual:js/i18n/defaults-sr_SP.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: SR (Serbian; Srpski)\n * Region: SR (Republic of Serbia)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Izaberite',\n noneResultsText: 'Nema rezultata za {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} izabrana' : '{0} izabrane';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit je dostignut ({n} stvar maximalno)' : 'Limit je dostignut ({n} stavke maksimalno)',\n (numGroup == 1) ? 'Grupni limit je dostignut ({n} stvar maksimalno)' : 'Grupni limit je dostignut ({n} stavke maksimalno)'\n ];\n },\n selectAllText: 'Izaberi sve',\n deselectAllText: 'Obrisi sve',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,WAAW;AAC/B,EAAE,eAAe,EAAE,uBAAuB;AAC1C,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,cAAc,GAAG,cAAc;AAC/D,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,0CAA0C,GAAG,4CAA4C;AAC/G,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,kDAAkD,GAAG;AAC7E,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,aAAa;AAC9B,EAAE,eAAe,EAAE,YAAY;AAC/B,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-sr_SP.min.js b/docs/dist/js/i18n/defaults-sr_SP.min.js index cec650b..540a1c3 100644 --- a/docs/dist/js/i18n/defaults-sr_SP.min.js +++ b/docs/dist/js/i18n/defaults-sr_SP.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Izaberite",noneResultsText:"Nema rezultata za {0}",countSelectedText:function(e,t){return 1==e?"{0} izabrana":"{0} izabrane"},maxOptionsText:function(e,t){return[1==e?"Limit je dostignut ({n} stvar maximalno)":"Limit je dostignut ({n} stavke maksimalno)",1==t?"Grupni limit je dostignut ({n} stvar maksimalno)":"Grupni limit je dostignut ({n} stavke maksimalno)"]},selectAllText:"Izaberi sve",deselectAllText:"Obrisi sve",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Izaberite",noneResultsText:"Nema rezultata za {0}",countSelectedText:function(e,t){return 1==e?"{0} izabrana":"{0} izabrane"},maxOptionsText:function(e,t){return[1==e?"Limit je dostignut ({n} stvar maximalno)":"Limit je dostignut ({n} stavke maksimalno)",1==t?"Grupni limit je dostignut ({n} stvar maksimalno)":"Grupni limit je dostignut ({n} stavke maksimalno)"]},selectAllText:"Izaberi sve",deselectAllText:"Obrisi sve",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-sr_SP.min.js.map diff --git a/docs/dist/js/i18n/defaults-sr_SP.min.js.map b/docs/dist/js/i18n/defaults-sr_SP.min.js.map new file mode 100644 index 0000000..6d5aa6e --- /dev/null +++ b/docs/dist/js/i18n/defaults-sr_SP.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-sr_SP.min.js","sources":["../../../virtual:js/i18n/defaults-sr_SP.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: SR (Serbian; Srpski)\n * Region: SR (Republic of Serbia)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Izaberite',\n noneResultsText: 'Nema rezultata za {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} izabrana' : '{0} izabrane';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit je dostignut ({n} stvar maximalno)' : 'Limit je dostignut ({n} stavke maksimalno)',\n (numGroup == 1) ? 'Grupni limit je dostignut ({n} stvar maksimalno)' : 'Grupni limit je dostignut ({n} stavke maksimalno)'\n ];\n },\n selectAllText: 'Izaberi sve',\n deselectAllText: 'Obrisi sve',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,YAClBC,gBAAiB,wBACjBC,kBAAmB,SAAUC,EAAaC,GACxC,OAAuB,GAAfD,EAAoB,eAAiB,cAC/C,EACAE,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACM,GAAVD,EAAe,2CAA6C,6CAChD,GAAZC,EAAiB,mDAAqD,oDAE3E,EACAC,cAAe,cACfC,gBAAiB,aACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-sv_SE.js b/docs/dist/js/i18n/defaults-sv_SE.js index 02241de..e05604e 100644 --- a/docs/dist/js/i18n/defaults-sv_SE.js +++ b/docs/dist/js/i18n/defaults-sv_SE.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: SV (Swedish) + * Region: SE (Sweden) + */ Selectpicker.setDefaults({ noneSelectedText: 'Inget valt', noneResultsText: 'Inget sökresultat matchar {0}', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-sv_SE.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-sv_SE.js.map diff --git a/docs/dist/js/i18n/defaults-sv_SE.js.map b/docs/dist/js/i18n/defaults-sv_SE.js.map index 8349de3..601decd 100644 --- a/docs/dist/js/i18n/defaults-sv_SE.js.map +++ b/docs/dist/js/i18n/defaults-sv_SE.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-sv_SE.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;AACjC,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;AACnD,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE;AAChF,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG;AAC1C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE;AAC9C,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE;AAChC,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE;AACpC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-sv_SE.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Inget valt',\n noneResultsText: 'Inget sökresultat matchar {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected === 1) ? '{0} alternativ valt' : '{0} alternativ valda';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n 'Gräns uppnåd (max {n} alternativ)',\n 'Gräns uppnåd (max {n} gruppalternativ)'\n ];\n },\n selectAllText: 'Markera alla',\n deselectAllText: 'Avmarkera alla',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-sv_SE.js","sources":["../../../virtual:js/i18n/defaults-sv_SE.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: SV (Swedish)\n * Region: SE (Sweden)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Inget valt',\n noneResultsText: 'Inget sökresultat matchar {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected === 1) ? '{0} alternativ valt' : '{0} alternativ valda';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n 'Gräns uppnåd (max {n} alternativ)',\n 'Gräns uppnåd (max {n} gruppalternativ)'\n ];\n },\n selectAllText: 'Markera alla',\n deselectAllText: 'Avmarkera alla',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,YAAY;AAChC,EAAE,eAAe,EAAE,+BAA+B;AAClD,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,KAAK,CAAC,IAAI,qBAAqB,GAAG,sBAAsB;AAC/E,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,mCAAmC;AACzC,MAAM;AACN,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,cAAc;AAC/B,EAAE,eAAe,EAAE,gBAAgB;AACnC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-sv_SE.min.js b/docs/dist/js/i18n/defaults-sv_SE.min.js index 63409ba..1d70c0e 100644 --- a/docs/dist/js/i18n/defaults-sv_SE.min.js +++ b/docs/dist/js/i18n/defaults-sv_SE.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Inget valt",noneResultsText:"Inget s\xf6kresultat matchar {0}",countSelectedText:function(e,t){return 1===e?"{0} alternativ valt":"{0} alternativ valda"},maxOptionsText:function(e,t){return["Gr\xe4ns uppn\xe5d (max {n} alternativ)","Gr\xe4ns uppn\xe5d (max {n} gruppalternativ)"]},selectAllText:"Markera alla",deselectAllText:"Avmarkera alla",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Inget valt",noneResultsText:"Inget s\xf6kresultat matchar {0}",countSelectedText:function(e,t){return 1===e?"{0} alternativ valt":"{0} alternativ valda"},maxOptionsText:function(e,t){return["Gr\xe4ns uppn\xe5d (max {n} alternativ)","Gr\xe4ns uppn\xe5d (max {n} gruppalternativ)"]},selectAllText:"Markera alla",deselectAllText:"Avmarkera alla",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-sv_SE.min.js.map diff --git a/docs/dist/js/i18n/defaults-sv_SE.min.js.map b/docs/dist/js/i18n/defaults-sv_SE.min.js.map new file mode 100644 index 0000000..d019afd --- /dev/null +++ b/docs/dist/js/i18n/defaults-sv_SE.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-sv_SE.min.js","sources":["../../../virtual:js/i18n/defaults-sv_SE.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: SV (Swedish)\n * Region: SE (Sweden)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Inget valt',\n noneResultsText: 'Inget sökresultat matchar {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected === 1) ? '{0} alternativ valt' : '{0} alternativ valda';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n 'Gräns uppnåd (max {n} alternativ)',\n 'Gräns uppnåd (max {n} gruppalternativ)'\n ];\n },\n selectAllText: 'Markera alla',\n deselectAllText: 'Avmarkera alla',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,aAClBC,gBAAiB,mCACjBC,kBAAmB,SAAUC,EAAaC,GACxC,OAAwB,IAAhBD,EAAqB,sBAAwB,sBACvD,EACAE,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACL,0CACA,+CAEJ,EACAC,cAAe,eACfC,gBAAiB,iBACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-th_TH.js b/docs/dist/js/i18n/defaults-th_TH.js index 00d575b..ace8bfe 100644 --- a/docs/dist/js/i18n/defaults-th_TH.js +++ b/docs/dist/js/i18n/defaults-th_TH.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,14 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: TH (Thai) + * Region: TH (Thailand) + * Author: Ekkachai Sohmontha + */ Selectpicker.setDefaults({ noneSelectedText: 'ไม่ได้เลือกอะไรเลย', noneResultsText: 'ไม่มีผลลัพธ์ที่ตรงกัน {0}', @@ -35,6 +42,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-th_TH.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-th_TH.js.map diff --git a/docs/dist/js/i18n/defaults-th_TH.js.map b/docs/dist/js/i18n/defaults-th_TH.js.map index d6a0b2c..24bcb05 100644 --- a/docs/dist/js/i18n/defaults-th_TH.js.map +++ b/docs/dist/js/i18n/defaults-th_TH.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-th_TH.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,qBAAqB;AACzC,EAAE,eAAe,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG;AAC/C,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;AAC1C,EAAE,cAAc,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;AACpG,EAAE,aAAa,CAAC,CAAC,eAAe;AAChC,EAAE,eAAe,CAAC,CAAC,kBAAkB;AACrC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-th_TH.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'ไม่ได้เลือกอะไรเลย',\n noneResultsText: 'ไม่มีผลลัพธ์ที่ตรงกัน {0}',\n countSelectedText: '{0} รายการที่เลือก',\n maxOptionsText: ['เกินจำนวนที่กำหนด (สูงสุด {n} รายการ)', 'เกินจำนวนที่กำหนด (สูงสุด {n} กลุ่ม)'],\n selectAllText: 'เลือกทั้งหมด',\n deselectAllText: 'ไม่เลือกทั้งหมด',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-th_TH.js","sources":["../../../virtual:js/i18n/defaults-th_TH.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: TH (Thai)\n * Region: TH (Thailand)\n * Author: Ekkachai Sohmontha\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'ไม่ได้เลือกอะไรเลย',\n noneResultsText: 'ไม่มีผลลัพธ์ที่ตรงกัน {0}',\n countSelectedText: '{0} รายการที่เลือก',\n maxOptionsText: ['เกินจำนวนที่กำหนด (สูงสุด {n} รายการ)', 'เกินจำนวนที่กำหนด (สูงสุด {n} กลุ่ม)'],\n selectAllText: 'เลือกทั้งหมด',\n deselectAllText: 'ไม่เลือกทั้งหมด',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,oBAAoB;AACxC,EAAE,eAAe,EAAE,2BAA2B;AAC9C,EAAE,iBAAiB,EAAE,oBAAoB;AACzC,EAAE,cAAc,EAAE,CAAC,uCAAuC,EAAE,sCAAsC,CAAC;AACnG,EAAE,aAAa,EAAE,cAAc;AAC/B,EAAE,eAAe,EAAE,iBAAiB;AACpC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-th_TH.min.js b/docs/dist/js/i18n/defaults-th_TH.min.js index 3596a63..ea02fbd 100644 --- a/docs/dist/js/i18n/defaults-th_TH.min.js +++ b/docs/dist/js/i18n/defaults-th_TH.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2d\u0e30\u0e44\u0e23\u0e40\u0e25\u0e22",noneResultsText:"\u0e44\u0e21\u0e48\u0e21\u0e35\u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c\u0e17\u0e35\u0e48\u0e15\u0e23\u0e07\u0e01\u0e31\u0e19 {0}",countSelectedText:"{0} \u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e40\u0e25\u0e37\u0e2d\u0e01",maxOptionsText:["\u0e40\u0e01\u0e34\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14 (\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14 {n} \u0e23\u0e32\u0e22\u0e01\u0e32\u0e23)","\u0e40\u0e01\u0e34\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14 (\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14 {n} \u0e01\u0e25\u0e38\u0e48\u0e21)"],selectAllText:"\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",deselectAllText:"\u0e44\u0e21\u0e48\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2d\u0e30\u0e44\u0e23\u0e40\u0e25\u0e22",noneResultsText:"\u0e44\u0e21\u0e48\u0e21\u0e35\u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c\u0e17\u0e35\u0e48\u0e15\u0e23\u0e07\u0e01\u0e31\u0e19 {0}",countSelectedText:"{0} \u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e40\u0e25\u0e37\u0e2d\u0e01",maxOptionsText:["\u0e40\u0e01\u0e34\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14 (\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14 {n} \u0e23\u0e32\u0e22\u0e01\u0e32\u0e23)","\u0e40\u0e01\u0e34\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14 (\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14 {n} \u0e01\u0e25\u0e38\u0e48\u0e21)"],selectAllText:"\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",deselectAllText:"\u0e44\u0e21\u0e48\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-th_TH.min.js.map diff --git a/docs/dist/js/i18n/defaults-th_TH.min.js.map b/docs/dist/js/i18n/defaults-th_TH.min.js.map new file mode 100644 index 0000000..4590543 --- /dev/null +++ b/docs/dist/js/i18n/defaults-th_TH.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-th_TH.min.js","sources":["../../../virtual:js/i18n/defaults-th_TH.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: TH (Thai)\n * Region: TH (Thailand)\n * Author: Ekkachai Sohmontha\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'ไม่ได้เลือกอะไรเลย',\n noneResultsText: 'ไม่มีผลลัพธ์ที่ตรงกัน {0}',\n countSelectedText: '{0} รายการที่เลือก',\n maxOptionsText: ['เกินจำนวนที่กำหนด (สูงสุด {n} รายการ)', 'เกินจำนวนที่กำหนด (สูงสุด {n} กลุ่ม)'],\n selectAllText: 'เลือกทั้งหมด',\n deselectAllText: 'ไม่เลือกทั้งหมด',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GASZK,aAAaC,YAAY,CACvBC,iBAAkB,+GAClBC,gBAAiB,qIACjBC,kBAAmB,2FACnBC,eAAgB,CAAC,yLAAyC,oLAC1DC,cAAe,2EACfC,gBAAiB,6FACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-tk_TK.js b/docs/dist/js/i18n/defaults-tk_TK.js index ef228c7..f1e92f8 100644 --- a/docs/dist/js/i18n/defaults-tk_TK.js +++ b/docs/dist/js/i18n/defaults-tk_TK.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,14 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: TK (Turkmen) + * Region: TK (Turkmenistan) + * Author: Atageldi Didarov + */ Selectpicker.setDefaults({ noneSelectedText: 'Hiç biri saýlanmady', noneResultsText: 'Gabat gelýän tapylmady {0}', @@ -46,6 +53,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-tk_TK.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-tk_TK.js.map diff --git a/docs/dist/js/i18n/defaults-tk_TK.js.map b/docs/dist/js/i18n/defaults-tk_TK.js.map index 0b5d013..515fe7c 100644 --- a/docs/dist/js/i18n/defaults-tk_TK.js.map +++ b/docs/dist/js/i18n/defaults-tk_TK.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-tk_TK.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;AAC1C,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;AAChD,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;AAC9E,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC;AACjB,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;AACpD,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG;AACrD,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC;AACnB,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;AAC3D,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;AAC3D,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE;AACnC,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;AACpC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-tk_TK.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Hiç biri saýlanmady',\n noneResultsText: 'Gabat gelýän tapylmady {0}',\n countSelectedText: function (numSelected, numTotal) {\n return numSelected == 1 ? '{0} element saýlandy' : '{0} element saýlandy';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n numAll == 1\n ? 'Çäkden geçdi (maksimum {n} sany element)'\n : 'Çäkden geçdi (maksimum {n} sany element)',\n numGroup == 1\n ? 'Topar çäkleri geçdi (maksimum {n} sany element)'\n : 'Topar çäkleri geçdi (maksimum {n} sany element)'\n ];\n },\n selectAllText: 'Hemmesini saýla',\n deselectAllText: 'Hemmesini aýyr',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-tk_TK.js","sources":["../../../virtual:js/i18n/defaults-tk_TK.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: TK (Turkmen)\n * Region: TK (Turkmenistan)\n * Author: Atageldi Didarov\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Hiç biri saýlanmady',\n noneResultsText: 'Gabat gelýän tapylmady {0}',\n countSelectedText: function (numSelected, numTotal) {\n return numSelected == 1 ? '{0} element saýlandy' : '{0} element saýlandy';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n numAll == 1\n ? 'Çäkden geçdi (maksimum {n} sany element)'\n : 'Çäkden geçdi (maksimum {n} sany element)',\n numGroup == 1\n ? 'Topar çäkleri geçdi (maksimum {n} sany element)'\n : 'Topar çäkleri geçdi (maksimum {n} sany element)'\n ];\n },\n selectAllText: 'Hemmesini saýla',\n deselectAllText: 'Hemmesini aýyr',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,qBAAqB;AACzC,EAAE,eAAe,EAAE,4BAA4B;AAC/C,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,WAAW,IAAI,CAAC,GAAG,sBAAsB,GAAG,sBAAsB;AAC7E,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,MAAM,IAAI;AAChB,UAAU;AACV,UAAU,0CAA0C;AACpD,MAAM,QAAQ,IAAI;AAClB,UAAU;AACV,UAAU;AACV,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,iBAAiB;AAClC,EAAE,eAAe,EAAE,gBAAgB;AACnC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-tk_TK.min.js b/docs/dist/js/i18n/defaults-tk_TK.min.js index 0e7a564..9344f15 100644 --- a/docs/dist/js/i18n/defaults-tk_TK.min.js +++ b/docs/dist/js/i18n/defaults-tk_TK.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Hi\xe7 biri sa\xfdlanmady",noneResultsText:"Gabat gel\xfd\xe4n tapylmady {0}",countSelectedText:function(e,t){return"{0} element sa\xfdlandy"},maxOptionsText:function(e,t){return["\xc7\xe4kden ge\xe7di (maksimum {n} sany element)","Topar \xe7\xe4kleri ge\xe7di (maksimum {n} sany element)"]},selectAllText:"Hemmesini sa\xfdla",deselectAllText:"Hemmesini a\xfdyr",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Hi\xe7 biri sa\xfdlanmady",noneResultsText:"Gabat gel\xfd\xe4n tapylmady {0}",countSelectedText:function(e,t){return"{0} element sa\xfdlandy"},maxOptionsText:function(e,t){return["\xc7\xe4kden ge\xe7di (maksimum {n} sany element)","Topar \xe7\xe4kleri ge\xe7di (maksimum {n} sany element)"]},selectAllText:"Hemmesini sa\xfdla",deselectAllText:"Hemmesini a\xfdyr",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-tk_TK.min.js.map diff --git a/docs/dist/js/i18n/defaults-tk_TK.min.js.map b/docs/dist/js/i18n/defaults-tk_TK.min.js.map new file mode 100644 index 0000000..ef4f196 --- /dev/null +++ b/docs/dist/js/i18n/defaults-tk_TK.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-tk_TK.min.js","sources":["../../../virtual:js/i18n/defaults-tk_TK.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: TK (Turkmen)\n * Region: TK (Turkmenistan)\n * Author: Atageldi Didarov\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Hiç biri saýlanmady',\n noneResultsText: 'Gabat gelýän tapylmady {0}',\n countSelectedText: function (numSelected, numTotal) {\n return numSelected == 1 ? '{0} element saýlandy' : '{0} element saýlandy';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n numAll == 1\n ? 'Çäkden geçdi (maksimum {n} sany element)'\n : 'Çäkden geçdi (maksimum {n} sany element)',\n numGroup == 1\n ? 'Topar çäkleri geçdi (maksimum {n} sany element)'\n : 'Topar çäkleri geçdi (maksimum {n} sany element)'\n ];\n },\n selectAllText: 'Hemmesini saýla',\n deselectAllText: 'Hemmesini aýyr',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GASZK,aAAaC,YAAY,CACvBC,iBAAkB,4BAClBC,gBAAiB,mCACjBC,kBAAmB,SAAUC,EAAaC,GACxC,MAA0B,yBAC5B,EACAC,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CAED,oDAGA,2DAGR,EACAC,cAAe,qBACfC,gBAAiB,oBACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-tr_TR.js b/docs/dist/js/i18n/defaults-tr_TR.js index 701d897..8f6ba0b 100644 --- a/docs/dist/js/i18n/defaults-tr_TR.js +++ b/docs/dist/js/i18n/defaults-tr_TR.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,14 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: TR (Turkey) + * Region: TR (Europe) + * Author: Serhan Güney & Mehmet Emre Kutluca + */ Selectpicker.setDefaults({ noneSelectedText: 'Hiçbiri seçilmedi', noneResultsText: 'Hiçbir sonuç bulunamadı {0}', @@ -42,6 +49,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-tr_TR.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-tr_TR.js.map diff --git a/docs/dist/js/i18n/defaults-tr_TR.js.map b/docs/dist/js/i18n/defaults-tr_TR.js.map index 44e1904..8a6669b 100644 --- a/docs/dist/js/i18n/defaults-tr_TR.js.map +++ b/docs/dist/js/i18n/defaults-tr_TR.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-tr_TR.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;AACxC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG;AACjD,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE;AACtE,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG;AAC3G,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACvH,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG;AAC9B,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;AAC1C,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-tr_TR.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Hiçbiri seçilmedi',\n noneResultsText: 'Hiçbir sonuç bulunamadı {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} öğe seçildi' : '{0} öğe seçildi';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit aşıldı (maksimum {n} sayıda öğe )' : 'Limit aşıldı (maksimum {n} sayıda öğe)',\n (numGroup == 1) ? 'Grup limiti aşıldı (maksimum {n} sayıda öğe)' : 'Grup limiti aşıldı (maksimum {n} sayıda öğe)'\n ];\n },\n selectAllText: 'Tümünü Seç',\n deselectAllText: 'Tüm Seçimleri Kaldır',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-tr_TR.js","sources":["../../../virtual:js/i18n/defaults-tr_TR.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: TR (Turkey)\n * Region: TR (Europe)\n * Author: Serhan Güney & Mehmet Emre Kutluca\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Hiçbiri seçilmedi',\n noneResultsText: 'Hiçbir sonuç bulunamadı {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} öğe seçildi' : '{0} öğe seçildi';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit aşıldı (maksimum {n} sayıda öğe )' : 'Limit aşıldı (maksimum {n} sayıda öğe)',\n (numGroup == 1) ? 'Grup limiti aşıldı (maksimum {n} sayıda öğe)' : 'Grup limiti aşıldı (maksimum {n} sayıda öğe)'\n ];\n },\n selectAllText: 'Tümünü Seç',\n deselectAllText: 'Tüm Seçimleri Kaldır',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,mBAAmB;AACvC,EAAE,eAAe,EAAE,6BAA6B;AAChD,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,iBAAiB,GAAG,iBAAiB;AACrE,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,yCAAyC,GAAG,wCAAwC;AAC1G,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,8CAA8C,GAAG;AACzE,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,YAAY;AAC7B,EAAE,eAAe,EAAE,sBAAsB;AACzC,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-tr_TR.min.js b/docs/dist/js/i18n/defaults-tr_TR.min.js index 404180e..281ac39 100644 --- a/docs/dist/js/i18n/defaults-tr_TR.min.js +++ b/docs/dist/js/i18n/defaults-tr_TR.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Hi\xe7biri se\xe7ilmedi",noneResultsText:"Hi\xe7bir sonu\xe7 bulunamad\u0131 {0}",countSelectedText:function(e,t){return"{0} \xf6\u011fe se\xe7ildi"},maxOptionsText:function(e,t){return[1==e?"Limit a\u015f\u0131ld\u0131 (maksimum {n} say\u0131da \xf6\u011fe )":"Limit a\u015f\u0131ld\u0131 (maksimum {n} say\u0131da \xf6\u011fe)","Grup limiti a\u015f\u0131ld\u0131 (maksimum {n} say\u0131da \xf6\u011fe)"]},selectAllText:"T\xfcm\xfcn\xfc Se\xe7",deselectAllText:"T\xfcm Se\xe7imleri Kald\u0131r",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Hi\xe7biri se\xe7ilmedi",noneResultsText:"Hi\xe7bir sonu\xe7 bulunamad\u0131 {0}",countSelectedText:function(e,t){return"{0} \xf6\u011fe se\xe7ildi"},maxOptionsText:function(e,t){return[1==e?"Limit a\u015f\u0131ld\u0131 (maksimum {n} say\u0131da \xf6\u011fe )":"Limit a\u015f\u0131ld\u0131 (maksimum {n} say\u0131da \xf6\u011fe)","Grup limiti a\u015f\u0131ld\u0131 (maksimum {n} say\u0131da \xf6\u011fe)"]},selectAllText:"T\xfcm\xfcn\xfc Se\xe7",deselectAllText:"T\xfcm Se\xe7imleri Kald\u0131r",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-tr_TR.min.js.map diff --git a/docs/dist/js/i18n/defaults-tr_TR.min.js.map b/docs/dist/js/i18n/defaults-tr_TR.min.js.map new file mode 100644 index 0000000..7b5c201 --- /dev/null +++ b/docs/dist/js/i18n/defaults-tr_TR.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-tr_TR.min.js","sources":["../../../virtual:js/i18n/defaults-tr_TR.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: TR (Turkey)\n * Region: TR (Europe)\n * Author: Serhan Güney & Mehmet Emre Kutluca\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Hiçbiri seçilmedi',\n noneResultsText: 'Hiçbir sonuç bulunamadı {0}',\n countSelectedText: function (numSelected, numTotal) {\n return (numSelected == 1) ? '{0} öğe seçildi' : '{0} öğe seçildi';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n (numAll == 1) ? 'Limit aşıldı (maksimum {n} sayıda öğe )' : 'Limit aşıldı (maksimum {n} sayıda öğe)',\n (numGroup == 1) ? 'Grup limiti aşıldı (maksimum {n} sayıda öğe)' : 'Grup limiti aşıldı (maksimum {n} sayıda öğe)'\n ];\n },\n selectAllText: 'Tümünü Seç',\n deselectAllText: 'Tüm Seçimleri Kaldır',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GASZK,aAAaC,YAAY,CACvBC,iBAAkB,0BAClBC,gBAAiB,yCACjBC,kBAAmB,SAAUC,EAAaC,GACxC,MAA4B,4BAC9B,EACAC,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACM,GAAVD,EAAe,sEAA4C,qEAC1C,2EAEtB,EACAE,cAAe,yBACfC,gBAAiB,kCACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-ua_UA.js b/docs/dist/js/i18n/defaults-ua_UA.js index 931e91b..c9d3fd0 100644 --- a/docs/dist/js/i18n/defaults-ua_UA.js +++ b/docs/dist/js/i18n/defaults-ua_UA.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: UA (Ukrainian; Українська) + * Region: UA (Ukraine) + */ Selectpicker.setDefaults({ noneSelectedText: 'Нічого не вибрано', noneResultsText: 'Збігів не знайдено {0}', @@ -35,6 +41,6 @@ Selectpicker.setDefaults({ deselectAllText: 'Скасувати вибір усі' }); -})); -//# sourceMappingURL=defaults-ua_UA.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-ua_UA.js.map diff --git a/docs/dist/js/i18n/defaults-ua_UA.js.map b/docs/dist/js/i18n/defaults-ua_UA.js.map index def3200..9cf7690 100644 --- a/docs/dist/js/i18n/defaults-ua_UA.js.map +++ b/docs/dist/js/i18n/defaults-ua_UA.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-ua_UA.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS;AACxC,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;AAC5C,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;AAC1C,EAAE,cAAc,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI;AAC5H,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE;AAC1B,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK;AAC/B,EAAE,eAAe,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI;AACxC,GAAG","file":"defaults-ua_UA.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Нічого не вибрано',\n noneResultsText: 'Збігів не знайдено {0}',\n countSelectedText: 'Вибрано {0} із {1}',\n maxOptionsText: ['Досягнута межа ({n} {var} максимум)', 'Досягнута межа в групі ({n} {var} максимум)', ['items', 'item']],\n multipleSeparator: ', ',\n selectAllText: 'Вибрати все',\n deselectAllText: 'Скасувати вибір усі'\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-ua_UA.js","sources":["../../../virtual:js/i18n/defaults-ua_UA.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: UA (Ukrainian; Українська)\n * Region: UA (Ukraine)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Нічого не вибрано',\n noneResultsText: 'Збігів не знайдено {0}',\n countSelectedText: 'Вибрано {0} із {1}',\n maxOptionsText: ['Досягнута межа ({n} {var} максимум)', 'Досягнута межа в групі ({n} {var} максимум)', ['items', 'item']],\n multipleSeparator: ', ',\n selectAllText: 'Вибрати все',\n deselectAllText: 'Скасувати вибір усі'\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,mBAAmB;AACvC,EAAE,eAAe,EAAE,wBAAwB;AAC3C,EAAE,iBAAiB,EAAE,oBAAoB;AACzC,EAAE,cAAc,EAAE,CAAC,qCAAqC,EAAE,6CAA6C,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC3H,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,aAAa,EAAE,aAAa;AAC9B,EAAE,eAAe,EAAE;AACnB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-ua_UA.min.js b/docs/dist/js/i18n/defaults-ua_UA.min.js index 10e4385..0de9ec3 100644 --- a/docs/dist/js/i18n/defaults-ua_UA.min.js +++ b/docs/dist/js/i18n/defaults-ua_UA.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"\u041d\u0456\u0447\u043e\u0433\u043e \u043d\u0435 \u0432\u0438\u0431\u0440\u0430\u043d\u043e",noneResultsText:"\u0417\u0431\u0456\u0433\u0456\u0432 \u043d\u0435 \u0437\u043d\u0430\u0439\u0434\u0435\u043d\u043e {0}",countSelectedText:"\u0412\u0438\u0431\u0440\u0430\u043d\u043e {0} \u0456\u0437 {1}",maxOptionsText:["\u0414\u043e\u0441\u044f\u0433\u043d\u0443\u0442\u0430 \u043c\u0435\u0436\u0430 ({n} {var} \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c)","\u0414\u043e\u0441\u044f\u0433\u043d\u0443\u0442\u0430 \u043c\u0435\u0436\u0430 \u0432 \u0433\u0440\u0443\u043f\u0456 ({n} {var} \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c)",["items","item"]],multipleSeparator:", ",selectAllText:"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0432\u0441\u0435",deselectAllText:"\u0421\u043a\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0431\u0456\u0440 \u0443\u0441\u0456"})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"\u041d\u0456\u0447\u043e\u0433\u043e \u043d\u0435 \u0432\u0438\u0431\u0440\u0430\u043d\u043e",noneResultsText:"\u0417\u0431\u0456\u0433\u0456\u0432 \u043d\u0435 \u0437\u043d\u0430\u0439\u0434\u0435\u043d\u043e {0}",countSelectedText:"\u0412\u0438\u0431\u0440\u0430\u043d\u043e {0} \u0456\u0437 {1}",maxOptionsText:["\u0414\u043e\u0441\u044f\u0433\u043d\u0443\u0442\u0430 \u043c\u0435\u0436\u0430 ({n} {var} \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c)","\u0414\u043e\u0441\u044f\u0433\u043d\u0443\u0442\u0430 \u043c\u0435\u0436\u0430 \u0432 \u0433\u0440\u0443\u043f\u0456 ({n} {var} \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c)",["items","item"]],multipleSeparator:", ",selectAllText:"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0432\u0441\u0435",deselectAllText:"\u0421\u043a\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0431\u0456\u0440 \u0443\u0441\u0456"})}); +//# sourceMappingURL=defaults-ua_UA.min.js.map diff --git a/docs/dist/js/i18n/defaults-ua_UA.min.js.map b/docs/dist/js/i18n/defaults-ua_UA.min.js.map new file mode 100644 index 0000000..82b5744 --- /dev/null +++ b/docs/dist/js/i18n/defaults-ua_UA.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-ua_UA.min.js","sources":["../../../virtual:js/i18n/defaults-ua_UA.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: UA (Ukrainian; Українська)\n * Region: UA (Ukraine)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Нічого не вибрано',\n noneResultsText: 'Збігів не знайдено {0}',\n countSelectedText: 'Вибрано {0} із {1}',\n maxOptionsText: ['Досягнута межа ({n} {var} максимум)', 'Досягнута межа в групі ({n} {var} максимум)', ['items', 'item']],\n multipleSeparator: ', ',\n selectAllText: 'Вибрати все',\n deselectAllText: 'Скасувати вибір усі'\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","multipleSeparator","selectAllText","deselectAllText"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,+FAClBC,gBAAiB,yGACjBC,kBAAmB,kEACnBC,eAAgB,CAAC,+IAAuC,qLAA+C,CAAC,QAAS,SACjHC,kBAAmB,KACnBC,cAAe,gEACfC,gBAAiB,4GAInB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-vi_VN.js b/docs/dist/js/i18n/defaults-vi_VN.js index 85eb523..41387d5 100644 --- a/docs/dist/js/i18n/defaults-vi_VN.js +++ b/docs/dist/js/i18n/defaults-vi_VN.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Dịch các văn bản mặc định cho bootstrap-select. + * Locale: VI (Vietnamese) + * Region: VN (Việt Nam) + */ Selectpicker.setDefaults({ noneSelectedText: 'Chưa chọn', noneResultsText: 'Không có kết quả cho {0}', @@ -42,6 +48,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-vi_VN.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-vi_VN.js.map diff --git a/docs/dist/js/i18n/defaults-vi_VN.js.map b/docs/dist/js/i18n/defaults-vi_VN.js.map index eb080d2..b22c197 100644 --- a/docs/dist/js/i18n/defaults-vi_VN.js.map +++ b/docs/dist/js/i18n/defaults-vi_VN.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-vi_VN.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AAChC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;AAC9C,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AAC7B,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,CAAC;AACZ,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;AAC1C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AACzC,IAAI,EAAE;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;AAC/B,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AAC7B,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-vi_VN.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: 'Chưa chọn',\n noneResultsText: 'Không có kết quả cho {0}',\n countSelectedText: function (numSelected, numTotal) {\n return '{0} mục đã chọn';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n 'Không thể chọn (giới hạn {n} mục)',\n 'Không thể chọn (giới hạn {n} mục)'\n ];\n },\n selectAllText: 'Chọn tất cả',\n deselectAllText: 'Bỏ chọn',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-vi_VN.js","sources":["../../../virtual:js/i18n/defaults-vi_VN.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Dịch các văn bản mặc định cho bootstrap-select.\n * Locale: VI (Vietnamese)\n * Region: VN (Việt Nam)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Chưa chọn',\n noneResultsText: 'Không có kết quả cho {0}',\n countSelectedText: function (numSelected, numTotal) {\n return '{0} mục đã chọn';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n 'Không thể chọn (giới hạn {n} mục)',\n 'Không thể chọn (giới hạn {n} mục)'\n ];\n },\n selectAllText: 'Chọn tất cả',\n deselectAllText: 'Bỏ chọn',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,WAAW;AAC/B,EAAE,eAAe,EAAE,0BAA0B;AAC7C,EAAE,iBAAiB,EAAE,UAAU,WAAW,EAAE,QAAQ,EAAE;AACtD,IAAI,OAAO,iBAAiB;AAC5B,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE;AAC9C,IAAI,OAAO;AACX,MAAM,mCAAmC;AACzC,MAAM;AACN,KAAK;AACL,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,aAAa;AAC9B,EAAE,eAAe,EAAE,SAAS;AAC5B,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-vi_VN.min.js b/docs/dist/js/i18n/defaults-vi_VN.min.js index 8a2bfa7..a7c258c 100644 --- a/docs/dist/js/i18n/defaults-vi_VN.min.js +++ b/docs/dist/js/i18n/defaults-vi_VN.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"Ch\u01b0a ch\u1ecdn",noneResultsText:"Kh\xf4ng c\xf3 k\u1ebft qu\u1ea3 cho {0}",countSelectedText:function(e,t){return"{0} m\u1ee5c \u0111\xe3 ch\u1ecdn"},maxOptionsText:function(e,t){return["Kh\xf4ng th\u1ec3 ch\u1ecdn (gi\u1edbi h\u1ea1n {n} m\u1ee5c)","Kh\xf4ng th\u1ec3 ch\u1ecdn (gi\u1edbi h\u1ea1n {n} m\u1ee5c)"]},selectAllText:"Ch\u1ecdn t\u1ea5t c\u1ea3",deselectAllText:"B\u1ecf ch\u1ecdn",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"Ch\u01b0a ch\u1ecdn",noneResultsText:"Kh\xf4ng c\xf3 k\u1ebft qu\u1ea3 cho {0}",countSelectedText:function(e,t){return"{0} m\u1ee5c \u0111\xe3 ch\u1ecdn"},maxOptionsText:function(e,t){return["Kh\xf4ng th\u1ec3 ch\u1ecdn (gi\u1edbi h\u1ea1n {n} m\u1ee5c)","Kh\xf4ng th\u1ec3 ch\u1ecdn (gi\u1edbi h\u1ea1n {n} m\u1ee5c)"]},selectAllText:"Ch\u1ecdn t\u1ea5t c\u1ea3",deselectAllText:"B\u1ecf ch\u1ecdn",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-vi_VN.min.js.map diff --git a/docs/dist/js/i18n/defaults-vi_VN.min.js.map b/docs/dist/js/i18n/defaults-vi_VN.min.js.map new file mode 100644 index 0000000..ace9630 --- /dev/null +++ b/docs/dist/js/i18n/defaults-vi_VN.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-vi_VN.min.js","sources":["../../../virtual:js/i18n/defaults-vi_VN.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Dịch các văn bản mặc định cho bootstrap-select.\n * Locale: VI (Vietnamese)\n * Region: VN (Việt Nam)\n */\nSelectpicker.setDefaults({\n noneSelectedText: 'Chưa chọn',\n noneResultsText: 'Không có kết quả cho {0}',\n countSelectedText: function (numSelected, numTotal) {\n return '{0} mục đã chọn';\n },\n maxOptionsText: function (numAll, numGroup) {\n return [\n 'Không thể chọn (giới hạn {n} mục)',\n 'Không thể chọn (giới hạn {n} mục)'\n ];\n },\n selectAllText: 'Chọn tất cả',\n deselectAllText: 'Bỏ chọn',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,sBAClBC,gBAAiB,2CACjBC,kBAAmB,SAAUC,EAAaC,GACxC,MAAO,mCACT,EACAC,eAAgB,SAAUC,EAAQC,GAChC,MAAO,CACL,gEACA,gEAEJ,EACAC,cAAe,6BACfC,gBAAiB,oBACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-zh_CN.js b/docs/dist/js/i18n/defaults-zh_CN.js index 29da990..ad3499c 100644 --- a/docs/dist/js/i18n/defaults-zh_CN.js +++ b/docs/dist/js/i18n/defaults-zh_CN.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: ZH (Chinese) + * Region: CN (China) + */ Selectpicker.setDefaults({ noneSelectedText: '没有选中任何项', noneResultsText: '没有找到匹配项', @@ -35,6 +41,6 @@ Selectpicker.setDefaults({ deselectAllText: '取消全选' }); -})); -//# sourceMappingURL=defaults-zh_CN.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-zh_CN.js.map diff --git a/docs/dist/js/i18n/defaults-zh_CN.js.map b/docs/dist/js/i18n/defaults-zh_CN.js.map index beb3881..c880651 100644 --- a/docs/dist/js/i18n/defaults-zh_CN.js.map +++ b/docs/dist/js/i18n/defaults-zh_CN.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-zh_CN.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,UAAU;AAC9B,EAAE,eAAe,CAAC,CAAC,UAAU;AAC7B,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;AACnC,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM;AAC3D,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE;AAC1B,EAAE,aAAa,CAAC,CAAC,KAAK;AACtB,EAAE,eAAe,CAAC,CAAC,MAAM;AACzB,GAAG","file":"defaults-zh_CN.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: '没有选中任何项',\n noneResultsText: '没有找到匹配项',\n countSelectedText: '选中{1}中的{0}项',\n maxOptionsText: ['超出限制 (最多选择{n}项)', '组选择超出限制(最多选择{n}组)'],\n multipleSeparator: ', ',\n selectAllText: '全选',\n deselectAllText: '取消全选'\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-zh_CN.js","sources":["../../../virtual:js/i18n/defaults-zh_CN.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: ZH (Chinese)\n * Region: CN (China)\n */\nSelectpicker.setDefaults({\n noneSelectedText: '没有选中任何项',\n noneResultsText: '没有找到匹配项',\n countSelectedText: '选中{1}中的{0}项',\n maxOptionsText: ['超出限制 (最多选择{n}项)', '组选择超出限制(最多选择{n}组)'],\n multipleSeparator: ', ',\n selectAllText: '全选',\n deselectAllText: '取消全选'\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,SAAS;AAC7B,EAAE,eAAe,EAAE,SAAS;AAC5B,EAAE,iBAAiB,EAAE,aAAa;AAClC,EAAE,cAAc,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;AAC1D,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,aAAa,EAAE,IAAI;AACrB,EAAE,eAAe,EAAE;AACnB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-zh_CN.min.js b/docs/dist/js/i18n/defaults-zh_CN.min.js index 40846da..e384d74 100644 --- a/docs/dist/js/i18n/defaults-zh_CN.min.js +++ b/docs/dist/js/i18n/defaults-zh_CN.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"\u6ca1\u6709\u9009\u4e2d\u4efb\u4f55\u9879",noneResultsText:"\u6ca1\u6709\u627e\u5230\u5339\u914d\u9879",countSelectedText:"\u9009\u4e2d{1}\u4e2d\u7684{0}\u9879",maxOptionsText:["\u8d85\u51fa\u9650\u5236 (\u6700\u591a\u9009\u62e9{n}\u9879)","\u7ec4\u9009\u62e9\u8d85\u51fa\u9650\u5236(\u6700\u591a\u9009\u62e9{n}\u7ec4)"],multipleSeparator:", ",selectAllText:"\u5168\u9009",deselectAllText:"\u53d6\u6d88\u5168\u9009"})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"\u6ca1\u6709\u9009\u4e2d\u4efb\u4f55\u9879",noneResultsText:"\u6ca1\u6709\u627e\u5230\u5339\u914d\u9879",countSelectedText:"\u9009\u4e2d{1}\u4e2d\u7684{0}\u9879",maxOptionsText:["\u8d85\u51fa\u9650\u5236 (\u6700\u591a\u9009\u62e9{n}\u9879)","\u7ec4\u9009\u62e9\u8d85\u51fa\u9650\u5236(\u6700\u591a\u9009\u62e9{n}\u7ec4)"],multipleSeparator:", ",selectAllText:"\u5168\u9009",deselectAllText:"\u53d6\u6d88\u5168\u9009"})}); +//# sourceMappingURL=defaults-zh_CN.min.js.map diff --git a/docs/dist/js/i18n/defaults-zh_CN.min.js.map b/docs/dist/js/i18n/defaults-zh_CN.min.js.map new file mode 100644 index 0000000..82fd75d --- /dev/null +++ b/docs/dist/js/i18n/defaults-zh_CN.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-zh_CN.min.js","sources":["../../../virtual:js/i18n/defaults-zh_CN.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: ZH (Chinese)\n * Region: CN (China)\n */\nSelectpicker.setDefaults({\n noneSelectedText: '没有选中任何项',\n noneResultsText: '没有找到匹配项',\n countSelectedText: '选中{1}中的{0}项',\n maxOptionsText: ['超出限制 (最多选择{n}项)', '组选择超出限制(最多选择{n}组)'],\n multipleSeparator: ', ',\n selectAllText: '全选',\n deselectAllText: '取消全选'\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","multipleSeparator","selectAllText","deselectAllText"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,6CAClBC,gBAAiB,6CACjBC,kBAAmB,uCACnBC,eAAgB,CAAC,+DAAmB,iFACpCC,kBAAmB,KACnBC,cAAe,eACfC,gBAAiB,4BAInB"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-zh_TW.js b/docs/dist/js/i18n/defaults-zh_TW.js index 7210b0d..d1ad8b3 100644 --- a/docs/dist/js/i18n/defaults-zh_TW.js +++ b/docs/dist/js/i18n/defaults-zh_TW.js @@ -1,12 +1,11 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ - (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. @@ -25,6 +24,13 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; + +/* + * Translated default messages for bootstrap-select. + * Locale: ZH (Chinese) + * Region: TW (Taiwan) + */ Selectpicker.setDefaults({ noneSelectedText: '沒有選取任何項目', noneResultsText: '沒有找到符合的結果', @@ -35,6 +41,6 @@ Selectpicker.setDefaults({ multipleSeparator: ', ' }); -})); -//# sourceMappingURL=defaults-zh_TW.js.map \ No newline at end of file +})); +//# sourceMappingURL=defaults-zh_TW.js.map diff --git a/docs/dist/js/i18n/defaults-zh_TW.js.map b/docs/dist/js/i18n/defaults-zh_TW.js.map index 22b92ec..71cd723 100644 --- a/docs/dist/js/i18n/defaults-zh_TW.js.map +++ b/docs/dist/js/i18n/defaults-zh_TW.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../js/i18n/defaults-zh_TW.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,CAAC,WAAW,EAAE;AAC1B,EAAE,gBAAgB,CAAC,CAAC,WAAW;AAC/B,EAAE,eAAe,CAAC,CAAC,YAAY;AAC/B,EAAE,iBAAiB,CAAC,CAAC,MAAM,CAAC,MAAM;AAClC,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM;AACxD,EAAE,aAAa,CAAC,CAAC,OAAO;AACxB,EAAE,eAAe,CAAC,CAAC,OAAO;AAC1B,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG","file":"defaults-zh_TW.js","sourcesContent":["Selectpicker.setDefaults({\n noneSelectedText: '沒有選取任何項目',\n noneResultsText: '沒有找到符合的結果',\n countSelectedText: '已經選取{0}個項目',\n maxOptionsText: ['超過限制 (最多選擇{n}項)', '超過限制(最多選擇{n}組)'],\n selectAllText: '選取全部',\n deselectAllText: '全部取消',\n multipleSeparator: ', '\n});\n"]} \ No newline at end of file +{"version":3,"file":"defaults-zh_TW.js","sources":["../../../virtual:js/i18n/defaults-zh_TW.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: ZH (Chinese)\n * Region: TW (Taiwan)\n */\nSelectpicker.setDefaults({\n noneSelectedText: '沒有選取任何項目',\n noneResultsText: '沒有找到符合的結果',\n countSelectedText: '已經選取{0}個項目',\n maxOptionsText: ['超過限制 (最多選擇{n}項)', '超過限制(最多選擇{n}組)'],\n selectAllText: '選取全部',\n deselectAllText: '全部取消',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,OAAO,EAAE;AACpB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;AAClD;AACA,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC3D;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,SAAS,GAAG,SAAS;AAC3B,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;AACvC,EAAE,CAAC,MAAM;AACT;AACA,IAAI,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AACzE,EAAE;AACF,CAAC,CAAC,UAAU,SAAS,EAAE;AACvB,EAAE,IAAI,8BAA8B,GAAG,IAAI;;AAE3C;AACA;AACA;AACA;AACA;AACA,YAAY,CAAC,WAAW,CAAC;AACzB,EAAE,gBAAgB,EAAE,UAAU;AAC9B,EAAE,eAAe,EAAE,WAAW;AAC9B,EAAE,iBAAiB,EAAE,YAAY;AACjC,EAAE,cAAc,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;AACvD,EAAE,aAAa,EAAE,MAAM;AACvB,EAAE,eAAe,EAAE,MAAM;AACzB,EAAE,iBAAiB,EAAE;AACrB,CAAC,CAAC;;;AAGF,CAAC,CAAC"} \ No newline at end of file diff --git a/docs/dist/js/i18n/defaults-zh_TW.min.js b/docs/dist/js/i18n/defaults-zh_TW.min.js index 7087416..ab66a3f 100644 --- a/docs/dist/js/i18n/defaults-zh_TW.min.js +++ b/docs/dist/js/i18n/defaults-zh_TW.min.js @@ -1,9 +1,10 @@ /*! - * Bootstrap-select v1.1.2 (https://github.com/CrestApps/crestapps-bootstrap-select) + * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select) * * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select * Copyright 2012-2018 SnapAppointments, LLC (original work) * Fork modifications Copyright 2024-2026 CrestApps - * Licensed under MIT (https://github.com/CrestApps/crestapps-bootstrap-select/blob/main/LICENSE) + * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE) */ -(e=>{if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e()}else e()})(function(e){Selectpicker.setDefaults({noneSelectedText:"\u6c92\u6709\u9078\u53d6\u4efb\u4f55\u9805\u76ee",noneResultsText:"\u6c92\u6709\u627e\u5230\u7b26\u5408\u7684\u7d50\u679c",countSelectedText:"\u5df2\u7d93\u9078\u53d6{0}\u500b\u9805\u76ee",maxOptionsText:["\u8d85\u904e\u9650\u5236 (\u6700\u591a\u9078\u64c7{n}\u9805)","\u8d85\u904e\u9650\u5236(\u6700\u591a\u9078\u64c7{n}\u7d44)"],selectAllText:"\u9078\u53d6\u5168\u90e8",deselectAllText:"\u5168\u90e8\u53d6\u6d88",multipleSeparator:", "})}); \ No newline at end of file +!function(e){if("function"==typeof define&&define.amd)define(["bootstrap"],e);else if("object"==typeof module&&module.exports){var t;try{t=require("bootstrap")}catch(e){t=void 0}module.exports=e(t)}else e("undefined"!=typeof window?window.bootstrap:void 0)}(function(e){Selectpicker.setDefaults({noneSelectedText:"\u6c92\u6709\u9078\u53d6\u4efb\u4f55\u9805\u76ee",noneResultsText:"\u6c92\u6709\u627e\u5230\u7b26\u5408\u7684\u7d50\u679c",countSelectedText:"\u5df2\u7d93\u9078\u53d6{0}\u500b\u9805\u76ee",maxOptionsText:["\u8d85\u904e\u9650\u5236 (\u6700\u591a\u9078\u64c7{n}\u9805)","\u8d85\u904e\u9650\u5236(\u6700\u591a\u9078\u64c7{n}\u7d44)"],selectAllText:"\u9078\u53d6\u5168\u90e8",deselectAllText:"\u5168\u90e8\u53d6\u6d88",multipleSeparator:", "})}); +//# sourceMappingURL=defaults-zh_TW.min.js.map diff --git a/docs/dist/js/i18n/defaults-zh_TW.min.js.map b/docs/dist/js/i18n/defaults-zh_TW.min.js.map new file mode 100644 index 0000000..c52b376 --- /dev/null +++ b/docs/dist/js/i18n/defaults-zh_TW.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaults-zh_TW.min.js","sources":["../../../virtual:js/i18n/defaults-zh_TW.js"],"sourcesContent":["/*!\n * Bootstrap-select v1.2.0 (https://github.com/CrestApps/bootstrap-select)\n *\n * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select\n * Copyright 2012-2018 SnapAppointments, LLC (original work)\n * Fork modifications Copyright 2024-2026 CrestApps\n * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)\n */\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['bootstrap'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments (Node, bundlers).\n var bootstrap;\n try {\n bootstrap = require('bootstrap');\n } catch (e) {\n bootstrap = undefined;\n }\n module.exports = factory(bootstrap);\n } else {\n // Browser globals.\n factory(typeof window !== 'undefined' ? window.bootstrap : undefined);\n }\n}(function (bootstrap) {\n var __SELECTPICKER_EXPOSE_GLOBAL__ = true;\n\n/*\n * Translated default messages for bootstrap-select.\n * Locale: ZH (Chinese)\n * Region: TW (Taiwan)\n */\nSelectpicker.setDefaults({\n noneSelectedText: '沒有選取任何項目',\n noneResultsText: '沒有找到符合的結果',\n countSelectedText: '已經選取{0}個項目',\n maxOptionsText: ['超過限制 (最多選擇{n}項)', '超過限制(最多選擇{n}組)'],\n selectAllText: '選取全部',\n deselectAllText: '全部取消',\n multipleSeparator: ', '\n});\n\n\n}));\n"],"names":["factory","define","amd","module","exports","bootstrap","require","e","undefined","window","Selectpicker","setDefaults","noneSelectedText","noneResultsText","countSelectedText","maxOptionsText","selectAllText","deselectAllText","multipleSeparator"],"mappings":";;;;;;;;CAQC,SAAUA,GACT,GAAsB,mBAAXC,QAAyBA,OAAOC,IAEzCD,OAAO,CAAC,aAAcD,QACjB,GAAsB,iBAAXG,QAAuBA,OAAOC,QAAS,CAEvD,IAAIC,EACJ,IACEA,EAAYC,QAAQ,YACtB,CAAE,MAAOC,GACPF,OAAYG,CACd,CACAL,OAAOC,QAAUJ,EAAQK,EAC3B,MAEEL,EAA0B,oBAAXS,OAAyBA,OAAOJ,eAAYG,EAE/D,CAjBA,CAiBE,SAAUH,GAQZK,aAAaC,YAAY,CACvBC,iBAAkB,mDAClBC,gBAAiB,yDACjBC,kBAAmB,gDACnBC,eAAgB,CAAC,+DAAmB,+DACpCC,cAAe,2BACfC,gBAAiB,2BACjBC,kBAAmB,MAIrB"} \ No newline at end of file diff --git a/docs/docs/1.0/examples/index.html b/docs/docs/1.0/examples/index.html index eb89f92..dc5258f 100644 --- a/docs/docs/1.0/examples/index.html +++ b/docs/docs/1.0/examples/index.html @@ -9,14 +9,14 @@ - - + + -
    Version: 1.0

    Basic examples

    +
    Version: 1.0

    Basic examples

    CrestApps fork

    The examples use the vanilla JavaScript / Bootstrap 5+ API: new Selectpicker(el) or the selectpicker class, which auto-initializes. jQuery is not required.

    Standalone basic

    Open the local plugin build on a plain HTML page.

    Open basic example

    Live search

    Test search filtering against hosted example markup.

    Open live search

    Multiple select

    Verify multiselect and action-box behavior.

    Open multiselect

    Standard select boxes

    @@ -152,6 +152,6 @@

    Disabled
    <select class="selectpicker">
    <option>Mustard</option>
    <option disabled>Ketchup</option>
    <option>Relish</option>
    </select>

    Disabled option groups

    -
    <select class="selectpicker test">
    <optgroup label="Picnic" disabled>
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </optgroup>
    <optgroup label="Camping">
    <option>Tent</option>
    <option>Flashlight</option>
    <option>Toilet Paper</option>
    </optgroup>
    </select>
    +
    <select class="selectpicker test">
    <optgroup label="Picnic" disabled>
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </optgroup>
    <optgroup label="Camping">
    <option>Tent</option>
    <option>Flashlight</option>
    <option>Toilet Paper</option>
    </optgroup>
    </select>
    \ No newline at end of file diff --git a/docs/docs/1.0/index.html b/docs/docs/1.0/index.html index 7781a08..131ba9a 100644 --- a/docs/docs/1.0/index.html +++ b/docs/docs/1.0/index.html @@ -9,14 +9,14 @@ - - + + -
    Version: 1.0

    Getting Started

    +
    Version: 1.0

    Getting Started

    CrestApps fork

    This is the CrestApps fork of snapappointments/bootstrap-select. It removes the jQuery dependency entirely, uses plain vanilla JavaScript, and supports Bootstrap 5+ only. Older Bootstrap and jQuery compatibility paths are intentionally out of scope so the library can stay small and forward-focused.

    Quick start

    bootstrap-select requires Bootstrap 5+ (CSS and JS, including its bundled Popper). @@ -47,6 +47,6 @@

    Via JavaScr

    If calling bootstrap-select via JavaScript, run your code after the elements exist — either place the script at the bottom of the page (after the last <select>) or wrap it in a DOMContentLoaded listener:

    -
    document.addEventListener('DOMContentLoaded', function () {
    document.querySelectorAll('select').forEach(function (el) {
    new Selectpicker(el);
    });
    });

    +
    document.addEventListener('DOMContentLoaded', function () {
    document.querySelectorAll('select').forEach(function (el) {
    new Selectpicker(el);
    });
    });
    \ No newline at end of file diff --git a/docs/docs/1.0/methods/index.html b/docs/docs/1.0/methods/index.html index dffcded..849d251 100644 --- a/docs/docs/1.0/methods/index.html +++ b/docs/docs/1.0/methods/index.html @@ -9,14 +9,14 @@ - - + + -
    Version: 1.0

    Methods

    +
    Version: 1.0

    Methods

    Interface with bootstrap-select.

    In this fork, methods are called directly on the Selectpicker instance (there is no jQuery $.fn.selectpicker). Obtain an instance with @@ -94,6 +94,6 @@

    .destroy()
    Selectpicker.getInstance('#my-select').destroy();


    Static methods

    -
    MethodDescription
    new Selectpicker(elementOrSelector, options)Create a new instance.
    Selectpicker.getInstance(elementOrSelector)Return the existing instance for an element, or null.
    Selectpicker.getOrCreateInstance(elementOrSelector, options)Return the existing instance, creating one if needed.
    Selectpicker.setDefaults(options)Set global default options (used by the i18n translation files).
    Selectpicker.VERSIONThe plugin version.
    +
    MethodDescription
    new Selectpicker(elementOrSelector, options)Create a new instance.
    Selectpicker.getInstance(elementOrSelector)Return the existing instance for an element, or null.
    Selectpicker.getOrCreateInstance(elementOrSelector, options)Return the existing instance, creating one if needed.
    Selectpicker.setDefaults(options)Set global default options (used by the i18n translation files).
    Selectpicker.VERSIONThe plugin version.
  • \ No newline at end of file diff --git a/docs/docs/1.0/options/index.html b/docs/docs/1.0/options/index.html index 970afd1..55fc903 100644 --- a/docs/docs/1.0/options/index.html +++ b/docs/docs/1.0/options/index.html @@ -9,14 +9,14 @@ - - + + -
    Version: 1.0
    CrestApps fork

    The options and data attributes documented on this page are part of the current forward-only API. Initialize with new Selectpicker('#sel', options) or add the selectpicker class for automatic initialization. Global defaults are set with Selectpicker.setDefaults({ ... }).

    +
    +

    For performance reasons, our built-in sanitizer accepts an array of DOM nodes as its first argument, rather than an HTML string. Keep that in mind if deciding to use your own sanitizeFn.

    \ No newline at end of file diff --git a/docs/docs/1.0/search-index.json b/docs/docs/1.0/search-index.json index 89744c2..af8caf4 100644 --- a/docs/docs/1.0/search-index.json +++ b/docs/docs/1.0/search-index.json @@ -1 +1 @@ -[{"documents":[{"i":91,"t":"Getting Started","u":"/docs/1.0/","b":["Docs"]},{"i":102,"t":"Basic examples","u":"/docs/1.0/examples/","b":["Docs"]},{"i":168,"t":"Methods","u":"/docs/1.0/methods/","b":["Docs"]},{"i":172,"t":"Core options","u":"/docs/1.0/options/","b":["Docs"]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/91",[0,1.137,1,1.137]],["t/102",[2,1.137,3,1.137]],["t/168",[4,1.46]],["t/172",[5,1.137,6,1.137]]],"invertedIndex":[["basic",{"_index":2,"t":{"102":{"position":[[0,5]]}}}],["core",{"_index":5,"t":{"172":{"position":[[0,4]]}}}],["exampl",{"_index":3,"t":{"102":{"position":[[6,8]]}}}],["get",{"_index":0,"t":{"91":{"position":[[0,7]]}}}],["method",{"_index":4,"t":{"168":{"position":[[0,7]]}}}],["option",{"_index":6,"t":{"172":{"position":[[5,7]]}}}],["start",{"_index":1,"t":{"91":{"position":[[8,7]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":93,"t":"Quick start","u":"/docs/1.0/","h":"#quick-start","p":91},{"i":95,"t":"Using the CDN build","u":"/docs/1.0/","h":"#using-the-cdn-build","p":91},{"i":97,"t":"Usage","u":"/docs/1.0/","h":"","p":91},{"i":98,"t":"Via selectpicker class","u":"/docs/1.0/","h":"#via-selectpicker-class","p":91},{"i":100,"t":"Via JavaScript","u":"/docs/1.0/","h":"#via-javascript","p":91},{"i":104,"t":"Standalone basic","u":"/docs/1.0/examples/","h":"","p":102},{"i":106,"t":"Live search","u":"/docs/1.0/examples/","h":"","p":102},{"i":108,"t":"Multiple select","u":"/docs/1.0/examples/","h":"","p":102},{"i":110,"t":"Standard select boxes","u":"/docs/1.0/examples/","h":"#standard-select-boxes","p":102},{"i":112,"t":"Select boxes with optgroups","u":"/docs/1.0/examples/","h":"#select-boxes-with-optgroups","p":102},{"i":114,"t":"Multiple select boxes","u":"/docs/1.0/examples/","h":"#multiple-select-boxes","p":102},{"i":116,"t":"Live search","u":"/docs/1.0/examples/","h":"","p":102},{"i":117,"t":"Live search","u":"/docs/1.0/examples/","h":"#live-search-1","p":102},{"i":119,"t":"Key words","u":"/docs/1.0/examples/","h":"#key-words","p":102},{"i":121,"t":"Limit the number of selections","u":"/docs/1.0/examples/","h":"","p":102},{"i":123,"t":"Custom button text","u":"/docs/1.0/examples/","h":"","p":102},{"i":124,"t":"Placeholder","u":"/docs/1.0/examples/","h":"#placeholder","p":102},{"i":126,"t":"Selected text","u":"/docs/1.0/examples/","h":"#selected-text","p":102},{"i":128,"t":"Selected text format","u":"/docs/1.0/examples/","h":"#selected-text-format","p":102},{"i":130,"t":"Styling","u":"/docs/1.0/examples/","h":"","p":102},{"i":131,"t":"Button classes","u":"/docs/1.0/examples/","h":"#button-classes","p":102},{"i":133,"t":"Checkmark on selected option","u":"/docs/1.0/examples/","h":"#checkmark-on-selected-option","p":102},{"i":135,"t":"Menu arrow","u":"/docs/1.0/examples/","h":"#menu-arrow","p":102},{"i":137,"t":"Style individual options","u":"/docs/1.0/examples/","h":"#style-individual-options","p":102},{"i":139,"t":"Width","u":"/docs/1.0/examples/","h":"#width","p":102},{"i":141,"t":"Customize options","u":"/docs/1.0/examples/","h":"","p":102},{"i":142,"t":"Icons","u":"/docs/1.0/examples/","h":"#icons","p":102},{"i":144,"t":"Custom content","u":"/docs/1.0/examples/","h":"#custom-content","p":102},{"i":146,"t":"Subtext","u":"/docs/1.0/examples/","h":"#subtext","p":102},{"i":148,"t":"Customize menu","u":"/docs/1.0/examples/","h":"","p":102},{"i":149,"t":"Menu size","u":"/docs/1.0/examples/","h":"#menu-size","p":102},{"i":151,"t":"Select/deselect all options","u":"/docs/1.0/examples/","h":"#selectdeselect-all-options","p":102},{"i":153,"t":"Divider","u":"/docs/1.0/examples/","h":"#divider","p":102},{"i":155,"t":"Menu header","u":"/docs/1.0/examples/","h":"#menu-header","p":102},{"i":157,"t":"Container","u":"/docs/1.0/examples/","h":"#container","p":102},{"i":159,"t":"Dropup menu","u":"/docs/1.0/examples/","h":"#dropup-menu","p":102},{"i":161,"t":"Disabled","u":"/docs/1.0/examples/","h":"","p":102},{"i":162,"t":"Disabled select box","u":"/docs/1.0/examples/","h":"#disabled-select-box","p":102},{"i":164,"t":"Disabled options","u":"/docs/1.0/examples/","h":"#disabled-options","p":102},{"i":166,"t":"Disabled option groups","u":"/docs/1.0/examples/","h":"#disabled-option-groups","p":102},{"i":170,"t":"Static methods","u":"/docs/1.0/methods/","h":"#static-methods","p":168},{"i":174,"t":"Default settings","u":"/docs/1.0/options/","h":"","p":172},{"i":176,"t":"Events","u":"/docs/1.0/options/","h":"","p":172},{"i":178,"t":"Sanitizer","u":"/docs/1.0/options/","h":"#sanitizer","p":172}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/93",[0,3.417,1,3.417]],["t/95",[2,2.84,3,2.84,4,2.84]],["t/97",[5,4.288]],["t/98",[6,2.413,7,2.84,8,2.413]],["t/100",[6,2.904,9,3.417]],["t/104",[10,3.417,11,3.417]],["t/106",[12,2.566,13,2.566]],["t/108",[14,2.904,15,1.563]],["t/110",[15,1.299,16,2.84,17,1.923]],["t/112",[15,1.299,17,1.923,18,2.84]],["t/114",[14,2.413,15,1.299,17,1.923]],["t/116",[12,2.566,13,2.566]],["t/117",[12,2.566,13,2.566]],["t/119",[19,3.417,20,3.417]],["t/121",[15,1.299,21,2.84,22,2.84]],["t/123",[23,1.923,24,2.413,25,2.132]],["t/124",[26,4.288]],["t/126",[15,1.563,25,2.566]],["t/128",[15,1.299,25,2.132,27,2.84]],["t/130",[28,3.644]],["t/131",[8,2.904,24,2.904]],["t/133",[15,1.299,29,2.84,30,1.616]],["t/135",[31,2.112,32,3.417]],["t/137",[28,2.413,30,1.616,33,2.84]],["t/139",[34,4.288]],["t/141",[23,2.313,30,1.944]],["t/142",[35,4.288]],["t/144",[23,2.313,36,3.417]],["t/146",[37,4.288]],["t/148",[23,2.313,31,2.112]],["t/149",[31,2.112,38,3.417]],["t/151",[30,1.944,39,3.417]],["t/153",[40,4.288]],["t/155",[31,2.112,41,3.417]],["t/157",[42,4.288]],["t/159",[31,2.112,43,3.417]],["t/161",[44,2.903]],["t/162",[15,1.299,17,1.923,44,1.923]],["t/164",[30,1.944,44,2.313]],["t/166",[30,1.616,44,1.923,45,2.84]],["t/170",[46,3.417,47,3.417]],["t/174",[48,3.417,49,3.417]],["t/176",[50,4.288]],["t/178",[51,4.288]]],"invertedIndex":[["arrow",{"_index":32,"t":{"135":{"position":[[5,5]]}}}],["basic",{"_index":11,"t":{"104":{"position":[[11,5]]}}}],["box",{"_index":17,"t":{"110":{"position":[[16,5]]},"112":{"position":[[7,5]]},"114":{"position":[[16,5]]},"162":{"position":[[16,3]]}}}],["build",{"_index":4,"t":{"95":{"position":[[14,5]]}}}],["button",{"_index":24,"t":{"123":{"position":[[7,6]]},"131":{"position":[[0,6]]}}}],["cdn",{"_index":3,"t":{"95":{"position":[[10,3]]}}}],["checkmark",{"_index":29,"t":{"133":{"position":[[0,9]]}}}],["class",{"_index":8,"t":{"98":{"position":[[17,5]]},"131":{"position":[[7,7]]}}}],["contain",{"_index":42,"t":{"157":{"position":[[0,9]]}}}],["content",{"_index":36,"t":{"144":{"position":[[7,7]]}}}],["custom",{"_index":23,"t":{"123":{"position":[[0,6]]},"141":{"position":[[0,9]]},"144":{"position":[[0,6]]},"148":{"position":[[0,9]]}}}],["default",{"_index":48,"t":{"174":{"position":[[0,7]]}}}],["disabl",{"_index":44,"t":{"161":{"position":[[0,8]]},"162":{"position":[[0,8]]},"164":{"position":[[0,8]]},"166":{"position":[[0,8]]}}}],["divid",{"_index":40,"t":{"153":{"position":[[0,7]]}}}],["dropup",{"_index":43,"t":{"159":{"position":[[0,6]]}}}],["event",{"_index":50,"t":{"176":{"position":[[0,6]]}}}],["format",{"_index":27,"t":{"128":{"position":[[14,6]]}}}],["group",{"_index":45,"t":{"166":{"position":[[16,6]]}}}],["header",{"_index":41,"t":{"155":{"position":[[5,6]]}}}],["icon",{"_index":35,"t":{"142":{"position":[[0,5]]}}}],["individu",{"_index":33,"t":{"137":{"position":[[6,10]]}}}],["javascript",{"_index":9,"t":{"100":{"position":[[4,10]]}}}],["key",{"_index":19,"t":{"119":{"position":[[0,3]]}}}],["limit",{"_index":21,"t":{"121":{"position":[[0,5]]}}}],["live",{"_index":12,"t":{"106":{"position":[[0,4]]},"116":{"position":[[0,4]]},"117":{"position":[[0,4]]}}}],["menu",{"_index":31,"t":{"135":{"position":[[0,4]]},"148":{"position":[[10,4]]},"149":{"position":[[0,4]]},"155":{"position":[[0,4]]},"159":{"position":[[7,4]]}}}],["method",{"_index":47,"t":{"170":{"position":[[7,7]]}}}],["multipl",{"_index":14,"t":{"108":{"position":[[0,8]]},"114":{"position":[[0,8]]}}}],["number",{"_index":22,"t":{"121":{"position":[[10,6]]}}}],["optgroup",{"_index":18,"t":{"112":{"position":[[18,9]]}}}],["option",{"_index":30,"t":{"133":{"position":[[22,6]]},"137":{"position":[[17,7]]},"141":{"position":[[10,7]]},"151":{"position":[[20,7]]},"164":{"position":[[9,7]]},"166":{"position":[[9,6]]}}}],["placehold",{"_index":26,"t":{"124":{"position":[[0,11]]}}}],["quick",{"_index":0,"t":{"93":{"position":[[0,5]]}}}],["sanit",{"_index":51,"t":{"178":{"position":[[0,9]]}}}],["search",{"_index":13,"t":{"106":{"position":[[5,6]]},"116":{"position":[[5,6]]},"117":{"position":[[5,6]]}}}],["select",{"_index":15,"t":{"108":{"position":[[9,6]]},"110":{"position":[[9,6]]},"112":{"position":[[0,6]]},"114":{"position":[[9,6]]},"121":{"position":[[20,10]]},"126":{"position":[[0,8]]},"128":{"position":[[0,8]]},"133":{"position":[[13,8]]},"162":{"position":[[9,6]]}}}],["select/deselect",{"_index":39,"t":{"151":{"position":[[0,15]]}}}],["selectpick",{"_index":7,"t":{"98":{"position":[[4,12]]}}}],["set",{"_index":49,"t":{"174":{"position":[[8,8]]}}}],["size",{"_index":38,"t":{"149":{"position":[[5,4]]}}}],["standalon",{"_index":10,"t":{"104":{"position":[[0,10]]}}}],["standard",{"_index":16,"t":{"110":{"position":[[0,8]]}}}],["start",{"_index":1,"t":{"93":{"position":[[6,5]]}}}],["static",{"_index":46,"t":{"170":{"position":[[0,6]]}}}],["style",{"_index":28,"t":{"130":{"position":[[0,7]]},"137":{"position":[[0,5]]}}}],["subtext",{"_index":37,"t":{"146":{"position":[[0,7]]}}}],["text",{"_index":25,"t":{"123":{"position":[[14,4]]},"126":{"position":[[9,4]]},"128":{"position":[[9,4]]}}}],["us",{"_index":2,"t":{"95":{"position":[[0,5]]}}}],["usag",{"_index":5,"t":{"97":{"position":[[0,5]]}}}],["via",{"_index":6,"t":{"98":{"position":[[0,3]]},"100":{"position":[[0,3]]}}}],["width",{"_index":34,"t":{"139":{"position":[[0,5]]}}}],["word",{"_index":20,"t":{"119":{"position":[[4,5]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":91,"t":"Install and use the CrestApps bootstrap-select fork with Bootstrap 5+.","s":"Getting Started","u":"/docs/1.0/","p":91},{"i":102,"t":"Live bootstrap-select examples hosted by the Docusaurus docs site.","s":"Basic examples","u":"/docs/1.0/examples/","p":102},{"i":168,"t":"bootstrap-select instance and static methods.","s":"Methods","u":"/docs/1.0/methods/","p":168},{"i":172,"t":"bootstrap-select options, events, and sanitizer settings.","s":"Core options","u":"/docs/1.0/options/","p":172}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/91",[0,1.119,1,1.119,2,1.119,3,0.138,4,0.098,5,1.119,6,1.119]],["t/102",[3,0.098,4,0.098,7,1.119,8,1.119,9,1.119,10,1.119,11,1.119,12,1.119]],["t/168",[3,0.118,4,0.118,13,1.347,14,1.347,15,1.347]],["t/172",[3,0.11,4,0.11,16,1.261,17,1.261,18,1.261,19,1.261]]],"invertedIndex":[["5",{"_index":6,"t":{"91":{"position":[[67,3]]}}}],["bootstrap",{"_index":3,"t":{"91":{"position":[[30,9],[57,9]]},"102":{"position":[[5,9]]},"168":{"position":[[0,9]]},"172":{"position":[[0,9]]}}}],["crestapp",{"_index":2,"t":{"91":{"position":[[20,9]]}}}],["doc",{"_index":11,"t":{"102":{"position":[[56,4]]}}}],["docusauru",{"_index":10,"t":{"102":{"position":[[45,10]]}}}],["event",{"_index":17,"t":{"172":{"position":[[26,7]]}}}],["exampl",{"_index":8,"t":{"102":{"position":[[22,8]]}}}],["fork",{"_index":5,"t":{"91":{"position":[[47,4]]}}}],["host",{"_index":9,"t":{"102":{"position":[[31,6]]}}}],["instal",{"_index":0,"t":{"91":{"position":[[0,7]]}}}],["instanc",{"_index":13,"t":{"168":{"position":[[17,8]]}}}],["live",{"_index":7,"t":{"102":{"position":[[0,4]]}}}],["method",{"_index":15,"t":{"168":{"position":[[37,8]]}}}],["option",{"_index":16,"t":{"172":{"position":[[17,8]]}}}],["sanit",{"_index":18,"t":{"172":{"position":[[38,9]]}}}],["select",{"_index":4,"t":{"91":{"position":[[40,6]]},"102":{"position":[[15,6]]},"168":{"position":[[10,6]]},"172":{"position":[[10,6]]}}}],["set",{"_index":19,"t":{"172":{"position":[[48,9]]}}}],["site",{"_index":12,"t":{"102":{"position":[[61,5]]}}}],["static",{"_index":14,"t":{"168":{"position":[[30,6]]}}}],["us",{"_index":1,"t":{"91":{"position":[[12,3]]}}}]],"pipeline":["stemmer"]}},{"documents":[],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[],"invertedIndex":[],"pipeline":["stemmer"]}},{"documents":[{"i":92,"t":"CrestApps fork This is the CrestApps fork of snapappointments/bootstrap-select. It removes the jQuery dependency entirely, uses plain vanilla JavaScript, and supports Bootstrap 5+ only. Older Bootstrap and jQuery compatibility paths are intentionally out of scope so the library can stay small and forward-focused.","s":"Getting Started","u":"/docs/1.0/","h":"","p":91},{"i":94,"t":"bootstrap-select requires Bootstrap 5+ (CSS and JS, including its bundled Popper). jQuery is not required. Install with npm: npm install crestapps-bootstrap-select bootstrap Load Bootstrap 5 first, then bootstrap-select's CSS and JS (after Bootstrap's JavaScript): ","s":"Quick start","u":"/docs/1.0/","h":"#quick-start","p":91},{"i":96,"t":"After the package is published to npm, it will also be available through jsDelivr. Prefer pinning an explicit package version in production: You can replace @1.0.0 with the version you want to consume. During development, @latest also works, but a fixed version is safer for production deployments. When loaded via a ","s":"Quick start","u":"/docs/1.0/","h":"#quick-start","p":113},{"i":118,"t":"After the package is published to npm, it will also be available through jsDelivr. Prefer pinning an explicit package version in production: You can replace @1.0.0 with the version you want to consume. During development, @latest also works, but a fixed version is safer for production deployments. When loaded via a - - + + -
    Version: 1.1

    Basic examples

    +
    Version: 1.1

    Basic examples

    CrestApps fork

    The examples use the vanilla JavaScript / Bootstrap 5+ API: new Selectpicker(el) or the selectpicker class, which auto-initializes. jQuery is not required.

    The main examples now live directly on this docs page so they inherit the docs theme, including light and dark mode. The standalone HTML files are still kept under docs/static/examples/ for quick smoke-testing outside Docusaurus.

    -

    Standard select boxes

    +

    Browse by topic

    + +

    Core selection patterns

    +

    Standard select boxes

    <select class="selectpicker">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </select>
    +

    Single select with checkmark indicator

    +

    Use the show-tick class when you want the default checkmark indicator on a single-select menu:

    +
    +
    <select class="selectpicker show-tick">
    <option>Mustard</option>
    <option selected>Ketchup</option>
    <option>Relish</option>
    </select>
    +

    Single select with radio indicators

    +

    If you set selectionIndicator to checkbox on a single select, bootstrap-select renders radio-style indicators automatically:

    +
    +
    <select class="selectpicker" data-selection-indicator="checkbox">
    <option>Article</option>
    <option selected>Blog Post</option>
    <option>Landing Page</option>
    </select>
    -

    Select boxes with optgroups

    +

    Select boxes with optgroups

    <select class="selectpicker">
    <optgroup label="Picnic">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </optgroup>
    <optgroup label="Camping">
    <option>Tent</option>
    <option>Flashlight</option>
    <option>Toilet Paper</option>
    </optgroup>
    </select>
    -

    Multiple select boxes

    +

    Multiple select boxes

    <select class="selectpicker" multiple>
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </select>
    - +

    Multiple select with checkbox indicators

    +

    Use data-selection-indicator="checkbox" on multiselects when you want a checkbox column instead of the floating checkmark:

    +
    +
    <select class="selectpicker" multiple data-selection-indicator="checkbox">
    <option selected>Bootstrap 5</option>
    <option>Vue</option>
    <option>React</option>
    <option>Svelte</option>
    </select>
    +

    Search and multi-select workflows

    +

    You can add a search input by passing data-live-search="true" attribute:

    -

    Key words

    +

    Key words

    Add key words to options to improve their searchability using data-tokens.

    <select class="selectpicker" data-live-search="true">
    <option data-tokens="ketchup mustard">Hot Dog, Fries and a Soda</option>
    <option data-tokens="mustard">Burger, Shake and a Smile</option>
    <option data-tokens="frosting">Sugar, Spice and all things nice</option>
    </select>
    -

    Tags-style live search with open options

    +

    Tags-style live search with open options

    Use showSelectedTags to keep selections visible as removable tags above the search box, while the button switches to a compact summary instead of repeating the same values.

    <select
    class="selectpicker"
    multiple
    data-icon-base="fa-solid"
    data-tick-icon="fa-check"
    data-live-search="true"
    data-show-selected-tags="true"
    data-open-options="true"
    data-live-search-placeholder="Search or create tags"
    placeholder="Search or create tags">
    <option selected data-icon="fa-seedling">Orchard Core</option>
    <option selected data-icon="fa-cubes">Bootstrap 5</option>
    <option data-icon="fa-code">Vue</option>
    <option data-icon="fa-tags">Taxonomy</option>
    <option data-icon="fa-circle-plus">Open option</option>
    <option data-icon="fa-wand-magic-sparkles">Editor UX</option>
    </select>
    -

    If you prefer a Bootstrap-style checkbox instead of the floating checkmark, set selectionIndicator to checkbox:

    -
    -
    <select
    class="selectpicker"
    multiple
    data-live-search="true"
    data-show-selected-tags="true"
    data-selection-indicator="checkbox"
    placeholder="Choose frameworks">
    <option selected>Bootstrap 5</option>
    <option>Vue</option>
    <option>React</option>
    <option>Svelte</option>
    </select>
    -

    List-style menu

    +

    List-style menu

    Set selectedItemsStyle to list to render the removable selections as a stacked Bootstrap list group:

    <select
    class="selectpicker"
    multiple
    data-live-search="true"
    data-show-selected-tags="true"
    data-selected-items-style="list">
    <option selected>Orchard Core</option>
    <option selected>Bootstrap 5</option>
    <option>Vue</option>
    </select>
    -

    Floating labels with visible tags

    +

    Floating labels with visible tags

    When a tags-style picker is placed inside a Bootstrap 5 form-floating wrapper, the selected tags stay visible inside the control after the menu closes, with balanced top and bottom spacing around the tags.

    <div class="form-floating">
    <select
    id="floating-tags-example"
    class="selectpicker"
    multiple
    data-live-search="true"
    data-show-selected-tags="true"
    data-open-options="true"
    placeholder="Years">
    <option selected>2026</option>
    <option selected>2023</option>
    <option selected>2021</option>
    </select>
    <label for="floating-tags-example">Years</label>
    </div>

    For remote-backed pickers, initialize with JavaScript and provide source.create(callback, searchValue) to save the new item before selecting it:

    new Selectpicker('#tag-editor', {
    liveSearch: true,
    showSelectedTags: true,
    openOptions: true,
    source: {
    data: function (callback) {
    callback(existingTags);
    },
    search: function (callback, page, searchValue) {
    callback(filterTags(searchValue));
    },
    create: function (callback, searchValue) {
    saveTag(searchValue).then(function (tag) {
    callback({
    text: tag.displayText,
    value: tag.id
    });
    });
    }
    }
    });
    -

    Limit the number of selections

    +

    Limit the number of selections

    Limit the number of options that can be selected via the data-max-options attribute. It also works for option groups. Customize the message displayed when the limit is reached with maxOptionsText.

    <div class="row g-3">
    <div class="col-md-6">
    <label for="max-options-example">Overall limit</label>
    <select id="max-options-example" class="selectpicker" multiple data-max-options="2" data-width="100%">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </select>
    </div>

    <div class="col-md-6">
    <label for="max-options-groups-example">Per-group limit</label>
    <select id="max-options-groups-example" class="selectpicker" multiple data-width="100%">
    <optgroup label="Condiments" data-max-options="2">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </optgroup>
    <optgroup label="Breads" data-max-options="2">
    <option>Plain</option>
    <option>Steamed</option>
    <option>Toasted</option>
    </optgroup>
    </select>
    </div>
    </div>
    -

    Custom button text

    +

    Selection text and summaries


    -

    Placeholder

    +

    Placeholder

    Use the placeholder attribute to set the default placeholder text when nothing is selected. This works for both multiple and standard select boxes:

    @@ -67,12 +88,12 @@

    PlaceholderLegacy bootstrap-select markup that uses the select element's title attribute for placeholder text is also supported on single selects:

    <select class="selectpicker" title="Choose a content type">
    <option>Article</option>
    <option>Blog Post</option>
    <option>Landing Page</option>
    </select>
    -

    Selected text

    +

    Selected text

    Set the title attribute on individual options to display alternative text when the option is selected:

    <select class="selectpicker">
    <option title="Combo 1">Hot Dog, Fries and a Soda</option>
    <option title="Combo 2">Burger, Shake and a Smile</option>
    <option title="Combo 3">Sugar, Spice and all things nice</option>
    </select>
    -

    Selected text format

    +

    Selected text format

    Specify how the selection is displayed with the data-selected-text-format attribute on a multiple select.

    The supported values are:

    @@ -86,27 +107,23 @@

    Selec
    <select class="selectpicker" multiple data-selected-text-format="count">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </select>
    <select class="selectpicker" multiple data-selected-text-format="count > 3">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    <option>Onions</option>
    </select>
    -

    Styling

    +

    Styling and layout


    -

    Button classes

    +

    Button classes

    You can set the button classes via the data-style attribute:

    <select class="selectpicker" data-style="btn-primary">
    ...
    </select>

    <select class="selectpicker" data-style="btn-secondary">
    ...
    </select>

    <select class="selectpicker" data-style="btn-success">
    ...
    </select>

    <select class="selectpicker" data-style="btn-dark">
    ...
    </select>

    <select class="selectpicker" data-style="btn-light">
    ...
    </select>

    <select class="selectpicker" data-style="btn-danger">
    ...
    </select>
    -

    Checkmark on selected option

    -

    You can also show the checkmark icon on standard select boxes with the show-tick class:

    -
    -
    <select class="selectpicker show-tick">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </select>
    - +

    The Bootstrap menu arrow can be added with the show-menu-arrow class:

    <select class="selectpicker show-menu-arrow">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </select>
    -

    Style individual options

    +

    Style individual options

    Classes and styles added to options are transferred to the select box:

    <select class="selectpicker">
    <option>Mustard</option>
    <option class="special">Ketchup</option>
    <option style="background: #5cb85c; color: #fff;">Relish</option>
    </select>
    .special {
    font-weight: bold !important;
    color: #fff !important;
    background: #bc0000 !important;
    text-transform: uppercase;
    }
    -

    Width

    +

    Width

    Wrap selects in grid columns, or any custom parent element, to easily enforce desired widths.

    @@ -115,58 +132,58 @@

    Width

    <select class="selectpicker" data-width="auto">
    ...
    </select>
    <select class="selectpicker" data-width="fit">
    ...
    </select>
    <select class="selectpicker" data-width="100px">
    ...
    </select>
    <select class="selectpicker" data-width="75%">
    ...
    </select>
    -

    Customize options

    +

    Rich option content


    -

    Font Awesome icons

    +

    Font Awesome icons

    This example uses Font Awesome. Add an icon to an option or optgroup with the data-icon attribute:

    Bootstrap 5 icons

    Bootstrap 5 does not include an icon font. To use Font Awesome or another icon library, set iconBase and tickIcon to match that library.

    The selected option renders its icon in the button, and the menu shows the icons for the remaining options as well.

    <select class="selectpicker" data-icon-base="fa-solid" data-tick-icon="fa-check">
    <option selected data-icon="fa-heart">Ketchup</option>
    </select>
    -

    Custom content

    +

    Custom content

    Insert custom HTML into the option with the data-content attribute:

    Custom content is sanitized

    This feature inserts HTML into the DOM. By default, it is sanitized using our built-in sanitizer.

    <select class="selectpicker">
    <option data-content="<span class='badge text-bg-success'>Relish</span>">Relish</option>
    </select>
    -

    Subtext

    +

    Subtext

    Add subtext to an option or optgroup with the data-subtext attribute:

    <select class="selectpicker" data-size="5">
    <option data-subtext="Heinz">Ketchup</option>
    </select>
    -

    Customize menu

    +
    - +

    The size option is set to 'auto' by default. When size is set to 'auto', the menu always opens up to show as many items as the window will allow without being cut off. Set size to false to always show all items. The size of the menu can also be specifed using the data-size attribute.

    Specify a number for data-size to choose the maximum number of items to show in the menu.

    <select class="selectpicker" data-size="5">
    ...
    </select>
    -

    Select/deselect all options

    +

    Select/deselect all options

    Adds two buttons to the top of the menu - Select All & Deselect All with data-actions-box="true".

    <select class="selectpicker" multiple data-actions-box="true">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </select>
    -

    Divider

    +

    Divider

    Add data-divider="true" to an option to turn it into a divider.

    <select class="selectpicker" data-size="5">
    <option data-divider="true"></option>
    </select>
    - +

    Add a header to the dropdown menu, e.g. header: 'Select a condiment' or data-header="Select a condiment"

    <select class="selectpicker" data-header="Select a condiment">
    ...
    </select>
    -

    Dropup menu

    +

    Dropup menu

    dropupAuto is set to true by default, which automatically determines whether or not the menu should display above or below the select box. If dropupAuto is set to false, manually make the select a dropup menu by adding the .dropup class to the select.

    <select class="selectpicker dropup" data-dropup-auto="false">
    ...
    </select>
    -

    Disabled

    +

    Disabled states


    -

    Disabled select box

    +

    Disabled select box

    <select class="selectpicker" disabled>
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </select>
    -

    Disabled options

    +

    Disabled options

    <select class="selectpicker">
    <option>Mustard</option>
    <option disabled>Ketchup</option>
    <option>Relish</option>
    </select>
    -

    Disabled option groups

    +

    Disabled option groups

    -
    <select class="selectpicker test">
    <optgroup label="Picnic" disabled>
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </optgroup>
    <optgroup label="Camping">
    <option>Tent</option>
    <option>Flashlight</option>
    <option>Toilet Paper</option>
    </optgroup>
    </select>
    +
    <select class="selectpicker test">
    <optgroup label="Picnic" disabled>
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </optgroup>
    <optgroup label="Camping">
    <option>Tent</option>
    <option>Flashlight</option>
    <option>Toilet Paper</option>
    </optgroup>
    </select>
    \ No newline at end of file diff --git a/docs/docs/1.1/index.html b/docs/docs/1.1/index.html index 08d7e6a..d90cb1c 100644 --- a/docs/docs/1.1/index.html +++ b/docs/docs/1.1/index.html @@ -9,14 +9,14 @@ - - + + -
    Version: 1.1

    Getting Started

    +
    Version: 1.1

    Getting Started

    CrestApps fork

    This is the CrestApps fork of snapappointments/bootstrap-select. It removes the jQuery dependency entirely, uses plain vanilla JavaScript, and supports Bootstrap 5+ only. Older Bootstrap and jQuery compatibility paths are intentionally out of scope so the library can stay small and forward-focused.

    Quick start

    bootstrap-select requires Bootstrap 5+ (CSS and JS, including its bundled Popper). @@ -51,6 +51,6 @@

    Via JavaScr

    Tags-style editor pattern

    For taxonomy-style experiences, combine live search, removable selected tags, and open-option creation so selections stay visible as tags without repeating the full list in the button:

    new Selectpicker('#tag-editor', {
    liveSearch: true,
    showSelectedTags: true,
    openOptions: true,
    selectionIndicator: 'checkbox'
    });
    -

    See Examples for a live demo and Options for the full source.create(callback, searchValue) flow used by remote-backed editors.

    +

    See Examples for a live demo and Options for the full source.create(callback, searchValue) flow used by remote-backed editors.

    \ No newline at end of file diff --git a/docs/docs/1.1/methods/index.html b/docs/docs/1.1/methods/index.html index 18c8ec3..69c0319 100644 --- a/docs/docs/1.1/methods/index.html +++ b/docs/docs/1.1/methods/index.html @@ -9,14 +9,14 @@ - - + + -
    Version: 1.1

    Methods

    +
    Version: 1.1

    Methods

    Interface with bootstrap-select.

    In this fork, methods are called directly on the Selectpicker instance (there is no jQuery $.fn.selectpicker). Obtain an instance with @@ -94,6 +94,6 @@

    .destroy()
    Selectpicker.getInstance('#my-select').destroy();


    Static methods

    -
    MethodDescription
    new Selectpicker(elementOrSelector, options)Create a new instance.
    Selectpicker.getInstance(elementOrSelector)Return the existing instance for an element, or null.
    Selectpicker.getOrCreateInstance(elementOrSelector, options)Return the existing instance, creating one if needed.
    Selectpicker.setDefaults(options)Set global default options (used by the i18n translation files).
    Selectpicker.VERSIONThe plugin version.
    +
    MethodDescription
    new Selectpicker(elementOrSelector, options)Create a new instance.
    Selectpicker.getInstance(elementOrSelector)Return the existing instance for an element, or null.
    Selectpicker.getOrCreateInstance(elementOrSelector, options)Return the existing instance, creating one if needed.
    Selectpicker.setDefaults(options)Set global default options (used by the i18n translation files).
    Selectpicker.VERSIONThe plugin version.
    \ No newline at end of file diff --git a/docs/docs/1.1/options/index.html b/docs/docs/1.1/options/index.html index 791021c..d329c33 100644 --- a/docs/docs/1.1/options/index.html +++ b/docs/docs/1.1/options/index.html @@ -9,14 +9,14 @@ - - + + -
    Version: 1.1
    CrestApps fork

    The options and data attributes documented on this page are part of the current forward-only API. Initialize with new Selectpicker('#sel', options) or add the selectpicker class for automatic initialization. Global defaults are set with Selectpicker.setDefaults({ ... }).

    +
    Version: 1.1
    CrestApps fork

    The options and data attributes documented on this page are part of the current forward-only API. Initialize with new Selectpicker('#sel', options) or add the selectpicker class for automatic initialization. Global defaults are set with Selectpicker.setDefaults({ ... }).

    Core options


    Options can be passed via data attributes or JavaScript. For data attributes, append the option name to data-, as in @@ -270,7 +270,7 @@ boolean false -

    Show checkmark on selected option (for items without multiple attribute).

    +

    Shows the default checkmark indicator on single-select menus. Multiselect menus already render a selection indicator by default.

    @@ -294,7 +294,7 @@ 'checkmark' | 'checkbox' 'checkmark' -

    Controls how selected items are indicated in the dropdown. Use 'checkbox' to render a Bootstrap-style checkbox column instead of the default floating checkmark.

    +

    Controls how selected items are indicated in the dropdown. Use 'checkbox' to render a Bootstrap-style checkbox column on multiselects, or radio-style indicators automatically on single selects, instead of the default floating checkmark.

    @@ -390,66 +390,10 @@

    Default settings

    Selectpicker.DEFAULTS.multipleSeparator = ' | ';

    Events


    -

    bootstrap-select emits native CustomEvents on the original <select> element.

    -

    For show.bs.select, shown.bs.select, hide.bs.select, and hidden.bs.select, the original Bootstrap dropdown event is exposed as event.detail.bsEvent. Its relatedTarget property is the toggling button element.

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Event TypeDescription
    show.bs.selectThis event fires immediately when the menu starts opening.
    shown.bs.selectThis event is fired when the menu has been made visible to the user (after CSS transitions complete).
    hide.bs.selectThis event is fired immediately when the menu starts closing.
    hidden.bs.selectThis event is fired when the menu has finished being hidden from the user (after CSS transitions complete).
    loaded.bs.selectThis event fires after the select has been initialized.
    rendered.bs.selectThis event fires after the render instance has been called.
    refreshed.bs.selectThis event fires after the refresh instance has been called.
    changed.bs.select -

    This event fires after the select's value has been changed. The detail object passes clickedIndex, isSelected, and previousValue via event.detail.

    -

    previousValue is the value of the select prior to being changed. If the select's value has been changed either via the val(), selectAll(), or deselectAll() methods, clickedIndex and isSelected will be null.

    -
    maxReached.bs.selectThis event fires when a multi-select tries to exceed the configured maxOptions limit on the select.
    maxReachedGrp.bs.selectThis event fires when a multi-select tries to exceed the configured data-max-options limit on an <optgroup>.
    fetched.bs.selectThis event fires after async or callback-backed source data has been fetched and applied to the picker.
    -
    document.querySelector('#mySelect').addEventListener('changed.bs.select', function (e) {
    const { clickedIndex, isSelected, previousValue } = e.detail;
    // do something...
    });

    document.querySelector('#mySelect').addEventListener('show.bs.select', function (e) {
    const bootstrapEvent = e.detail.bsEvent;
    const button = bootstrapEvent.relatedTarget;
    });
    +

    bootstrap-select emits native CustomEvents on the original <select> element. +See the dedicated Events page for the full event reference, event +payload details, and examples for changed.bs.select, show.bs.select, and +the rest of the public event surface.

    Sanitizer


    HTML added via the data-content attribute on individual options is sanitized using our built-in sanitizer.

    @@ -459,6 +403,6 @@

    Sanitizer
    var myDefaultWhiteList = Selectpicker.DEFAULTS.whiteList;

    // To allow table elements
    myDefaultWhiteList.table = [];

    // To allow td elements and data-option attributes on td elements
    myDefaultWhiteList.td = ['data-option'];

    // You can push your custom regex to validate your attributes.
    // Be careful about your regular expressions being too lax
    var myCustomRegex = /^data-my-app-[\w-]+/;
    myDefaultWhiteList['*'].push(myCustomRegex);

    If you want to bypass our sanitizer because you prefer to use a dedicated library, you should do the following:

    new Selectpicker('#yourSelect', {
    sanitizeFn: function (domNodes) {
    return DOMPurify.sanitize(domNodes)
    }
    });
    -

    For performance reasons, our built-in sanitizer accepts an array of DOM nodes as its first argument, rather than an HTML string. Keep that in mind if deciding to use your own sanitizeFn.

    +

    For performance reasons, our built-in sanitizer accepts an array of DOM nodes as its first argument, rather than an HTML string. Keep that in mind if deciding to use your own sanitizeFn.

    \ No newline at end of file diff --git a/docs/docs/1.1/search-index.json b/docs/docs/1.1/search-index.json index a1e4c51..9bc418f 100644 --- a/docs/docs/1.1/search-index.json +++ b/docs/docs/1.1/search-index.json @@ -1 +1 @@ -[{"documents":[{"i":180,"t":"Getting Started","u":"/docs/1.1/","b":["Docs"]},{"i":193,"t":"Basic examples","u":"/docs/1.1/examples/","b":["Docs"]},{"i":256,"t":"Methods","u":"/docs/1.1/methods/","b":["Docs"]},{"i":260,"t":"Core options","u":"/docs/1.1/options/","b":["Docs"]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/180",[0,1.137,1,1.137]],["t/193",[2,1.137,3,1.137]],["t/256",[4,1.46]],["t/260",[5,1.137,6,1.137]]],"invertedIndex":[["basic",{"_index":2,"t":{"193":{"position":[[0,5]]}}}],["core",{"_index":5,"t":{"260":{"position":[[0,4]]}}}],["exampl",{"_index":3,"t":{"193":{"position":[[6,8]]}}}],["get",{"_index":0,"t":{"180":{"position":[[0,7]]}}}],["method",{"_index":4,"t":{"256":{"position":[[0,7]]}}}],["option",{"_index":6,"t":{"260":{"position":[[5,7]]}}}],["start",{"_index":1,"t":{"180":{"position":[[8,7]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":182,"t":"Quick start","u":"/docs/1.1/","h":"#quick-start","p":180},{"i":184,"t":"Using the CDN build","u":"/docs/1.1/","h":"#using-the-cdn-build","p":180},{"i":186,"t":"Usage","u":"/docs/1.1/","h":"","p":180},{"i":187,"t":"Via selectpicker class","u":"/docs/1.1/","h":"#via-selectpicker-class","p":180},{"i":189,"t":"Via JavaScript","u":"/docs/1.1/","h":"#via-javascript","p":180},{"i":191,"t":"Tags-style editor pattern","u":"/docs/1.1/","h":"#tags-style-editor-pattern","p":180},{"i":195,"t":"Standard select boxes","u":"/docs/1.1/examples/","h":"#standard-select-boxes","p":193},{"i":197,"t":"Select boxes with optgroups","u":"/docs/1.1/examples/","h":"#select-boxes-with-optgroups","p":193},{"i":199,"t":"Multiple select boxes","u":"/docs/1.1/examples/","h":"#multiple-select-boxes","p":193},{"i":201,"t":"Live search","u":"/docs/1.1/examples/","h":"#live-search","p":193},{"i":203,"t":"Key words","u":"/docs/1.1/examples/","h":"#key-words","p":193},{"i":205,"t":"Tags-style live search with open options","u":"/docs/1.1/examples/","h":"#tags-style-live-search-with-open-options","p":193},{"i":207,"t":"List-style menu","u":"/docs/1.1/examples/","h":"#list-style-menu","p":193},{"i":209,"t":"Floating labels with visible tags","u":"/docs/1.1/examples/","h":"#floating-labels-with-visible-tags","p":193},{"i":211,"t":"Limit the number of selections","u":"/docs/1.1/examples/","h":"","p":193},{"i":213,"t":"Custom button text","u":"/docs/1.1/examples/","h":"","p":193},{"i":214,"t":"Placeholder","u":"/docs/1.1/examples/","h":"#placeholder","p":193},{"i":216,"t":"Selected text","u":"/docs/1.1/examples/","h":"#selected-text","p":193},{"i":218,"t":"Selected text format","u":"/docs/1.1/examples/","h":"#selected-text-format","p":193},{"i":220,"t":"Styling","u":"/docs/1.1/examples/","h":"","p":193},{"i":221,"t":"Button classes","u":"/docs/1.1/examples/","h":"#button-classes","p":193},{"i":223,"t":"Checkmark on selected option","u":"/docs/1.1/examples/","h":"#checkmark-on-selected-option","p":193},{"i":225,"t":"Menu arrow","u":"/docs/1.1/examples/","h":"#menu-arrow","p":193},{"i":227,"t":"Style individual options","u":"/docs/1.1/examples/","h":"#style-individual-options","p":193},{"i":229,"t":"Width","u":"/docs/1.1/examples/","h":"#width","p":193},{"i":231,"t":"Customize options","u":"/docs/1.1/examples/","h":"","p":193},{"i":232,"t":"Font Awesome icons","u":"/docs/1.1/examples/","h":"#font-awesome-icons","p":193},{"i":234,"t":"Custom content","u":"/docs/1.1/examples/","h":"#custom-content","p":193},{"i":236,"t":"Subtext","u":"/docs/1.1/examples/","h":"#subtext","p":193},{"i":238,"t":"Customize menu","u":"/docs/1.1/examples/","h":"","p":193},{"i":239,"t":"Menu size","u":"/docs/1.1/examples/","h":"#menu-size","p":193},{"i":241,"t":"Select/deselect all options","u":"/docs/1.1/examples/","h":"#selectdeselect-all-options","p":193},{"i":243,"t":"Divider","u":"/docs/1.1/examples/","h":"#divider","p":193},{"i":245,"t":"Menu header","u":"/docs/1.1/examples/","h":"#menu-header","p":193},{"i":247,"t":"Dropup menu","u":"/docs/1.1/examples/","h":"#dropup-menu","p":193},{"i":249,"t":"Disabled","u":"/docs/1.1/examples/","h":"","p":193},{"i":250,"t":"Disabled select box","u":"/docs/1.1/examples/","h":"#disabled-select-box","p":193},{"i":252,"t":"Disabled options","u":"/docs/1.1/examples/","h":"#disabled-options","p":193},{"i":254,"t":"Disabled option groups","u":"/docs/1.1/examples/","h":"#disabled-option-groups","p":193},{"i":258,"t":"Static methods","u":"/docs/1.1/methods/","h":"#static-methods","p":256},{"i":262,"t":"Tags-style live search and open options","u":"/docs/1.1/options/","h":"#tags-style-live-search-and-open-options","p":260},{"i":264,"t":"Default settings","u":"/docs/1.1/options/","h":"","p":260},{"i":266,"t":"Events","u":"/docs/1.1/options/","h":"","p":260},{"i":268,"t":"Sanitizer","u":"/docs/1.1/options/","h":"#sanitizer","p":260}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/182",[0,3.642,1,3.642]],["t/184",[2,3.077,3,3.077,4,3.077]],["t/186",[5,4.462]],["t/187",[6,2.615,7,3.077,8,2.615]],["t/189",[6,3.095,9,3.642]],["t/191",[10,1.804,11,1.516,12,2.664,13,2.664]],["t/195",[14,3.077,15,1.508,16,2.083]],["t/197",[15,1.508,16,2.083,17,3.077]],["t/199",[15,1.508,16,2.083,18,3.077]],["t/201",[19,2.735,20,2.735]],["t/203",[21,3.642,22,3.642]],["t/205",[10,1.422,11,1.195,19,1.577,20,1.577,23,1.785,24,1.029]],["t/207",[11,1.751,25,3.077,26,1.751]],["t/209",[10,1.804,27,2.664,28,2.664,29,2.664]],["t/211",[15,1.508,30,3.077,31,3.077]],["t/213",[32,2.083,33,2.615,34,2.311]],["t/214",[35,4.462]],["t/216",[15,1.785,34,2.735]],["t/218",[15,1.508,34,2.311,36,3.077]],["t/220",[11,2.538]],["t/221",[8,3.095,33,3.095]],["t/223",[15,1.508,24,1.508,37,3.077]],["t/225",[26,2.072,38,3.642]],["t/227",[11,1.751,24,1.508,39,3.077]],["t/229",[40,4.462]],["t/231",[24,1.785,32,2.466]],["t/232",[41,3.077,42,3.077,43,3.077]],["t/234",[32,2.466,44,3.642]],["t/236",[45,4.462]],["t/238",[26,2.072,32,2.466]],["t/239",[26,2.072,46,3.642]],["t/241",[24,1.785,47,3.642]],["t/243",[48,4.462]],["t/245",[26,2.072,49,3.642]],["t/247",[26,2.072,50,3.642]],["t/249",[51,3.02]],["t/250",[15,1.508,16,2.083,51,2.083]],["t/252",[24,1.785,51,2.466]],["t/254",[24,1.508,51,2.083,52,3.077]],["t/258",[53,3.642,54,3.642]],["t/262",[10,1.422,11,1.195,19,1.577,20,1.577,23,1.785,24,1.029]],["t/264",[55,3.642,56,3.642]],["t/266",[57,4.462]],["t/268",[58,4.462]]],"invertedIndex":[["arrow",{"_index":38,"t":{"225":{"position":[[5,5]]}}}],["awesom",{"_index":42,"t":{"232":{"position":[[5,7]]}}}],["box",{"_index":16,"t":{"195":{"position":[[16,5]]},"197":{"position":[[7,5]]},"199":{"position":[[16,5]]},"250":{"position":[[16,3]]}}}],["build",{"_index":4,"t":{"184":{"position":[[14,5]]}}}],["button",{"_index":33,"t":{"213":{"position":[[7,6]]},"221":{"position":[[0,6]]}}}],["cdn",{"_index":3,"t":{"184":{"position":[[10,3]]}}}],["checkmark",{"_index":37,"t":{"223":{"position":[[0,9]]}}}],["class",{"_index":8,"t":{"187":{"position":[[17,5]]},"221":{"position":[[7,7]]}}}],["content",{"_index":44,"t":{"234":{"position":[[7,7]]}}}],["custom",{"_index":32,"t":{"213":{"position":[[0,6]]},"231":{"position":[[0,9]]},"234":{"position":[[0,6]]},"238":{"position":[[0,9]]}}}],["default",{"_index":55,"t":{"264":{"position":[[0,7]]}}}],["disabl",{"_index":51,"t":{"249":{"position":[[0,8]]},"250":{"position":[[0,8]]},"252":{"position":[[0,8]]},"254":{"position":[[0,8]]}}}],["divid",{"_index":48,"t":{"243":{"position":[[0,7]]}}}],["dropup",{"_index":50,"t":{"247":{"position":[[0,6]]}}}],["editor",{"_index":12,"t":{"191":{"position":[[11,6]]}}}],["event",{"_index":57,"t":{"266":{"position":[[0,6]]}}}],["float",{"_index":27,"t":{"209":{"position":[[0,8]]}}}],["font",{"_index":41,"t":{"232":{"position":[[0,4]]}}}],["format",{"_index":36,"t":{"218":{"position":[[14,6]]}}}],["group",{"_index":52,"t":{"254":{"position":[[16,6]]}}}],["header",{"_index":49,"t":{"245":{"position":[[5,6]]}}}],["icon",{"_index":43,"t":{"232":{"position":[[13,5]]}}}],["individu",{"_index":39,"t":{"227":{"position":[[6,10]]}}}],["javascript",{"_index":9,"t":{"189":{"position":[[4,10]]}}}],["key",{"_index":21,"t":{"203":{"position":[[0,3]]}}}],["label",{"_index":28,"t":{"209":{"position":[[9,6]]}}}],["limit",{"_index":30,"t":{"211":{"position":[[0,5]]}}}],["list",{"_index":25,"t":{"207":{"position":[[0,4]]}}}],["live",{"_index":19,"t":{"201":{"position":[[0,4]]},"205":{"position":[[11,4]]},"262":{"position":[[11,4]]}}}],["menu",{"_index":26,"t":{"207":{"position":[[11,4]]},"225":{"position":[[0,4]]},"238":{"position":[[10,4]]},"239":{"position":[[0,4]]},"245":{"position":[[0,4]]},"247":{"position":[[7,4]]}}}],["method",{"_index":54,"t":{"258":{"position":[[7,7]]}}}],["multipl",{"_index":18,"t":{"199":{"position":[[0,8]]}}}],["number",{"_index":31,"t":{"211":{"position":[[10,6]]}}}],["open",{"_index":23,"t":{"205":{"position":[[28,4]]},"262":{"position":[[27,4]]}}}],["optgroup",{"_index":17,"t":{"197":{"position":[[18,9]]}}}],["option",{"_index":24,"t":{"205":{"position":[[33,7]]},"223":{"position":[[22,6]]},"227":{"position":[[17,7]]},"231":{"position":[[10,7]]},"241":{"position":[[20,7]]},"252":{"position":[[9,7]]},"254":{"position":[[9,6]]},"262":{"position":[[32,7]]}}}],["pattern",{"_index":13,"t":{"191":{"position":[[18,7]]}}}],["placehold",{"_index":35,"t":{"214":{"position":[[0,11]]}}}],["quick",{"_index":0,"t":{"182":{"position":[[0,5]]}}}],["sanit",{"_index":58,"t":{"268":{"position":[[0,9]]}}}],["search",{"_index":20,"t":{"201":{"position":[[5,6]]},"205":{"position":[[16,6]]},"262":{"position":[[16,6]]}}}],["select",{"_index":15,"t":{"195":{"position":[[9,6]]},"197":{"position":[[0,6]]},"199":{"position":[[9,6]]},"211":{"position":[[20,10]]},"216":{"position":[[0,8]]},"218":{"position":[[0,8]]},"223":{"position":[[13,8]]},"250":{"position":[[9,6]]}}}],["select/deselect",{"_index":47,"t":{"241":{"position":[[0,15]]}}}],["selectpick",{"_index":7,"t":{"187":{"position":[[4,12]]}}}],["set",{"_index":56,"t":{"264":{"position":[[8,8]]}}}],["size",{"_index":46,"t":{"239":{"position":[[5,4]]}}}],["standard",{"_index":14,"t":{"195":{"position":[[0,8]]}}}],["start",{"_index":1,"t":{"182":{"position":[[6,5]]}}}],["static",{"_index":53,"t":{"258":{"position":[[0,6]]}}}],["style",{"_index":11,"t":{"191":{"position":[[5,5]]},"205":{"position":[[5,5]]},"207":{"position":[[5,5]]},"220":{"position":[[0,7]]},"227":{"position":[[0,5]]},"262":{"position":[[5,5]]}}}],["subtext",{"_index":45,"t":{"236":{"position":[[0,7]]}}}],["tag",{"_index":10,"t":{"191":{"position":[[0,4]]},"205":{"position":[[0,4]]},"209":{"position":[[29,4]]},"262":{"position":[[0,4]]}}}],["text",{"_index":34,"t":{"213":{"position":[[14,4]]},"216":{"position":[[9,4]]},"218":{"position":[[9,4]]}}}],["us",{"_index":2,"t":{"184":{"position":[[0,5]]}}}],["usag",{"_index":5,"t":{"186":{"position":[[0,5]]}}}],["via",{"_index":6,"t":{"187":{"position":[[0,3]]},"189":{"position":[[0,3]]}}}],["visibl",{"_index":29,"t":{"209":{"position":[[21,7]]}}}],["width",{"_index":40,"t":{"229":{"position":[[0,5]]}}}],["word",{"_index":22,"t":{"203":{"position":[[4,5]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":180,"t":"Install and use the CrestApps bootstrap-select fork with Bootstrap 5+.","s":"Getting Started","u":"/docs/1.1/","p":180},{"i":193,"t":"Live bootstrap-select examples hosted by the Docusaurus docs site.","s":"Basic examples","u":"/docs/1.1/examples/","p":193},{"i":256,"t":"bootstrap-select instance and static methods.","s":"Methods","u":"/docs/1.1/methods/","p":256},{"i":260,"t":"bootstrap-select options, events, and sanitizer settings.","s":"Core options","u":"/docs/1.1/options/","p":260}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/180",[0,1.119,1,1.119,2,1.119,3,0.138,4,0.098,5,1.119,6,1.119]],["t/193",[3,0.098,4,0.098,7,1.119,8,1.119,9,1.119,10,1.119,11,1.119,12,1.119]],["t/256",[3,0.118,4,0.118,13,1.347,14,1.347,15,1.347]],["t/260",[3,0.11,4,0.11,16,1.261,17,1.261,18,1.261,19,1.261]]],"invertedIndex":[["5",{"_index":6,"t":{"180":{"position":[[67,3]]}}}],["bootstrap",{"_index":3,"t":{"180":{"position":[[30,9],[57,9]]},"193":{"position":[[5,9]]},"256":{"position":[[0,9]]},"260":{"position":[[0,9]]}}}],["crestapp",{"_index":2,"t":{"180":{"position":[[20,9]]}}}],["doc",{"_index":11,"t":{"193":{"position":[[56,4]]}}}],["docusauru",{"_index":10,"t":{"193":{"position":[[45,10]]}}}],["event",{"_index":17,"t":{"260":{"position":[[26,7]]}}}],["exampl",{"_index":8,"t":{"193":{"position":[[22,8]]}}}],["fork",{"_index":5,"t":{"180":{"position":[[47,4]]}}}],["host",{"_index":9,"t":{"193":{"position":[[31,6]]}}}],["instal",{"_index":0,"t":{"180":{"position":[[0,7]]}}}],["instanc",{"_index":13,"t":{"256":{"position":[[17,8]]}}}],["live",{"_index":7,"t":{"193":{"position":[[0,4]]}}}],["method",{"_index":15,"t":{"256":{"position":[[37,8]]}}}],["option",{"_index":16,"t":{"260":{"position":[[17,8]]}}}],["sanit",{"_index":18,"t":{"260":{"position":[[38,9]]}}}],["select",{"_index":4,"t":{"180":{"position":[[40,6]]},"193":{"position":[[15,6]]},"256":{"position":[[10,6]]},"260":{"position":[[10,6]]}}}],["set",{"_index":19,"t":{"260":{"position":[[48,9]]}}}],["site",{"_index":12,"t":{"193":{"position":[[61,5]]}}}],["static",{"_index":14,"t":{"256":{"position":[[30,6]]}}}],["us",{"_index":1,"t":{"180":{"position":[[12,3]]}}}]],"pipeline":["stemmer"]}},{"documents":[],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[],"invertedIndex":[],"pipeline":["stemmer"]}},{"documents":[{"i":181,"t":"CrestApps fork This is the CrestApps fork of snapappointments/bootstrap-select. It removes the jQuery dependency entirely, uses plain vanilla JavaScript, and supports Bootstrap 5+ only. Older Bootstrap and jQuery compatibility paths are intentionally out of scope so the library can stay small and forward-focused.","s":"Getting Started","u":"/docs/1.1/","h":"","p":180},{"i":183,"t":"bootstrap-select requires Bootstrap 5+ (CSS and JS, including its bundled Popper). jQuery is not required. Install with npm: npm install @crestapps/bootstrap-select bootstrap Load Bootstrap 5 first, then bootstrap-select's CSS and JS (after Bootstrap's JavaScript): ","s":"Quick start","u":"/docs/1.1/","h":"#quick-start","p":180},{"i":185,"t":"After the package is published to npm, it will also be available through jsDelivr. Prefer pinning an explicit package version in production: You can replace @1.1.2 with the version you want to consume. During development, @latest also works, but a fixed version is safer for production deployments. When loaded via a ","s":"Quick start","u":"/docs/1.1/","h":"#quick-start","p":202},{"i":207,"t":"After the package is published to npm, it will also be available through jsDelivr. Prefer pinning an explicit package version in production: You can replace @1.1.2 with the version you want to consume. During development, @latest also works, but a fixed version is safer for production deployments. When loaded via a + + + + + + + + + + + + +
    Version: Latest

    Events

    +

    bootstrap-select emits native CustomEvents on the original <select> +element.

    +

    Listening for events

    +
    const select = document.querySelector('#mySelect');

    select.addEventListener('changed.bs.select', function (e) {
    const { clickedIndex, isSelected, previousValue } = e.detail;
    console.log('selection changed', { clickedIndex, isSelected, previousValue });
    });

    select.addEventListener('show.bs.select', function (e) {
    const bootstrapEvent = e.detail.bsEvent;
    const button = bootstrapEvent.relatedTarget;
    console.log('opening from button', button);
    });
    +

    Event detail

    +
      +
    • show.bs.select, shown.bs.select, hide.bs.select, and +hidden.bs.select expose the original Bootstrap dropdown event as +event.detail.bsEvent.
    • +
    • changed.bs.select exposes clickedIndex, isSelected, and +previousValue on event.detail.
    • +
    • If the value changed via val(), selectAll(), or deselectAll(), +clickedIndex and isSelected are null.
    • +
    +

    Event reference

    +
    Event typeDescription
    show.bs.selectFires immediately when the menu starts opening.
    shown.bs.selectFires after the menu is visible to the user.
    hide.bs.selectFires immediately when the menu starts closing.
    hidden.bs.selectFires after the menu has finished closing.
    loaded.bs.selectFires after the selectpicker has been initialized.
    rendered.bs.selectFires after render() updates the UI.
    refreshed.bs.selectFires after refresh() syncs the UI with the underlying <select>.
    changed.bs.selectFires after the value changes. event.detail contains clickedIndex, isSelected, and previousValue.
    maxReached.bs.selectFires when a multi-select exceeds the configured maxOptions limit.
    maxReachedGrp.bs.selectFires when an <optgroup> exceeds its configured data-max-options limit.
    fetched.bs.selectFires after async or callback-backed source data has been fetched and applied.
    + + \ No newline at end of file diff --git a/docs/docs/examples/index.html b/docs/docs/examples/index.html index 247aadc..6a3815c 100644 --- a/docs/docs/examples/index.html +++ b/docs/docs/examples/index.html @@ -9,57 +9,78 @@ - - + + -
    Version: Latest

    Basic examples

    +
    Version: Latest

    Basic examples

    CrestApps fork

    The examples use the vanilla JavaScript / Bootstrap 5+ API: new Selectpicker(el) or the selectpicker class, which auto-initializes. jQuery is not required.

    The main examples now live directly on this docs page so they inherit the docs theme, including light and dark mode. The standalone HTML files are still kept under docs/static/examples/ for quick smoke-testing outside Docusaurus.

    -

    Standard select boxes

    +

    Browse by topic

    + +

    Core selection patterns

    +

    Standard select boxes

    <select class="selectpicker">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </select>
    +

    Single select with checkmark indicator

    +

    Use the show-tick class when you want the default checkmark indicator on a single-select menu:

    +
    +
    <select class="selectpicker show-tick">
    <option>Mustard</option>
    <option selected>Ketchup</option>
    <option>Relish</option>
    </select>
    +

    Single select with radio indicators

    +

    If you set selectionIndicator to checkbox on a single select, bootstrap-select renders radio-style indicators automatically:

    +
    +
    <select class="selectpicker" data-selection-indicator="checkbox">
    <option>Article</option>
    <option selected>Blog Post</option>
    <option>Landing Page</option>
    </select>
    -

    Select boxes with optgroups

    +

    Select boxes with optgroups

    <select class="selectpicker">
    <optgroup label="Picnic">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </optgroup>
    <optgroup label="Camping">
    <option>Tent</option>
    <option>Flashlight</option>
    <option>Toilet Paper</option>
    </optgroup>
    </select>
    -

    Multiple select boxes

    +

    Multiple select boxes

    <select class="selectpicker" multiple>
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </select>
    - +

    Multiple select with checkbox indicators

    +

    Use data-selection-indicator="checkbox" on multiselects when you want a checkbox column instead of the floating checkmark:

    +
    +
    <select class="selectpicker" multiple data-selection-indicator="checkbox">
    <option selected>Bootstrap 5</option>
    <option>Vue</option>
    <option>React</option>
    <option>Svelte</option>
    </select>
    +

    Search and multi-select workflows

    +

    You can add a search input by passing data-live-search="true" attribute:

    -

    Key words

    +

    Key words

    Add key words to options to improve their searchability using data-tokens.

    <select class="selectpicker" data-live-search="true">
    <option data-tokens="ketchup mustard">Hot Dog, Fries and a Soda</option>
    <option data-tokens="mustard">Burger, Shake and a Smile</option>
    <option data-tokens="frosting">Sugar, Spice and all things nice</option>
    </select>
    -

    Tags-style live search with open options

    +

    Tags-style live search with open options

    Use showSelectedTags to keep selections visible as removable tags above the search box, while the button switches to a compact summary instead of repeating the same values.

    <select
    class="selectpicker"
    multiple
    data-icon-base="fa-solid"
    data-tick-icon="fa-check"
    data-live-search="true"
    data-show-selected-tags="true"
    data-open-options="true"
    data-live-search-placeholder="Search or create tags"
    placeholder="Search or create tags">
    <option selected data-icon="fa-seedling">Orchard Core</option>
    <option selected data-icon="fa-cubes">Bootstrap 5</option>
    <option data-icon="fa-code">Vue</option>
    <option data-icon="fa-tags">Taxonomy</option>
    <option data-icon="fa-circle-plus">Open option</option>
    <option data-icon="fa-wand-magic-sparkles">Editor UX</option>
    </select>
    -

    If you prefer a Bootstrap-style checkbox instead of the floating checkmark, set selectionIndicator to checkbox:

    -
    -
    <select
    class="selectpicker"
    multiple
    data-live-search="true"
    data-show-selected-tags="true"
    data-selection-indicator="checkbox"
    placeholder="Choose frameworks">
    <option selected>Bootstrap 5</option>
    <option>Vue</option>
    <option>React</option>
    <option>Svelte</option>
    </select>
    -

    List-style menu

    +

    List-style menu

    Set selectedItemsStyle to list to render the removable selections as a stacked Bootstrap list group:

    <select
    class="selectpicker"
    multiple
    data-live-search="true"
    data-show-selected-tags="true"
    data-selected-items-style="list">
    <option selected>Orchard Core</option>
    <option selected>Bootstrap 5</option>
    <option>Vue</option>
    </select>
    -

    Floating labels with visible tags

    +

    Floating labels with visible tags

    When a tags-style picker is placed inside a Bootstrap 5 form-floating wrapper, the selected tags stay visible inside the control after the menu closes, with balanced top and bottom spacing around the tags.

    <div class="form-floating">
    <select
    id="floating-tags-example"
    class="selectpicker"
    multiple
    data-live-search="true"
    data-show-selected-tags="true"
    data-open-options="true"
    placeholder="Years">
    <option selected>2026</option>
    <option selected>2023</option>
    <option selected>2021</option>
    </select>
    <label for="floating-tags-example">Years</label>
    </div>

    For remote-backed pickers, initialize with JavaScript and provide source.create(callback, searchValue) to save the new item before selecting it:

    new Selectpicker('#tag-editor', {
    liveSearch: true,
    showSelectedTags: true,
    openOptions: true,
    source: {
    data: function (callback) {
    callback(existingTags);
    },
    search: function (callback, page, searchValue) {
    callback(filterTags(searchValue));
    },
    create: function (callback, searchValue) {
    saveTag(searchValue).then(function (tag) {
    callback({
    text: tag.displayText,
    value: tag.id
    });
    });
    }
    }
    });
    -

    Limit the number of selections

    +

    Limit the number of selections

    Limit the number of options that can be selected via the data-max-options attribute. It also works for option groups. Customize the message displayed when the limit is reached with maxOptionsText.

    <div class="row g-3">
    <div class="col-md-6">
    <label for="max-options-example">Overall limit</label>
    <select id="max-options-example" class="selectpicker" multiple data-max-options="2" data-width="100%">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </select>
    </div>

    <div class="col-md-6">
    <label for="max-options-groups-example">Per-group limit</label>
    <select id="max-options-groups-example" class="selectpicker" multiple data-width="100%">
    <optgroup label="Condiments" data-max-options="2">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </optgroup>
    <optgroup label="Breads" data-max-options="2">
    <option>Plain</option>
    <option>Steamed</option>
    <option>Toasted</option>
    </optgroup>
    </select>
    </div>
    </div>
    -

    Custom button text

    +

    Selection text and summaries


    -

    Placeholder

    +

    Placeholder

    Use the placeholder attribute to set the default placeholder text when nothing is selected. This works for both multiple and standard select boxes:

    @@ -67,12 +88,12 @@

    PlaceholderLegacy bootstrap-select markup that uses the select element's title attribute for placeholder text is also supported on single selects:

    <select class="selectpicker" title="Choose a content type">
    <option>Article</option>
    <option>Blog Post</option>
    <option>Landing Page</option>
    </select>
    -

    Selected text

    +

    Selected text

    Set the title attribute on individual options to display alternative text when the option is selected:

    <select class="selectpicker">
    <option title="Combo 1">Hot Dog, Fries and a Soda</option>
    <option title="Combo 2">Burger, Shake and a Smile</option>
    <option title="Combo 3">Sugar, Spice and all things nice</option>
    </select>
    -

    Selected text format

    +

    Selected text format

    Specify how the selection is displayed with the data-selected-text-format attribute on a multiple select.

    The supported values are:

    @@ -86,27 +107,23 @@

    Selec
    <select class="selectpicker" multiple data-selected-text-format="count">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </select>
    <select class="selectpicker" multiple data-selected-text-format="count > 3">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    <option>Onions</option>
    </select>
    -

    Styling

    +

    Styling and layout


    -

    Button classes

    +

    Button classes

    You can set the button classes via the data-style attribute:

    <select class="selectpicker" data-style="btn-primary">
    ...
    </select>

    <select class="selectpicker" data-style="btn-secondary">
    ...
    </select>

    <select class="selectpicker" data-style="btn-success">
    ...
    </select>

    <select class="selectpicker" data-style="btn-dark">
    ...
    </select>

    <select class="selectpicker" data-style="btn-light">
    ...
    </select>

    <select class="selectpicker" data-style="btn-danger">
    ...
    </select>
    -

    Checkmark on selected option

    -

    You can also show the checkmark icon on standard select boxes with the show-tick class:

    -
    -
    <select class="selectpicker show-tick">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </select>
    - +

    The Bootstrap menu arrow can be added with the show-menu-arrow class:

    <select class="selectpicker show-menu-arrow">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </select>
    -

    Style individual options

    +

    Style individual options

    Classes and styles added to options are transferred to the select box:

    <select class="selectpicker">
    <option>Mustard</option>
    <option class="special">Ketchup</option>
    <option style="background: #5cb85c; color: #fff;">Relish</option>
    </select>
    .special {
    font-weight: bold !important;
    color: #fff !important;
    background: #bc0000 !important;
    text-transform: uppercase;
    }
    -

    Width

    +

    Width

    Wrap selects in grid columns, or any custom parent element, to easily enforce desired widths.

    @@ -115,58 +132,58 @@

    Width

    <select class="selectpicker" data-width="auto">
    ...
    </select>
    <select class="selectpicker" data-width="fit">
    ...
    </select>
    <select class="selectpicker" data-width="100px">
    ...
    </select>
    <select class="selectpicker" data-width="75%">
    ...
    </select>
    -

    Customize options

    +

    Rich option content


    -

    Font Awesome icons

    +

    Font Awesome icons

    This example uses Font Awesome. Add an icon to an option or optgroup with the data-icon attribute:

    Bootstrap 5 icons

    Bootstrap 5 does not include an icon font. To use Font Awesome or another icon library, set iconBase and tickIcon to match that library.

    The selected option renders its icon in the button, and the menu shows the icons for the remaining options as well.

    <select class="selectpicker" data-icon-base="fa-solid" data-tick-icon="fa-check">
    <option selected data-icon="fa-heart">Ketchup</option>
    </select>
    -

    Custom content

    +

    Custom content

    Insert custom HTML into the option with the data-content attribute:

    Custom content is sanitized

    This feature inserts HTML into the DOM. By default, it is sanitized using our built-in sanitizer.

    <select class="selectpicker">
    <option data-content="<span class='badge text-bg-success'>Relish</span>">Relish</option>
    </select>
    -

    Subtext

    +

    Subtext

    Add subtext to an option or optgroup with the data-subtext attribute:

    <select class="selectpicker" data-size="5">
    <option data-subtext="Heinz">Ketchup</option>
    </select>
    -

    Customize menu

    +
    - +

    The size option is set to 'auto' by default. When size is set to 'auto', the menu always opens up to show as many items as the window will allow without being cut off. Set size to false to always show all items. The size of the menu can also be specifed using the data-size attribute.

    Specify a number for data-size to choose the maximum number of items to show in the menu.

    <select class="selectpicker" data-size="5">
    ...
    </select>
    -

    Select/deselect all options

    +

    Select/deselect all options

    Adds two buttons to the top of the menu - Select All & Deselect All with data-actions-box="true".

    <select class="selectpicker" multiple data-actions-box="true">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </select>
    -

    Divider

    +

    Divider

    Add data-divider="true" to an option to turn it into a divider.

    <select class="selectpicker" data-size="5">
    <option data-divider="true"></option>
    </select>
    - +

    Add a header to the dropdown menu, e.g. header: 'Select a condiment' or data-header="Select a condiment"

    <select class="selectpicker" data-header="Select a condiment">
    ...
    </select>
    -

    Dropup menu

    +

    Dropup menu

    dropupAuto is set to true by default, which automatically determines whether or not the menu should display above or below the select box. If dropupAuto is set to false, manually make the select a dropup menu by adding the .dropup class to the select.

    <select class="selectpicker dropup" data-dropup-auto="false">
    ...
    </select>
    -

    Disabled

    +

    Disabled states


    -

    Disabled select box

    +

    Disabled select box

    <select class="selectpicker" disabled>
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </select>
    -

    Disabled options

    +

    Disabled options

    <select class="selectpicker">
    <option>Mustard</option>
    <option disabled>Ketchup</option>
    <option>Relish</option>
    </select>
    -

    Disabled option groups

    +

    Disabled option groups

    -
    <select class="selectpicker test">
    <optgroup label="Picnic" disabled>
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </optgroup>
    <optgroup label="Camping">
    <option>Tent</option>
    <option>Flashlight</option>
    <option>Toilet Paper</option>
    </optgroup>
    </select>
    +
    <select class="selectpicker test">
    <optgroup label="Picnic" disabled>
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
    </optgroup>
    <optgroup label="Camping">
    <option>Tent</option>
    <option>Flashlight</option>
    <option>Toilet Paper</option>
    </optgroup>
    </select>
    \ No newline at end of file diff --git a/docs/docs/index.html b/docs/docs/index.html index 6e7f553..0cc1411 100644 --- a/docs/docs/index.html +++ b/docs/docs/index.html @@ -9,31 +9,55 @@ - - + + -
    Version: Latest

    Getting Started

    +
    Version: Latest

    Getting Started

    CrestApps fork

    This is the CrestApps fork of snapappointments/bootstrap-select. It removes the jQuery dependency entirely, uses plain vanilla JavaScript, and supports Bootstrap 5+ only. Older Bootstrap and jQuery compatibility paths are intentionally out of scope so the library can stay small and forward-focused.

    Quick start

    bootstrap-select requires Bootstrap 5+ (CSS and JS, including its bundled Popper). jQuery is not required.

    Install with npm:

    npm install @crestapps/bootstrap-select bootstrap
    -

    Load Bootstrap 5 first, then bootstrap-select's CSS and JS (after Bootstrap's JavaScript):

    +

    Load Bootstrap 5 first, then bootstrap-select's CSS and JS (after Bootstrap's JavaScript when using the browser-global build):

    <!-- Bootstrap 5 (includes Popper) -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>

    <!-- bootstrap-select -->
    <link rel="stylesheet" href="dist/css/bootstrap-select.min.css">
    <script src="dist/js/bootstrap-select.min.js"></script>

    <!-- (Optional) translation files -->
    <script src="dist/js/i18n/defaults-*.min.js"></script>

    Using the CDN build

    After the package is published to npm, it will also be available through jsDelivr. Prefer pinning an explicit package version in production:

    -
    <!-- Bootstrap 5 (includes Popper) -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js"></script>

    <!-- @crestapps/bootstrap-select from jsDelivr -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@crestapps/bootstrap-select@1.1.2/dist/css/bootstrap-select.min.css">
    <script src="https://cdn.jsdelivr.net/npm/@crestapps/bootstrap-select@1.1.2/dist/js/bootstrap-select.min.js"></script>
    -

    You can replace @1.1.2 with the version you want to consume. During development, +

    <!-- Bootstrap 5 (includes Popper) -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js"></script>

    <!-- @crestapps/bootstrap-select from jsDelivr -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@crestapps/bootstrap-select@1.2.0/dist/css/bootstrap-select.min.css">
    <script src="https://cdn.jsdelivr.net/npm/@crestapps/bootstrap-select@1.2.0/dist/js/bootstrap-select.min.js"></script>
    +

    You can replace @1.2.0 with the version you want to consume. During development, @latest also works, but a fixed version is safer for production deployments.

    -

    When loaded via a <script> tag, the plugin exposes a global Selectpicker class. -Modern JavaScript can import the ES module entry:

    -
    import Selectpicker from '@crestapps/bootstrap-select';
    +

    Package formats

    +

    bootstrap-select now ships three JavaScript consumption styles from the same +shared source code:

    +
    StylePackage entryDirect fileUse when
    ESMimport Selectpicker from '@crestapps/bootstrap-select'dist/js/bootstrap-select.esm.mjsYour app uses native modules or an ESM-first bundler
    CommonJSrequire('@crestapps/bootstrap-select')dist/js/bootstrap-select.cjsYour bundler or app still prefers CommonJS
    Browser global / UMDn/adist/js/bootstrap-select.js or .min.jsYou load the plugin directly from a <script> tag or CDN
    +

    bootstrap-select is still a browser plugin, so the ESM and CommonJS entries are +meant for browser bundles or browser-like runtimes with a DOM, not server-only +Node.js execution.

    +

    ESM

    +

    Use the package import entry or the direct .mjs file:

    +
    import 'bootstrap/dist/css/bootstrap.min.css';
    import '@crestapps/bootstrap-select/dist/css/bootstrap-select.css';
    import Selectpicker, { Selectpicker as NamedSelectpicker } from '@crestapps/bootstrap-select';

    const picker = new Selectpicker('#my-select', { liveSearch: true });

    console.log(Selectpicker === NamedSelectpicker); // true
    +

    The ESM build stays module-scoped and does not attach window.Selectpicker. +If you prefer a direct file import, use @crestapps/bootstrap-select/dist/js/bootstrap-select.esm.mjs.

    +

    CommonJS

    +

    Use the package require() entry or the direct .cjs file:

    +
    require('bootstrap');
    require('@crestapps/bootstrap-select/dist/css/bootstrap-select.css');

    const Selectpicker = require('@crestapps/bootstrap-select');
    // or: const { Selectpicker } = require('@crestapps/bootstrap-select');

    const picker = new Selectpicker('#my-select', { liveSearch: true });
    +

    The CommonJS entry exports:

    +
      +
    • module.exports = Selectpicker
    • +
    • module.exports.Selectpicker = Selectpicker
    • +
    • module.exports.default = Selectpicker
    • +
    +

    Like the ESM build, it does not attach window.Selectpicker. +If you prefer a direct file require, use @crestapps/bootstrap-select/dist/js/bootstrap-select.cjs.

    +

    Browser global / UMD

    +

    When loaded from a <script> tag, the UMD build exposes the global +window.Selectpicker / Selectpicker:

    +
    <!-- Bootstrap 5 (includes Popper) -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js"></script>

    <!-- @crestapps/bootstrap-select from jsDelivr -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@crestapps/bootstrap-select@1.2.0/dist/css/bootstrap-select.min.css">
    <script src="https://cdn.jsdelivr.net/npm/@crestapps/bootstrap-select@1.2.0/dist/js/bootstrap-select.min.js"></script>

    <script>
    const picker = new Selectpicker('#my-select', { liveSearch: true });
    </script>

    Usage


    Via selectpicker class

    @@ -50,10 +74,6 @@

    Via JavaScr

    If calling bootstrap-select via JavaScript, run your code after the elements exist — either place the script at the bottom of the page (after the last <select>) or wrap it in a DOMContentLoaded listener:

    -
    document.addEventListener('DOMContentLoaded', function () {
    document.querySelectorAll('select').forEach(function (el) {
    new Selectpicker(el);
    });
    });
    -

    Tags-style editor pattern

    -

    For taxonomy-style experiences, combine live search, removable selected tags, and open-option creation so selections stay visible as tags without repeating the full list in the button:

    -
    new Selectpicker('#tag-editor', {
    liveSearch: true,
    showSelectedTags: true,
    openOptions: true,
    selectionIndicator: 'checkbox'
    });
    -

    See Examples for a live demo and Options for the full source.create(callback, searchValue) flow used by remote-backed editors.

    +
    document.addEventListener('DOMContentLoaded', function () {
    document.querySelectorAll('select').forEach(function (el) {
    new Selectpicker(el);
    });
    });
    \ No newline at end of file diff --git a/docs/docs/methods/index.html b/docs/docs/methods/index.html index 50b6271..2c8bab2 100644 --- a/docs/docs/methods/index.html +++ b/docs/docs/methods/index.html @@ -9,14 +9,14 @@ - - + + -
    Version: Latest

    Methods

    +
    Version: Latest

    Methods

    Interface with bootstrap-select.

    In this fork, methods are called directly on the Selectpicker instance (there is no jQuery $.fn.selectpicker). Obtain an instance with @@ -94,6 +94,6 @@

    .destroy()
    Selectpicker.getInstance('#my-select').destroy();


    Static methods

    -
    MethodDescription
    new Selectpicker(elementOrSelector, options)Create a new instance.
    Selectpicker.getInstance(elementOrSelector)Return the existing instance for an element, or null.
    Selectpicker.getOrCreateInstance(elementOrSelector, options)Return the existing instance, creating one if needed.
    Selectpicker.setDefaults(options)Set global default options (used by the i18n translation files).
    Selectpicker.VERSIONThe plugin version.
    +
    MethodDescription
    new Selectpicker(elementOrSelector, options)Create a new instance.
    Selectpicker.getInstance(elementOrSelector)Return the existing instance for an element, or null.
    Selectpicker.getOrCreateInstance(elementOrSelector, options)Return the existing instance, creating one if needed.
    Selectpicker.setDefaults(options)Set global default options (used by the i18n translation files).
    Selectpicker.VERSIONThe plugin version.
    \ No newline at end of file diff --git a/docs/docs/options/index.html b/docs/docs/options/index.html index 05ef764..8e9d66c 100644 --- a/docs/docs/options/index.html +++ b/docs/docs/options/index.html @@ -9,14 +9,14 @@ - - + + -
    Version: Latest
    CrestApps fork

    The options and data attributes documented on this page are part of the current forward-only API. Initialize with new Selectpicker('#sel', options) or add the selectpicker class for automatic initialization. Global defaults are set with Selectpicker.setDefaults({ ... }).

    +
    Version: Latest
    CrestApps fork

    The options and data attributes documented on this page are part of the current forward-only API. Initialize with new Selectpicker('#sel', options) or add the selectpicker class for automatic initialization. Global defaults are set with Selectpicker.setDefaults({ ... }).

    Core options


    Options can be passed via data attributes or JavaScript. For data attributes, append the option name to data-, as in @@ -270,7 +270,7 @@ boolean false -

    Show checkmark on selected option (for items without multiple attribute).

    +

    Shows the default checkmark indicator on single-select menus. Multiselect menus already render a selection indicator by default.

    @@ -294,7 +294,7 @@ 'checkmark' | 'checkbox' 'checkmark' -

    Controls how selected items are indicated in the dropdown. Use 'checkbox' to render a Bootstrap-style checkbox column instead of the default floating checkmark.

    +

    Controls how selected items are indicated in the dropdown. Use 'checkbox' to render a Bootstrap-style checkbox column on multiselects, or radio-style indicators automatically on single selects, instead of the default floating checkmark.

    @@ -390,66 +390,10 @@

    Default settings

    Selectpicker.DEFAULTS.multipleSeparator = ' | ';

    Events


    -

    bootstrap-select emits native CustomEvents on the original <select> element.

    -

    For show.bs.select, shown.bs.select, hide.bs.select, and hidden.bs.select, the original Bootstrap dropdown event is exposed as event.detail.bsEvent. Its relatedTarget property is the toggling button element.

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Event TypeDescription
    show.bs.selectThis event fires immediately when the menu starts opening.
    shown.bs.selectThis event is fired when the menu has been made visible to the user (after CSS transitions complete).
    hide.bs.selectThis event is fired immediately when the menu starts closing.
    hidden.bs.selectThis event is fired when the menu has finished being hidden from the user (after CSS transitions complete).
    loaded.bs.selectThis event fires after the select has been initialized.
    rendered.bs.selectThis event fires after the render instance has been called.
    refreshed.bs.selectThis event fires after the refresh instance has been called.
    changed.bs.select -

    This event fires after the select's value has been changed. The detail object passes clickedIndex, isSelected, and previousValue via event.detail.

    -

    previousValue is the value of the select prior to being changed. If the select's value has been changed either via the val(), selectAll(), or deselectAll() methods, clickedIndex and isSelected will be null.

    -
    maxReached.bs.selectThis event fires when a multi-select tries to exceed the configured maxOptions limit on the select.
    maxReachedGrp.bs.selectThis event fires when a multi-select tries to exceed the configured data-max-options limit on an <optgroup>.
    fetched.bs.selectThis event fires after async or callback-backed source data has been fetched and applied to the picker.
    -
    document.querySelector('#mySelect').addEventListener('changed.bs.select', function (e) {
    const { clickedIndex, isSelected, previousValue } = e.detail;
    // do something...
    });

    document.querySelector('#mySelect').addEventListener('show.bs.select', function (e) {
    const bootstrapEvent = e.detail.bsEvent;
    const button = bootstrapEvent.relatedTarget;
    });
    +

    bootstrap-select emits native CustomEvents on the original <select> element. +See the dedicated Events page for the full event reference, event +payload details, and examples for changed.bs.select, show.bs.select, and +the rest of the public event surface.

    Sanitizer


    HTML added via the data-content attribute on individual options is sanitized using our built-in sanitizer.

    @@ -459,6 +403,6 @@

    Sanitizer
    var myDefaultWhiteList = Selectpicker.DEFAULTS.whiteList;

    // To allow table elements
    myDefaultWhiteList.table = [];

    // To allow td elements and data-option attributes on td elements
    myDefaultWhiteList.td = ['data-option'];

    // You can push your custom regex to validate your attributes.
    // Be careful about your regular expressions being too lax
    var myCustomRegex = /^data-my-app-[\w-]+/;
    myDefaultWhiteList['*'].push(myCustomRegex);

    If you want to bypass our sanitizer because you prefer to use a dedicated library, you should do the following:

    new Selectpicker('#yourSelect', {
    sanitizeFn: function (domNodes) {
    return DOMPurify.sanitize(domNodes)
    }
    });
    -

    For performance reasons, our built-in sanitizer accepts an array of DOM nodes as its first argument, rather than an HTML string. Keep that in mind if deciding to use your own sanitizeFn.

    +

    For performance reasons, our built-in sanitizer accepts an array of DOM nodes as its first argument, rather than an HTML string. Keep that in mind if deciding to use your own sanitizeFn.

    \ No newline at end of file diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index ee00b27..c698958 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -16,7 +16,7 @@ const config = { url: process.env.DOCUSAURUS_URL || 'https://bootstrap-select.crestapps.com', baseUrl: normalizedBaseUrl, organizationName: 'CrestApps', - projectName: 'crestapps-bootstrap-select', + projectName: 'bootstrap-select', trailingSlash: true, onBrokenLinks: 'throw', markdown: { @@ -70,7 +70,7 @@ const config = { docs: { path: 'content', sidebarPath: require.resolve('./sidebars.js'), - editUrl: 'https://github.com/CrestApps/crestapps-bootstrap-select/tree/main/docs/', + editUrl: 'https://github.com/CrestApps/bootstrap-select/tree/main/docs/', lastVersion: 'current', versions: { current: { @@ -119,7 +119,7 @@ const config = { dropdownActiveClassDisabled: true }, { - href: 'https://github.com/CrestApps/crestapps-bootstrap-select', + href: 'https://github.com/CrestApps/bootstrap-select/', label: 'GitHub', position: 'right' } @@ -154,7 +154,7 @@ const config = { items: [ { label: 'Issues', - href: 'https://github.com/CrestApps/crestapps-bootstrap-select/issues' + href: 'https://github.com/CrestApps/bootstrap-select/issues' } ] }, @@ -163,7 +163,7 @@ const config = { items: [ { label: 'GitHub', - href: 'https://github.com/CrestApps/crestapps-bootstrap-select' + href: 'https://github.com/CrestApps/bootstrap-select/' }, { label: 'CrestApps', diff --git a/docs/index.html b/docs/index.html index 30ed1eb..e131ac1 100644 --- a/docs/index.html +++ b/docs/index.html @@ -9,13 +9,13 @@ - - + + -

    bootstrap-select for modern Bootstrap

    A dependency-free, vanilla JavaScript fork of bootstrap-select for Bootstrap 5+.

    Enhance native select elements with searchable menus, multiselects, custom text, sizing, and events while keeping jQuery out of your application.

    Vanilla JavaScript

    Use the Selectpicker class directly, with no jQuery dependency or legacy Bootstrap compatibility paths.

    Bootstrap 5+

    Built for modern Bootstrap projects and loaded alongside Bootstrap bundle assets in the docs examples.

    Hosted examples

    Exercise live selectpicker examples in the docs site or open standalone HTML examples served from the same Docusaurus app.

    +

    bootstrap-select for modern Bootstrap

    A dependency-free, vanilla JavaScript fork of bootstrap-select for Bootstrap 5+.

    Enhance native select elements with searchable menus, multiselects, custom text, sizing, and events while keeping jQuery out of your application.

    Vanilla JavaScript

    Use the Selectpicker class directly, with no jQuery dependency or legacy Bootstrap compatibility paths.

    Bootstrap 5+

    Built for modern Bootstrap projects and loaded alongside Bootstrap bundle assets in the docs examples.

    Hosted examples

    Exercise live selectpicker examples in the docs site or open standalone HTML examples served from the same Docusaurus app.

    \ No newline at end of file diff --git a/docs/search-index.json b/docs/search-index.json index f491a60..0a41f0d 100644 --- a/docs/search-index.json +++ b/docs/search-index.json @@ -1 +1 @@ -[{"documents":[{"i":1,"t":"Getting Started","u":"/docs/","b":["Docs"]},{"i":14,"t":"Basic examples","u":"/docs/examples/","b":["Docs"]},{"i":77,"t":"Methods","u":"/docs/methods/","b":["Docs"]},{"i":81,"t":"Core options","u":"/docs/options/","b":["Docs"]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[0,1.137,1,1.137]],["t/14",[2,1.137,3,1.137]],["t/77",[4,1.46]],["t/81",[5,1.137,6,1.137]]],"invertedIndex":[["basic",{"_index":2,"t":{"14":{"position":[[0,5]]}}}],["core",{"_index":5,"t":{"81":{"position":[[0,4]]}}}],["exampl",{"_index":3,"t":{"14":{"position":[[6,8]]}}}],["get",{"_index":0,"t":{"1":{"position":[[0,7]]}}}],["method",{"_index":4,"t":{"77":{"position":[[0,7]]}}}],["option",{"_index":6,"t":{"81":{"position":[[5,7]]}}}],["start",{"_index":1,"t":{"1":{"position":[[8,7]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":3,"t":"Quick start","u":"/docs/","h":"#quick-start","p":1},{"i":5,"t":"Using the CDN build","u":"/docs/","h":"#using-the-cdn-build","p":1},{"i":7,"t":"Usage","u":"/docs/","h":"","p":1},{"i":8,"t":"Via selectpicker class","u":"/docs/","h":"#via-selectpicker-class","p":1},{"i":10,"t":"Via JavaScript","u":"/docs/","h":"#via-javascript","p":1},{"i":12,"t":"Tags-style editor pattern","u":"/docs/","h":"#tags-style-editor-pattern","p":1},{"i":16,"t":"Standard select boxes","u":"/docs/examples/","h":"#standard-select-boxes","p":14},{"i":18,"t":"Select boxes with optgroups","u":"/docs/examples/","h":"#select-boxes-with-optgroups","p":14},{"i":20,"t":"Multiple select boxes","u":"/docs/examples/","h":"#multiple-select-boxes","p":14},{"i":22,"t":"Live search","u":"/docs/examples/","h":"#live-search","p":14},{"i":24,"t":"Key words","u":"/docs/examples/","h":"#key-words","p":14},{"i":26,"t":"Tags-style live search with open options","u":"/docs/examples/","h":"#tags-style-live-search-with-open-options","p":14},{"i":28,"t":"List-style menu","u":"/docs/examples/","h":"#list-style-menu","p":14},{"i":30,"t":"Floating labels with visible tags","u":"/docs/examples/","h":"#floating-labels-with-visible-tags","p":14},{"i":32,"t":"Limit the number of selections","u":"/docs/examples/","h":"","p":14},{"i":34,"t":"Custom button text","u":"/docs/examples/","h":"","p":14},{"i":35,"t":"Placeholder","u":"/docs/examples/","h":"#placeholder","p":14},{"i":37,"t":"Selected text","u":"/docs/examples/","h":"#selected-text","p":14},{"i":39,"t":"Selected text format","u":"/docs/examples/","h":"#selected-text-format","p":14},{"i":41,"t":"Styling","u":"/docs/examples/","h":"","p":14},{"i":42,"t":"Button classes","u":"/docs/examples/","h":"#button-classes","p":14},{"i":44,"t":"Checkmark on selected option","u":"/docs/examples/","h":"#checkmark-on-selected-option","p":14},{"i":46,"t":"Menu arrow","u":"/docs/examples/","h":"#menu-arrow","p":14},{"i":48,"t":"Style individual options","u":"/docs/examples/","h":"#style-individual-options","p":14},{"i":50,"t":"Width","u":"/docs/examples/","h":"#width","p":14},{"i":52,"t":"Customize options","u":"/docs/examples/","h":"","p":14},{"i":53,"t":"Font Awesome icons","u":"/docs/examples/","h":"#font-awesome-icons","p":14},{"i":55,"t":"Custom content","u":"/docs/examples/","h":"#custom-content","p":14},{"i":57,"t":"Subtext","u":"/docs/examples/","h":"#subtext","p":14},{"i":59,"t":"Customize menu","u":"/docs/examples/","h":"","p":14},{"i":60,"t":"Menu size","u":"/docs/examples/","h":"#menu-size","p":14},{"i":62,"t":"Select/deselect all options","u":"/docs/examples/","h":"#selectdeselect-all-options","p":14},{"i":64,"t":"Divider","u":"/docs/examples/","h":"#divider","p":14},{"i":66,"t":"Menu header","u":"/docs/examples/","h":"#menu-header","p":14},{"i":68,"t":"Dropup menu","u":"/docs/examples/","h":"#dropup-menu","p":14},{"i":70,"t":"Disabled","u":"/docs/examples/","h":"","p":14},{"i":71,"t":"Disabled select box","u":"/docs/examples/","h":"#disabled-select-box","p":14},{"i":73,"t":"Disabled options","u":"/docs/examples/","h":"#disabled-options","p":14},{"i":75,"t":"Disabled option groups","u":"/docs/examples/","h":"#disabled-option-groups","p":14},{"i":79,"t":"Static methods","u":"/docs/methods/","h":"#static-methods","p":77},{"i":83,"t":"Tags-style live search and open options","u":"/docs/options/","h":"#tags-style-live-search-and-open-options","p":81},{"i":85,"t":"Default settings","u":"/docs/options/","h":"","p":81},{"i":87,"t":"Events","u":"/docs/options/","h":"","p":81},{"i":89,"t":"Sanitizer","u":"/docs/options/","h":"#sanitizer","p":81}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/3",[0,3.642,1,3.642]],["t/5",[2,3.077,3,3.077,4,3.077]],["t/7",[5,4.462]],["t/8",[6,2.615,7,3.077,8,2.615]],["t/10",[6,3.095,9,3.642]],["t/12",[10,1.804,11,1.516,12,2.664,13,2.664]],["t/16",[14,3.077,15,1.508,16,2.083]],["t/18",[15,1.508,16,2.083,17,3.077]],["t/20",[15,1.508,16,2.083,18,3.077]],["t/22",[19,2.735,20,2.735]],["t/24",[21,3.642,22,3.642]],["t/26",[10,1.422,11,1.195,19,1.577,20,1.577,23,1.785,24,1.029]],["t/28",[11,1.751,25,3.077,26,1.751]],["t/30",[10,1.804,27,2.664,28,2.664,29,2.664]],["t/32",[15,1.508,30,3.077,31,3.077]],["t/34",[32,2.083,33,2.615,34,2.311]],["t/35",[35,4.462]],["t/37",[15,1.785,34,2.735]],["t/39",[15,1.508,34,2.311,36,3.077]],["t/41",[11,2.538]],["t/42",[8,3.095,33,3.095]],["t/44",[15,1.508,24,1.508,37,3.077]],["t/46",[26,2.072,38,3.642]],["t/48",[11,1.751,24,1.508,39,3.077]],["t/50",[40,4.462]],["t/52",[24,1.785,32,2.466]],["t/53",[41,3.077,42,3.077,43,3.077]],["t/55",[32,2.466,44,3.642]],["t/57",[45,4.462]],["t/59",[26,2.072,32,2.466]],["t/60",[26,2.072,46,3.642]],["t/62",[24,1.785,47,3.642]],["t/64",[48,4.462]],["t/66",[26,2.072,49,3.642]],["t/68",[26,2.072,50,3.642]],["t/70",[51,3.02]],["t/71",[15,1.508,16,2.083,51,2.083]],["t/73",[24,1.785,51,2.466]],["t/75",[24,1.508,51,2.083,52,3.077]],["t/79",[53,3.642,54,3.642]],["t/83",[10,1.422,11,1.195,19,1.577,20,1.577,23,1.785,24,1.029]],["t/85",[55,3.642,56,3.642]],["t/87",[57,4.462]],["t/89",[58,4.462]]],"invertedIndex":[["arrow",{"_index":38,"t":{"46":{"position":[[5,5]]}}}],["awesom",{"_index":42,"t":{"53":{"position":[[5,7]]}}}],["box",{"_index":16,"t":{"16":{"position":[[16,5]]},"18":{"position":[[7,5]]},"20":{"position":[[16,5]]},"71":{"position":[[16,3]]}}}],["build",{"_index":4,"t":{"5":{"position":[[14,5]]}}}],["button",{"_index":33,"t":{"34":{"position":[[7,6]]},"42":{"position":[[0,6]]}}}],["cdn",{"_index":3,"t":{"5":{"position":[[10,3]]}}}],["checkmark",{"_index":37,"t":{"44":{"position":[[0,9]]}}}],["class",{"_index":8,"t":{"8":{"position":[[17,5]]},"42":{"position":[[7,7]]}}}],["content",{"_index":44,"t":{"55":{"position":[[7,7]]}}}],["custom",{"_index":32,"t":{"34":{"position":[[0,6]]},"52":{"position":[[0,9]]},"55":{"position":[[0,6]]},"59":{"position":[[0,9]]}}}],["default",{"_index":55,"t":{"85":{"position":[[0,7]]}}}],["disabl",{"_index":51,"t":{"70":{"position":[[0,8]]},"71":{"position":[[0,8]]},"73":{"position":[[0,8]]},"75":{"position":[[0,8]]}}}],["divid",{"_index":48,"t":{"64":{"position":[[0,7]]}}}],["dropup",{"_index":50,"t":{"68":{"position":[[0,6]]}}}],["editor",{"_index":12,"t":{"12":{"position":[[11,6]]}}}],["event",{"_index":57,"t":{"87":{"position":[[0,6]]}}}],["float",{"_index":27,"t":{"30":{"position":[[0,8]]}}}],["font",{"_index":41,"t":{"53":{"position":[[0,4]]}}}],["format",{"_index":36,"t":{"39":{"position":[[14,6]]}}}],["group",{"_index":52,"t":{"75":{"position":[[16,6]]}}}],["header",{"_index":49,"t":{"66":{"position":[[5,6]]}}}],["icon",{"_index":43,"t":{"53":{"position":[[13,5]]}}}],["individu",{"_index":39,"t":{"48":{"position":[[6,10]]}}}],["javascript",{"_index":9,"t":{"10":{"position":[[4,10]]}}}],["key",{"_index":21,"t":{"24":{"position":[[0,3]]}}}],["label",{"_index":28,"t":{"30":{"position":[[9,6]]}}}],["limit",{"_index":30,"t":{"32":{"position":[[0,5]]}}}],["list",{"_index":25,"t":{"28":{"position":[[0,4]]}}}],["live",{"_index":19,"t":{"22":{"position":[[0,4]]},"26":{"position":[[11,4]]},"83":{"position":[[11,4]]}}}],["menu",{"_index":26,"t":{"28":{"position":[[11,4]]},"46":{"position":[[0,4]]},"59":{"position":[[10,4]]},"60":{"position":[[0,4]]},"66":{"position":[[0,4]]},"68":{"position":[[7,4]]}}}],["method",{"_index":54,"t":{"79":{"position":[[7,7]]}}}],["multipl",{"_index":18,"t":{"20":{"position":[[0,8]]}}}],["number",{"_index":31,"t":{"32":{"position":[[10,6]]}}}],["open",{"_index":23,"t":{"26":{"position":[[28,4]]},"83":{"position":[[27,4]]}}}],["optgroup",{"_index":17,"t":{"18":{"position":[[18,9]]}}}],["option",{"_index":24,"t":{"26":{"position":[[33,7]]},"44":{"position":[[22,6]]},"48":{"position":[[17,7]]},"52":{"position":[[10,7]]},"62":{"position":[[20,7]]},"73":{"position":[[9,7]]},"75":{"position":[[9,6]]},"83":{"position":[[32,7]]}}}],["pattern",{"_index":13,"t":{"12":{"position":[[18,7]]}}}],["placehold",{"_index":35,"t":{"35":{"position":[[0,11]]}}}],["quick",{"_index":0,"t":{"3":{"position":[[0,5]]}}}],["sanit",{"_index":58,"t":{"89":{"position":[[0,9]]}}}],["search",{"_index":20,"t":{"22":{"position":[[5,6]]},"26":{"position":[[16,6]]},"83":{"position":[[16,6]]}}}],["select",{"_index":15,"t":{"16":{"position":[[9,6]]},"18":{"position":[[0,6]]},"20":{"position":[[9,6]]},"32":{"position":[[20,10]]},"37":{"position":[[0,8]]},"39":{"position":[[0,8]]},"44":{"position":[[13,8]]},"71":{"position":[[9,6]]}}}],["select/deselect",{"_index":47,"t":{"62":{"position":[[0,15]]}}}],["selectpick",{"_index":7,"t":{"8":{"position":[[4,12]]}}}],["set",{"_index":56,"t":{"85":{"position":[[8,8]]}}}],["size",{"_index":46,"t":{"60":{"position":[[5,4]]}}}],["standard",{"_index":14,"t":{"16":{"position":[[0,8]]}}}],["start",{"_index":1,"t":{"3":{"position":[[6,5]]}}}],["static",{"_index":53,"t":{"79":{"position":[[0,6]]}}}],["style",{"_index":11,"t":{"12":{"position":[[5,5]]},"26":{"position":[[5,5]]},"28":{"position":[[5,5]]},"41":{"position":[[0,7]]},"48":{"position":[[0,5]]},"83":{"position":[[5,5]]}}}],["subtext",{"_index":45,"t":{"57":{"position":[[0,7]]}}}],["tag",{"_index":10,"t":{"12":{"position":[[0,4]]},"26":{"position":[[0,4]]},"30":{"position":[[29,4]]},"83":{"position":[[0,4]]}}}],["text",{"_index":34,"t":{"34":{"position":[[14,4]]},"37":{"position":[[9,4]]},"39":{"position":[[9,4]]}}}],["us",{"_index":2,"t":{"5":{"position":[[0,5]]}}}],["usag",{"_index":5,"t":{"7":{"position":[[0,5]]}}}],["via",{"_index":6,"t":{"8":{"position":[[0,3]]},"10":{"position":[[0,3]]}}}],["visibl",{"_index":29,"t":{"30":{"position":[[21,7]]}}}],["width",{"_index":40,"t":{"50":{"position":[[0,5]]}}}],["word",{"_index":22,"t":{"24":{"position":[[4,5]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":1,"t":"Install and use the CrestApps bootstrap-select fork with Bootstrap 5+.","s":"Getting Started","u":"/docs/","p":1},{"i":14,"t":"Live bootstrap-select examples hosted by the Docusaurus docs site.","s":"Basic examples","u":"/docs/examples/","p":14},{"i":77,"t":"bootstrap-select instance and static methods.","s":"Methods","u":"/docs/methods/","p":77},{"i":81,"t":"bootstrap-select options, events, and sanitizer settings.","s":"Core options","u":"/docs/options/","p":81}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[0,1.119,1,1.119,2,1.119,3,0.138,4,0.098,5,1.119,6,1.119]],["t/14",[3,0.098,4,0.098,7,1.119,8,1.119,9,1.119,10,1.119,11,1.119,12,1.119]],["t/77",[3,0.118,4,0.118,13,1.347,14,1.347,15,1.347]],["t/81",[3,0.11,4,0.11,16,1.261,17,1.261,18,1.261,19,1.261]]],"invertedIndex":[["5",{"_index":6,"t":{"1":{"position":[[67,3]]}}}],["bootstrap",{"_index":3,"t":{"1":{"position":[[30,9],[57,9]]},"14":{"position":[[5,9]]},"77":{"position":[[0,9]]},"81":{"position":[[0,9]]}}}],["crestapp",{"_index":2,"t":{"1":{"position":[[20,9]]}}}],["doc",{"_index":11,"t":{"14":{"position":[[56,4]]}}}],["docusauru",{"_index":10,"t":{"14":{"position":[[45,10]]}}}],["event",{"_index":17,"t":{"81":{"position":[[26,7]]}}}],["exampl",{"_index":8,"t":{"14":{"position":[[22,8]]}}}],["fork",{"_index":5,"t":{"1":{"position":[[47,4]]}}}],["host",{"_index":9,"t":{"14":{"position":[[31,6]]}}}],["instal",{"_index":0,"t":{"1":{"position":[[0,7]]}}}],["instanc",{"_index":13,"t":{"77":{"position":[[17,8]]}}}],["live",{"_index":7,"t":{"14":{"position":[[0,4]]}}}],["method",{"_index":15,"t":{"77":{"position":[[37,8]]}}}],["option",{"_index":16,"t":{"81":{"position":[[17,8]]}}}],["sanit",{"_index":18,"t":{"81":{"position":[[38,9]]}}}],["select",{"_index":4,"t":{"1":{"position":[[40,6]]},"14":{"position":[[15,6]]},"77":{"position":[[10,6]]},"81":{"position":[[10,6]]}}}],["set",{"_index":19,"t":{"81":{"position":[[48,9]]}}}],["site",{"_index":12,"t":{"14":{"position":[[61,5]]}}}],["static",{"_index":14,"t":{"77":{"position":[[30,6]]}}}],["us",{"_index":1,"t":{"1":{"position":[[12,3]]}}}]],"pipeline":["stemmer"]}},{"documents":[],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[],"invertedIndex":[],"pipeline":["stemmer"]}},{"documents":[{"i":2,"t":"CrestApps fork This is the CrestApps fork of snapappointments/bootstrap-select. It removes the jQuery dependency entirely, uses plain vanilla JavaScript, and supports Bootstrap 5+ only. Older Bootstrap and jQuery compatibility paths are intentionally out of scope so the library can stay small and forward-focused.","s":"Getting Started","u":"/docs/","h":"","p":1},{"i":4,"t":"bootstrap-select requires Bootstrap 5+ (CSS and JS, including its bundled Popper). jQuery is not required. Install with npm: npm install @crestapps/bootstrap-select bootstrap Load Bootstrap 5 first, then bootstrap-select's CSS and JS (after Bootstrap's JavaScript): ","s":"Quick start","u":"/docs/","h":"#quick-start","p":1},{"i":6,"t":"After the package is published to npm, it will also be available through jsDelivr. Prefer pinning an explicit package version in production: You can replace @1.1.2 with the version you want to consume. During development, @latest also works, but a fixed version is safer for production deployments. When loaded via a ","s":"Quick start","u":"/docs/","h":"#quick-start","p":1},{"i":6,"t":"After the package is published to npm, it will also be available through jsDelivr. Prefer pinning an explicit package version in production: You can replace @1.2.0 with the version you want to consume. During development, @latest also works, but a fixed version is safer for production deployments.","s":"Using the CDN build","u":"/docs/","h":"#using-the-cdn-build","p":1},{"i":8,"t":"bootstrap-select now ships three JavaScript consumption styles from the same shared source code: Style Package entry Direct file Use when ESM import Selectpicker from '@crestapps/bootstrap-select' dist/js/bootstrap-select.esm.mjs Your app uses native modules or an ESM-first bundler CommonJS require('@crestapps/bootstrap-select') dist/js/bootstrap-select.cjs Your bundler or app still prefers CommonJS Browser global / UMD n/a dist/js/bootstrap-select.js or .min.js You load the plugin directly from a ","s":"Browser global / UMD","u":"/docs/","h":"#browser-global--umd","p":1},{"i":17,"t":"Add the selectpicker class to your select elements to auto-initialize bootstrap-select once the DOM is ready. Existing bootstrap-select markup that uses title=\"...\" placeholders or data-width=\"fit\" is also supported: ","s":"Via selectpicker class","u":"/docs/","h":"#via-selectpicker-class","p":1},{"i":19,"t":"// Initialize one select (accepts an element or a selector string) new Selectpicker('#my-select', { liveSearch: true }); or // Initialize several selects document.querySelectorAll('.my-select').forEach(function (el) { new Selectpicker(el); }); If calling bootstrap-select via JavaScript, run your code after the elements exist — either place the script at the bottom of the page (after the last element.","s":"Events","u":"/docs/events/","h":"","p":20},{"i":23,"t":"const select = document.querySelector('#mySelect'); select.addEventListener('changed.bs.select', function (e) { const { clickedIndex, isSelected, previousValue } = e.detail; console.log('selection changed', { clickedIndex, isSelected, previousValue }); }); select.addEventListener('show.bs.select', function (e) { const bootstrapEvent = e.detail.bsEvent; const button = bootstrapEvent.relatedTarget; console.log('opening from button', button); });","s":"Listening for events","u":"/docs/events/","h":"#listening-for-events","p":20},{"i":25,"t":"show.bs.select, shown.bs.select, hide.bs.select, and hidden.bs.select expose the original Bootstrap dropdown event as event.detail.bsEvent. changed.bs.select exposes clickedIndex, isSelected, and previousValue on event.detail. If the value changed via val(), selectAll(), or deselectAll(), clickedIndex and isSelected are null.","s":"Event detail","u":"/docs/events/","h":"#event-detail","p":20},{"i":27,"t":"Event type Description show.bs.select Fires immediately when the menu starts opening. shown.bs.select Fires after the menu is visible to the user. hide.bs.select Fires immediately when the menu starts closing. hidden.bs.select Fires after the menu has finished closing. loaded.bs.select Fires after the selectpicker has been initialized. rendered.bs.select Fires after render() updates the UI. refreshed.bs.select Fires after refresh() syncs the UI with the underlying ","s":"Standard select boxes","u":"/docs/examples/","h":"#standard-select-boxes","p":28},{"i":36,"t":"Use the show-tick class when you want the default checkmark indicator on a single-select menu: ","s":"Single select with checkmark indicator","u":"/docs/examples/","h":"#single-select-with-checkmark-indicator","p":28},{"i":38,"t":"If you set selectionIndicator to checkbox on a single select, bootstrap-select renders radio-style indicators automatically: ","s":"Single select with radio indicators","u":"/docs/examples/","h":"#single-select-with-radio-indicators","p":28},{"i":40,"t":"","s":"Select boxes with optgroups","u":"/docs/examples/","h":"#select-boxes-with-optgroups","p":28},{"i":42,"t":"","s":"Multiple select boxes","u":"/docs/examples/","h":"#multiple-select-boxes","p":28},{"i":44,"t":"Use data-selection-indicator=\"checkbox\" on multiselects when you want a checkbox column instead of the floating checkmark: ","s":"Multiple select with checkbox indicators","u":"/docs/examples/","h":"#multiple-select-with-checkbox-indicators","p":28},{"i":47,"t":"You can add a search input by passing data-live-search=\"true\" attribute:","s":"Live search","u":"/docs/examples/","h":"#live-search","p":28},{"i":49,"t":"Add key words to options to improve their searchability using data-tokens. ","s":"Key words","u":"/docs/examples/","h":"#key-words","p":28},{"i":51,"t":"Use showSelectedTags to keep selections visible as removable tags above the search box, while the button switches to a compact summary instead of repeating the same values. ","s":"Tags-style live search with open options","u":"/docs/examples/","h":"#tags-style-live-search-with-open-options","p":28},{"i":53,"t":"Set selectedItemsStyle to list to render the removable selections as a stacked Bootstrap list group: ","s":"List-style menu","u":"/docs/examples/","h":"#list-style-menu","p":28},{"i":55,"t":"When a tags-style picker is placed inside a Bootstrap 5 form-floating wrapper, the selected tags stay visible inside the control after the menu closes, with balanced top and bottom spacing around the tags.
    For remote-backed pickers, initialize with JavaScript and provide source.create(callback, searchValue) to save the new item before selecting it: new Selectpicker('#tag-editor', { liveSearch: true, showSelectedTags: true, openOptions: true, source: { data: function (callback) { callback(existingTags); }, search: function (callback, page, searchValue) { callback(filterTags(searchValue)); }, create: function (callback, searchValue) { saveTag(searchValue).then(function (tag) { callback({ text: tag.displayText, value: tag.id }); }); } } });","s":"Floating labels with visible tags","u":"/docs/examples/","h":"#floating-labels-with-visible-tags","p":28},{"i":57,"t":"Limit the number of options that can be selected via the data-max-options attribute. It also works for option groups. Customize the message displayed when the limit is reached with maxOptionsText.
    ","s":"Limit the number of selections","u":"/docs/examples/","h":"#limit-the-number-of-selections","p":28},{"i":60,"t":"Use the placeholder attribute to set the default placeholder text when nothing is selected. This works for both multiple and standard select boxes: Legacy bootstrap-select markup that uses the select element's title attribute for placeholder text is also supported on single selects: ","s":"Placeholder","u":"/docs/examples/","h":"#placeholder","p":28},{"i":62,"t":"Set the title attribute on individual options to display alternative text when the option is selected: ","s":"Selected text","u":"/docs/examples/","h":"#selected-text","p":28},{"i":64,"t":"Specify how the selection is displayed with the data-selected-text-format attribute on a multiple select. The supported values are: values: A comma delimited list of selected values (default) count: If one item is selected, then the option value is shown. If more than one is selected then the number of selected items is displayed, e.g. 2 of 6 selected count > x: Where x is the number of items selected when the display format changes from values to count static: Always show the placeholder, regardless of selection ","s":"Selected text format","u":"/docs/examples/","h":"#selected-text-format","p":28},{"i":67,"t":"You can set the button classes via the data-style attribute: ","s":"Button classes","u":"/docs/examples/","h":"#button-classes","p":28},{"i":69,"t":"The Bootstrap menu arrow can be added with the show-menu-arrow class: ","s":"Menu arrow","u":"/docs/examples/","h":"#menu-arrow","p":28},{"i":71,"t":"Classes and styles added to options are transferred to the select box: .special { font-weight: bold !important; color: #fff !important; background: #bc0000 !important; text-transform: uppercase; }","s":"Style individual options","u":"/docs/examples/","h":"#style-individual-options","p":28},{"i":73,"t":"Wrap selects in grid columns, or any custom parent element, to easily enforce desired widths.
    Alternatively, use the data-width attribute to set the width of the select. Set data-width to 'auto' to automatically adjust the width of the select to its widest option. 'fit' automatically adjusts the width of the select to the width of its currently selected option. An exact value can also be specified, e.g., 300px or 50%. ","s":"Width","u":"/docs/examples/","h":"#width","p":28},{"i":76,"t":"This example uses Font Awesome. Add an icon to an option or optgroup with the data-icon attribute: Bootstrap 5 icons Bootstrap 5 does not include an icon font. To use Font Awesome or another icon library, set iconBase and tickIcon to match that library. The selected option renders its icon in the button, and the menu shows the icons for the remaining options as well. ","s":"Font Awesome icons","u":"/docs/examples/","h":"#font-awesome-icons","p":28},{"i":78,"t":"Insert custom HTML into the option with the data-content attribute: Custom content is sanitized This feature inserts HTML into the DOM. By default, it is sanitized using our built-in sanitizer. ","s":"Custom content","u":"/docs/examples/","h":"#custom-content","p":28},{"i":80,"t":"Add subtext to an option or optgroup with the data-subtext attribute: ","s":"Subtext","u":"/docs/examples/","h":"#subtext","p":28},{"i":83,"t":"The size option is set to 'auto' by default. When size is set to 'auto', the menu always opens up to show as many items as the window will allow without being cut off. Set size to false to always show all items. The size of the menu can also be specifed using the data-size attribute. Specify a number for data-size to choose the maximum number of items to show in the menu. ","s":"Menu size","u":"/docs/examples/","h":"#menu-size","p":28},{"i":85,"t":"Adds two buttons to the top of the menu - Select All & Deselect All with data-actions-box=\"true\". ","s":"Select/deselect all options","u":"/docs/examples/","h":"#selectdeselect-all-options","p":28},{"i":87,"t":"Add data-divider=\"true\" to an option to turn it into a divider. ","s":"Divider","u":"/docs/examples/","h":"#divider","p":28},{"i":89,"t":"Add a header to the dropdown menu, e.g. header: 'Select a condiment' or data-header=\"Select a condiment\" ","s":"Menu header","u":"/docs/examples/","h":"#menu-header","p":28},{"i":91,"t":"dropupAuto is set to true by default, which automatically determines whether or not the menu should display above or below the select box. If dropupAuto is set to false, manually make the select a dropup menu by adding the .dropup class to the select. ","s":"Dropup menu","u":"/docs/examples/","h":"#dropup-menu","p":28},{"i":94,"t":"","s":"Disabled select box","u":"/docs/examples/","h":"#disabled-select-box","p":28},{"i":96,"t":"","s":"Disabled options","u":"/docs/examples/","h":"#disabled-options","p":28},{"i":98,"t":"","s":"Disabled option groups","u":"/docs/examples/","h":"#disabled-option-groups","p":28},{"i":100,"t":"Interface with bootstrap-select. In this fork, methods are called directly on the Selectpicker instance (there is no jQuery $.fn.selectpicker). Obtain an instance with Selectpicker.getInstance(elementOrSelector) (returns the existing instance) or Selectpicker.getOrCreateInstance(elementOrSelector, options). const picker = Selectpicker.getInstance('#my-select'); .val()​ You can set the selected value by calling the val method on the instance. Selectpicker.getInstance('#my-select').val('Mustard'); Selectpicker.getInstance('#my-select').val(['Mustard', 'Relish']); This is different to setting value directly on the select element. If you set value on the element directly, the bootstrap-select UI will not refresh (as the change event only fires from user interaction). You will have to call the UI render method yourself. const select = document.querySelector('#my-select'); select.value = 'Mustard'; Selectpicker.getInstance(select).render(); // this is the equivalent of the above Selectpicker.getInstance(select).val('Mustard'); Called with no argument, val() returns the current value (a string for single selects, or an array of strings for multiple selects). .selectAll()​ This will select all items in a multi-select. Selectpicker.getInstance('#my-select').selectAll(); .deselectAll()​ This will deselect all items in a multi-select. Selectpicker.getInstance('#my-select').deselectAll(); .render()​ You can force a re-render of the bootstrap-select UI with the render method. This is useful if you programmatically change any underlying values that affect the layout of the element. Selectpicker.getInstance('#my-select').render(); .mobile()​ Enable mobile scrolling by calling mobile(). This enables the device's native menu for select menus. The method for detecting the browser is left up to the user. if (/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) { Selectpicker.getInstance('#my-select').mobile(); } .setStyle()​ Modify the class(es) associated with either the button itself or its container. If changing the class on the container: const select = document.querySelector('#my-select'); select.closest('.bootstrap-select').classList.add('col-lg-12'); Selectpicker.getInstance(select).setStyle(); If changing the class(es) on the button (altering data-style): const picker = Selectpicker.getInstance('#my-select'); // Replace class picker.setStyle('btn-danger'); // Add class picker.setStyle('btn-lg', 'add'); // Remove class picker.setStyle('btn-lg', 'remove'); .refresh()​ To programmatically update a select with JavaScript, first manipulate the select, then use the refresh method to update the UI to match the new state. This is necessary when removing or adding options, or when disabling/enabling a select via JavaScript. Selectpicker.getInstance('#my-select').refresh(); For example, to remove an option then refresh: document.querySelector('.rm-mustard').addEventListener('click', function () { const select = document.querySelector('.remove-example'); const option = select.querySelector('[value=\"Mustard\"]'); if (option) option.remove(); Selectpicker.getInstance(select).refresh(); }); Or to disable/enable a select: const select = document.querySelector('.disable-example'); document.querySelector('.ex-disable').addEventListener('click', function () { select.disabled = true; Selectpicker.getInstance(select).refresh(); }); document.querySelector('.ex-enable').addEventListener('click', function () { select.disabled = false; Selectpicker.getInstance(select).refresh(); }); .toggle()​ Programmatically toggles the bootstrap-select menu open/closed. Selectpicker.getInstance('#my-select').toggle(); .open() and .close() are also available. .hide()​ To programmatically hide the bootstrap-select use the hide method (this only affects the visibility of the bootstrap-select itself). Selectpicker.getInstance('#my-select').hide(); .show()​ To programmatically show the bootstrap-select use the show method (this only affects the visibility of the bootstrap-select itself). Selectpicker.getInstance('#my-select').show(); .destroy()​ To programmatically destroy the bootstrap-select, use the destroy method. This removes the generated UI and restores the original Use JavaScript when the picker is backed by a remote source and new terms must be saved first: new Selectpicker('#tag-editor', { liveSearch: true, showSelectedTags: true, openOptions: true, openOptionsText: 'Create tag \"{0}\"', selectedTagRemoveLabel: 'Remove tag', selectionIndicator: 'checkbox', source: { data: function (callback) { callback(existingTags); }, search: function (callback, page, searchValue) { callback(findMatchingTags(searchValue)); }, create: function (callback, searchValue) { createTag(searchValue).then(function (tag) { callback({ text: tag.displayText, value: tag.id }); }); } } }); source.create can return the created option synchronously, invoke the provided callback later, or resolve a Promise. In each case, the picker adds the returned option and selects it automatically.","s":"Tags-style live search and open options","u":"/docs/options/","h":"#tags-style-live-search-and-open-options","p":103},{"i":108,"t":"You can change the default settings for bootstrap-select by modifying its DEFAULTS object (or by calling Selectpicker.setDefaults({ … })): Selectpicker.DEFAULTS.multipleSeparator = ' | ';","s":"Default settings","u":"/docs/options/","h":"","p":103},{"i":110,"t":"bootstrap-select emits native CustomEvents on the original

    Search the documentation

    +

    Search the documentation

    \ No newline at end of file diff --git a/docs/sidebars.js b/docs/sidebars.js index 5d07dbe..a4b37f2 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -20,6 +20,11 @@ const sidebars = { type: 'doc', id: 'methods', label: 'Methods' + }, + { + type: 'doc', + id: 'events', + label: 'Events' } ] }; diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 105a617..a5a6a93 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -1 +1 @@ -https://bootstrap-select.crestapps.com/search/weekly0.5https://bootstrap-select.crestapps.com/docs/1.0/weekly0.5https://bootstrap-select.crestapps.com/docs/1.0/examples/weekly0.5https://bootstrap-select.crestapps.com/docs/1.0/methods/weekly0.5https://bootstrap-select.crestapps.com/docs/1.0/options/weekly0.5https://bootstrap-select.crestapps.com/docs/1.1/weekly0.5https://bootstrap-select.crestapps.com/docs/1.1/examples/weekly0.5https://bootstrap-select.crestapps.com/docs/1.1/methods/weekly0.5https://bootstrap-select.crestapps.com/docs/1.1/options/weekly0.5https://bootstrap-select.crestapps.com/docs/weekly0.5https://bootstrap-select.crestapps.com/docs/examples/weekly0.5https://bootstrap-select.crestapps.com/docs/methods/weekly0.5https://bootstrap-select.crestapps.com/docs/options/weekly0.5https://bootstrap-select.crestapps.com/weekly0.5 \ No newline at end of file +https://bootstrap-select.crestapps.com/search/weekly0.5https://bootstrap-select.crestapps.com/docs/1.0/weekly0.5https://bootstrap-select.crestapps.com/docs/1.0/examples/weekly0.5https://bootstrap-select.crestapps.com/docs/1.0/methods/weekly0.5https://bootstrap-select.crestapps.com/docs/1.0/options/weekly0.5https://bootstrap-select.crestapps.com/docs/1.1/weekly0.5https://bootstrap-select.crestapps.com/docs/1.1/examples/weekly0.5https://bootstrap-select.crestapps.com/docs/1.1/methods/weekly0.5https://bootstrap-select.crestapps.com/docs/1.1/options/weekly0.5https://bootstrap-select.crestapps.com/docs/weekly0.5https://bootstrap-select.crestapps.com/docs/events/weekly0.5https://bootstrap-select.crestapps.com/docs/examples/weekly0.5https://bootstrap-select.crestapps.com/docs/methods/weekly0.5https://bootstrap-select.crestapps.com/docs/options/weekly0.5https://bootstrap-select.crestapps.com/weekly0.5 \ No newline at end of file diff --git a/docs/src/components/LiveExample.js b/docs/src/components/LiveExample.js index 4604878..2fd78d3 100644 --- a/docs/src/components/LiveExample.js +++ b/docs/src/components/LiveExample.js @@ -17,6 +17,16 @@ function LiveExampleInner ({ html, className = '', style }) { let instances = []; const scriptListeners = []; const windowListeners = []; + let articleObserver; + + function containsMarkNode (node) { + return !!(node && + node.nodeType === 1 && + ( + node.tagName === 'MARK' || + (typeof node.querySelector === 'function' && node.querySelector('mark')) + )); + } function destroyInstances () { instances.forEach(function (instance) { @@ -81,6 +91,17 @@ function LiveExampleInner ({ html, className = '', style }) { scheduleInitialize(100); } + function handleArticleMutations (mutations) { + const shouldRecover = mutations.some(function (mutation) { + return Array.from(mutation.addedNodes || []).some(containsMarkNode) || + Array.from(mutation.removedNodes || []).some(containsMarkNode); + }); + + if (shouldRecover) { + scheduleInitialize(150); + } + } + attachWindowListener('load', initialize); attachWindowListener('hashchange', handleHashChange); attachWindowListener('resize', function () { @@ -93,11 +114,24 @@ function LiveExampleInner ({ html, className = '', style }) { } }); + if (typeof MutationObserver !== 'undefined') { + const article = exampleRef.current && exampleRef.current.closest('article'); + + if (article) { + articleObserver = new MutationObserver(handleArticleMutations); + articleObserver.observe(article, { + childList: true, + subtree: true + }); + } + } + initialize(); return function () { isDisposed = true; window.clearTimeout(timeoutId); + if (articleObserver) articleObserver.disconnect(); windowListeners.forEach(function (removeListener) { removeListener(); }); diff --git a/docs/versioned_docs/version-1.1/examples.mdx b/docs/versioned_docs/version-1.1/examples.mdx index fc1ae5b..551dda1 100644 --- a/docs/versioned_docs/version-1.1/examples.mdx +++ b/docs/versioned_docs/version-1.1/examples.mdx @@ -14,7 +14,19 @@ The examples use the vanilla JavaScript / Bootstrap 5+ API: `new Selectpicker(el The main examples now live directly on this docs page so they inherit the docs theme, including light and dark mode. The standalone HTML files are still kept under `docs/static/examples/` for quick smoke-testing outside Docusaurus. -## Standard select boxes +## Browse by topic + +- [Core selection patterns](#core-selection-patterns) +- [Search and multi-select workflows](#search-and-multi-select-workflows) +- [Selection text and summaries](#selection-text-and-summaries) +- [Styling and layout](#styling-and-layout) +- [Rich option content](#rich-option-content) +- [Menu behavior](#menu-behavior) +- [Disabled states](#disabled-states) + +## Core selection patterns + +### Standard select boxes @@ -46,9 +58,49 @@ The main examples now live directly on this docs page so they inherit the docs t ``` +### Single select with checkmark indicator + +Use the `show-tick` class when you want the default checkmark indicator on a single-select menu: + + + + + + `} +/> + +```html + +``` + +### Single select with radio indicators + +If you set `selectionIndicator` to `checkbox` on a single select, bootstrap-select renders radio-style indicators automatically: + + + + + + `} +/> + +```html + +``` + -## Select boxes with optgroups +### Select boxes with optgroups @@ -80,7 +132,7 @@ The main examples now live directly on this docs page so they inherit the docs t ``` -## Multiple select boxes +### Multiple select boxes @@ -98,7 +150,31 @@ The main examples now live directly on this docs page so they inherit the docs t ``` -## Live search +### Multiple select with checkbox indicators + +Use `data-selection-indicator="checkbox"` on multiselects when you want a checkbox column instead of the floating checkmark: + + + + + + + `} +/> + +```html + +``` + +## Search and multi-select workflows + +### Live search You can add a search input by passing `data-live-search="true"` attribute: @@ -111,7 +187,7 @@ You can add a search input by passing `data-live-search="true"` attribute: className="no-code" /> -## Key words +### Key words Add key words to options to improve their searchability using `data-tokens`. @@ -131,7 +207,7 @@ Add key words to options to improve their searchability using `data-tokens`. ``` -## Tags-style live search with open options +### Tags-style live search with open options Use `showSelectedTags` to keep selections visible as removable tags above the search box, while the button switches to a compact summary instead of repeating the same values. @@ -176,40 +252,7 @@ Use `showSelectedTags` to keep selections visible as removable tags above the se ``` -If you prefer a Bootstrap-style checkbox instead of the floating checkmark, set `selectionIndicator` to `checkbox`: - - - - - - - `} -/> - -```html - -``` - -## List-style menu +### List-style menu Set `selectedItemsStyle` to `list` to render the removable selections as a stacked Bootstrap list group: @@ -245,7 +288,7 @@ Set `selectedItemsStyle` to `list` to render the removable selections as a stack ``` -## Floating labels with visible tags +### Floating labels with visible tags When a tags-style picker is placed inside a Bootstrap 5 `form-floating` wrapper, the selected tags stay visible inside the control after the menu closes, with balanced top and bottom spacing around the tags. @@ -314,7 +357,7 @@ new Selectpicker('#tag-editor', { }); ``` -# Limit the number of selections +### Limit the number of selections Limit the number of options that can be selected via the `data-max-options` attribute. It also works for option groups. Customize the message displayed when the limit is reached with `maxOptionsText`. @@ -376,11 +419,11 @@ Limit the number of options that can be selected via the `data-max-options` attr ``` -# Custom button text +## Selection text and summaries --- -## Placeholder +### Placeholder

    Use the `placeholder` attribute to set the default placeholder text when nothing is selected. This works for both multiple and standard select boxes: @@ -430,7 +473,7 @@ Legacy bootstrap-select markup that uses the select element's `title` attribute ``` -## Selected text +### Selected text

    Set the `title` attribute on individual options to display alternative text when the option is selected: @@ -451,7 +494,7 @@ Set the `title` attribute on individual options to display alternative text when ``` -## Selected text format +### Selected text format

    Specify how the selection is displayed with the `data-selected-text-format` attribute on a multiple select. @@ -497,11 +540,11 @@ The supported values are: ``` -# Styling +## Styling and layout --- -## Button classes +### Button classes You can set the button classes via the `data-style` attribute: @@ -576,27 +619,7 @@ You can set the button classes via the `data-style` attribute: ``` -## Checkmark on selected option - -You can also show the checkmark icon on standard select boxes with the `show-tick` class: - - - - - - `} -/> - -```html - -``` - -## Menu arrow +### Menu arrow The Bootstrap menu arrow can be added with the `show-menu-arrow` class: @@ -616,7 +639,7 @@ The Bootstrap menu arrow can be added with the `show-menu-arrow` class: ``` -## Style individual options +### Style individual options

    Classes and styles added to options are transferred to the select box: @@ -646,7 +669,7 @@ Classes and styles added to options are transferred to the select box: } ``` -## Width +### Width

    Wrap selects in grid columns, or any custom parent element, to easily enforce desired widths. @@ -802,11 +825,11 @@ Alternatively, use the `data-width` attribute to set the width of the select. Se ``` -# Customize options +## Rich option content --- -## Font Awesome icons +### Font Awesome icons This example uses Font Awesome. Add an icon to an option or optgroup with the `data-icon` attribute: @@ -832,7 +855,7 @@ The selected option renders its icon in the button, and the menu shows the icons ``` -## Custom content +### Custom content Insert custom HTML into the option with the `data-content` attribute: @@ -855,7 +878,7 @@ This feature inserts HTML into the DOM. By default, it is sanitized using our bu ``` -## Subtext +### Subtext Add subtext to an option or optgroup with the `data-subtext` attribute: ``` -# Customize menu +## Menu behavior --- -## Menu size +### Menu size The `size` option is set to `'auto'` by default. When `size` is set to `'auto'`, the menu always opens up to show as many items as the window will allow without being cut off. Set `size` to `false` to always show all items. The size of the menu can also be specifed using the `data-size` attribute. @@ -954,7 +977,7 @@ Specify a number for `data-size` to choose the maximum number of items to show i ``` -## Select/deselect all options +### Select/deselect all options Adds two buttons to the top of the menu - **Select All** & **Deselect All** with `data-actions-box="true"`. @@ -974,7 +997,7 @@ Adds two buttons to the top of the menu - **Select All** & **Deselect All** with ``` -## Divider +### Divider Add `data-divider="true"` to an option to turn it into a divider. @@ -998,7 +1021,7 @@ Add `data-divider="true"` to an option to turn it into a divider. ``` -## Menu header +### Menu header Add a header to the dropdown menu, e.g. `header: 'Select a condiment'` or `data-header="Select a condiment"` @@ -1026,7 +1049,7 @@ Add a header to the dropdown menu, e.g. `header: 'Select a condiment'` or `data- ``` -## Dropup menu +### Dropup menu `dropupAuto` is set to true by default, which automatically determines whether or not the menu should display above or below the select box. If `dropupAuto` is set to false, manually make the select a dropup menu by adding the `.dropup` class to the select. @@ -1044,11 +1067,11 @@ Add a header to the dropdown menu, e.g. `header: 'Select a condiment'` or `data- ``` -# Disabled +## Disabled states --- -## Disabled select box +### Disabled select box @@ -1066,7 +1089,7 @@ Add a header to the dropdown menu, e.g. `header: 'Select a condiment'` or `data- ``` -## Disabled options +### Disabled options @@ -1084,7 +1107,7 @@ Add a header to the dropdown menu, e.g. `header: 'Select a condiment'` or `data- ``` -## Disabled option groups +### Disabled option groups diff --git a/docs/versioned_docs/version-1.1/options.mdx b/docs/versioned_docs/version-1.1/options.mdx index ca97f7b..f285b69 100644 --- a/docs/versioned_docs/version-1.1/options.mdx +++ b/docs/versioned_docs/version-1.1/options.mdx @@ -270,7 +270,7 @@ For security reasons, the `sanitize`, `sanitizeFn`, and `whiteList` options cann boolean false -

    Show checkmark on selected option (for items without multiple attribute).

    +

    Shows the default checkmark indicator on single-select menus. Multiselect menus already render a selection indicator by default.

    @@ -294,7 +294,7 @@ For security reasons, the `sanitize`, `sanitizeFn`, and `whiteList` options cann 'checkmark' | 'checkbox' 'checkmark' -

    Controls how selected items are indicated in the dropdown. Use 'checkbox' to render a Bootstrap-style checkbox column instead of the default floating checkmark.

    +

    Controls how selected items are indicated in the dropdown. Use 'checkbox' to render a Bootstrap-style checkbox column on multiselects, or radio-style indicators automatically on single selects, instead of the default floating checkmark.

    @@ -448,80 +448,9 @@ Selectpicker.DEFAULTS.multipleSeparator = ' | '; --- bootstrap-select emits native `CustomEvent`s on the original `' + + (this.options.openOptions + ? '' + : '') + + ''; + } + + if (this.multiple && this.options.actionsBox) { + actionsbox = + '
    ' + + '
    ' + + '' + + '' + + '
    ' + + '
    '; + } + + if (this.multiple && this.options.doneButton) { + donebutton = + '
    ' + + '
    ' + + '' + + '
    ' + + '
    '; + } + + if (this.options.allowClear) { + clearButton = '×'; + } + + drop = + ''; + + return createFromHTML(drop); + } diff --git a/js/bootstrap-select.constants.js b/js/bootstrap-select.constants.js new file mode 100644 index 0000000..5bb6e45 --- /dev/null +++ b/js/bootstrap-select.constants.js @@ -0,0 +1,309 @@ +/* eslint-disable no-undef, no-unused-vars */ +// Shared ordered source fragment consumed by the Grunt JS build. + +// +var keyCodeMap = { + 32: ' ', 48: '0', 49: '1', 50: '2', 51: '3', 52: '4', 53: '5', 54: '6', + 55: '7', 56: '8', 57: '9', 59: ';', + 65: 'A', 66: 'B', 67: 'C', 68: 'D', 69: 'E', 70: 'F', 71: 'G', 72: 'H', + 73: 'I', 74: 'J', 75: 'K', 76: 'L', 77: 'M', 78: 'N', 79: 'O', 80: 'P', + 81: 'Q', 82: 'R', 83: 'S', 84: 'T', 85: 'U', 86: 'V', 87: 'W', 88: 'X', + 89: 'Y', 90: 'Z', + 96: '0', 97: '1', 98: '2', 99: '3', 100: '4', 101: '5', 102: '6', + 103: '7', 104: '8', 105: '9' +}; + +var keyCodes = { + ESCAPE: 27, + ENTER: 13, + SPACE: 32, + TAB: 9, + ARROW_UP: 38, + ARROW_DOWN: 40 +}; + +var selectId = 0; + +var EVENT_KEY = '.bs.select'; + +// Bootstrap 5 class names. +var classNames = { + DISABLED: 'disabled', + DIVIDER: 'dropdown-divider', + SHOW: 'show', + DROPUP: 'dropup', + MENU: 'dropdown-menu', + MENUEND: 'dropdown-menu-end', + BUTTONCLASS: 'btn-light', + POPOVERHEADER: 'popover-header', + ICONBASE: '', + TICKICON: 'bs-ok-default' +}; + +var Selector = { + MENU: '.' + classNames.MENU, + DATA_TOGGLE: 'data-bs-toggle="dropdown"' +}; + +var elementTemplates = { + div: document.createElement('div'), + span: document.createElement('span'), + i: document.createElement('i'), + subtext: document.createElement('small'), + a: document.createElement('a'), + li: document.createElement('li'), + whitespace: document.createTextNode('\u00A0'), + fragment: document.createDocumentFragment(), + option: document.createElement('option') +}; + +elementTemplates.selectedOption = elementTemplates.option.cloneNode(false); +elementTemplates.selectedOption.setAttribute('selected', true); + +elementTemplates.noResults = elementTemplates.li.cloneNode(false); +elementTemplates.noResults.className = 'no-results'; + +elementTemplates.a.setAttribute('role', 'option'); +elementTemplates.a.className = 'dropdown-item'; + +elementTemplates.subtext.className = 'text-muted'; + +elementTemplates.text = elementTemplates.span.cloneNode(false); +elementTemplates.text.className = 'text'; + +elementTemplates.checkMark = elementTemplates.span.cloneNode(false); + +var REGEXP_ARROW = new RegExp(keyCodes.ARROW_UP + '|' + keyCodes.ARROW_DOWN); +var REGEXP_TAB_OR_ESCAPE = new RegExp('^' + keyCodes.TAB + '$|' + keyCodes.ESCAPE); + +var generateOption = { + li: function (content, classes, optgroup) { + var li = elementTemplates.li.cloneNode(false); + + if (content) { + if (content.nodeType === 1 || content.nodeType === 11) { + li.appendChild(content); + } else { + li.innerHTML = content; + } + } + + if (typeof classes !== 'undefined' && classes !== '') li.className = classes; + if (typeof optgroup !== 'undefined' && optgroup !== null) li.classList.add('optgroup-' + optgroup); + + return li; + }, + + a: function (text, classes, inline) { + var a = elementTemplates.a.cloneNode(true); + + if (text) { + if (text.nodeType === 11) { + a.appendChild(text); + } else { + a.insertAdjacentHTML('beforeend', text); + } + } + + if (typeof classes !== 'undefined' && classes !== '') a.classList.add.apply(a.classList, classes.split(/\s+/)); + if (inline) a.setAttribute('style', inline); + + return a; + }, + + text: function (options, useFragment) { + var textElement = elementTemplates.text.cloneNode(false), + subtextElement, + iconElement; + + if (options.content) { + textElement.innerHTML = options.content; + } else { + textElement.textContent = options.text; + + if (options.icon) { + var whitespace = elementTemplates.whitespace.cloneNode(false); + + // need to use for icons in the button to prevent a breaking change + iconElement = (useFragment === true ? elementTemplates.i : elementTemplates.span).cloneNode(false); + iconElement.className = this.options.iconBase + ' ' + options.icon; + + elementTemplates.fragment.appendChild(iconElement); + elementTemplates.fragment.appendChild(whitespace); + } + + if (options.subtext) { + subtextElement = elementTemplates.subtext.cloneNode(false); + subtextElement.textContent = options.subtext; + textElement.appendChild(subtextElement); + } + } + + if (useFragment === true) { + while (textElement.childNodes.length > 0) { + elementTemplates.fragment.appendChild(textElement.childNodes[0]); + } + } else { + elementTemplates.fragment.appendChild(textElement); + } + + return elementTemplates.fragment; + }, + + label: function (options) { + var textElement = elementTemplates.text.cloneNode(false), + subtextElement, + iconElement; + + textElement.innerHTML = options.display; + + if (options.icon) { + var whitespace = elementTemplates.whitespace.cloneNode(false); + + iconElement = elementTemplates.span.cloneNode(false); + iconElement.className = this.options.iconBase + ' ' + options.icon; + + elementTemplates.fragment.appendChild(iconElement); + elementTemplates.fragment.appendChild(whitespace); + } + + if (options.subtext) { + subtextElement = elementTemplates.subtext.cloneNode(false); + subtextElement.textContent = options.subtext; + textElement.appendChild(subtextElement); + } + + elementTemplates.fragment.appendChild(textElement); + + return elementTemplates.fragment; + } +}; + +var getOptionData = { + fromOption: function (option, type) { + var value; + + switch (type) { + case 'divider': + value = option.getAttribute('data-divider') === 'true'; + break; + + case 'text': + value = option.textContent; + break; + + case 'label': + value = option.label; + break; + + case 'style': + value = option.style.cssText; + break; + + case 'title': + value = option.title; + break; + + default: + value = option.getAttribute('data-' + toKebabCase(type)); + break; + } + + return value; + }, + fromDataSource: function (option, type) { + var value; + + switch (type) { + case 'text': + case 'label': + value = option.text || option.value || ''; + break; + + default: + value = option[type]; + break; + } + + return value; + } +}; + +function showNoResults (searchMatch, searchValue) { + if (!searchMatch.length) { + elementTemplates.noResults.innerHTML = this.options.noneResultsText.replace('{0}', '"' + htmlEscape(searchValue) + '"'); + this.menuInner.firstChild.appendChild(elementTemplates.noResults); + } +} + +function filterHidden (item) { + return !(item.hidden || this.options.hideDisabled && item.disabled); +} + +function getSelectedOptions () { + var options = this.selectpicker.main.data; + + if (this.options.source.data || this.options.source.search) { + options = Object.values(this.selectpicker.optionValuesDataMap); + } + + var selectedOptions = options.filter(function (item) { + if (item.selected) { + if (this.options.hideDisabled && item.disabled) return false; + return true; + } + + return false; + }, this); + + // ensure only 1 option is selected if multiple are set in the data source + if (this.options.source.data && !this.multiple && selectedOptions.length > 1) { + for (var i = 0; i < selectedOptions.length - 1; i++) { + selectedOptions[i].selected = false; + } + + selectedOptions = [ selectedOptions[selectedOptions.length - 1] ]; + } + + return selectedOptions; +} + +function getSelectValues (selectedOptions) { + var value = [], + options = selectedOptions || getSelectedOptions.call(this), + opt; + + for (var i = 0, len = options.length; i < len; i++) { + opt = options[i]; + + if (!opt.disabled) { + value.push(opt.value === undefined ? opt.text : opt.value); + } + } + + if (!this.multiple) { + return !value.length ? null : value[0]; + } + + return value; +} +// + +var changedArguments = null; + +// shared flag for spacebar selection handling (mirrors original document data flag) +var spaceSelectFlag = false; + +var REMOVED_OPTIONS = ['container', 'display', 'mobile', 'styleBase', 'windowPadding']; + +function stripRemovedOptions (source) { + if (!source || typeof source !== 'object') return source; + + var result = Object.assign({}, source); + + for (var i = 0; i < REMOVED_OPTIONS.length; i++) { + delete result[REMOVED_OPTIONS[i]]; + } + + return result; +} diff --git a/js/bootstrap-select.data.js b/js/bootstrap-select.data.js new file mode 100644 index 0000000..1831895 --- /dev/null +++ b/js/bootstrap-select.data.js @@ -0,0 +1,308 @@ +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. + fetchData (callback, type, page, searchValue) { + page = page || 1; + type = type || 'data'; + + var that = this, + data = this.options.source[type], + builtData; + + if (data) { + this.options.virtualScroll = true; + + if (typeof data === 'function') { + data.call( + this, + function (data, more, totalItems) { + var current = that.selectpicker[type === 'search' ? 'search' : 'main']; + current.hasMore = more; + current.totalItems = totalItems; + builtData = that.buildData(data, type); + callback.call(that, builtData); + that._emit('fetched'); + }, + page, + searchValue + ); + } else if (Array.isArray(data)) { + builtData = that.buildData(data, type); + callback.call(that, builtData); + } + } else { + builtData = this.buildData(false, type); + callback.call(that, builtData); + } + } + + buildData (data, type) { + var that = this; + var dataGetter = data === false ? getOptionData.fromOption : getOptionData.fromDataSource; + + var optionSelector = ':not([hidden]):not([data-hidden="true"]):not([style*="display: none"])', + mainData = [], + startLen = this.selectpicker.main.data ? this.selectpicker.main.data.length : 0, + optID = 0, + startIndex = this.setPlaceholder() && !data ? 1 : 0; // append the titleOption if necessary and skip the first option in the loop + + if (type === 'search') { + startLen = this.selectpicker.search.data.length; + } + + if (this.options.hideDisabled) optionSelector += ':not(:disabled)'; + + var selectOptions = data ? data.filter(filterHidden, this) : this.element.querySelectorAll('select > *' + optionSelector); + + function addDivider (config) { + var previousData = mainData[mainData.length - 1]; + + // ensure optgroup doesn't create back-to-back dividers + if ( + previousData && + previousData.type === 'divider' && + (previousData.optID || config.optID) + ) { + return; + } + + config = config || {}; + config.type = 'divider'; + + mainData.push(config); + } + + function addOption (item, config) { + config = config || {}; + + config.divider = dataGetter(item, 'divider'); + + if (config.divider === true) { + addDivider({ + optID: config.optID + }); + } else { + var liIndex = mainData.length + startLen, + cssText = dataGetter(item, 'style'), + inlineStyle = cssText ? htmlEscape(cssText) : '', + optionClass = (item.className || '') + (config.optgroupClass || ''); + + if (config.optID) optionClass = 'opt ' + optionClass; + + config.optionClass = optionClass.trim(); + config.inlineStyle = inlineStyle; + + config.text = dataGetter(item, 'text'); + config.title = dataGetter(item, 'title'); + config.content = dataGetter(item, 'content'); + config.tokens = dataGetter(item, 'tokens'); + config.subtext = dataGetter(item, 'subtext'); + config.icon = dataGetter(item, 'icon'); + + config.display = config.content || config.text; + config.value = item.value === undefined ? item.text : item.value; + config.type = 'option'; + config.index = liIndex; + + config.option = !item.option ? item : item.option; // reference option element if it exists + config.option.liIndex = liIndex; + config.selected = !!item.selected; + config.disabled = config.disabled || !!item.disabled; + + if (data !== false) { + if (that.selectpicker.optionValuesDataMap[config.value]) { + config = Object.assign(that.selectpicker.optionValuesDataMap[config.value], config); + } else { + that.selectpicker.optionValuesDataMap[config.value] = config; + } + } + + mainData.push(config); + } + } + + function addOptgroup (index, selectOptions) { + var optgroup = selectOptions[index], + // skip placeholder option + previous = index - 1 < startIndex ? false : selectOptions[index - 1], + next = selectOptions[index + 1], + options = data ? optgroup.children.filter(filterHidden, this) : optgroup.querySelectorAll('option' + optionSelector); + + if (!options.length) return; + + var config = { + display: htmlEscape(dataGetter(item, 'label')), + subtext: dataGetter(optgroup, 'subtext'), + icon: dataGetter(optgroup, 'icon'), + type: 'optgroup-label', + optgroupClass: ' ' + (optgroup.className || ''), + optgroup: optgroup + }, + headerIndex, + lastIndex; + + optID++; + + if (previous) { + addDivider({ optID: optID }); + } + + config.optID = optID; + + mainData.push(config); + + for (var j = 0, len = options.length; j < len; j++) { + var option = options[j]; + + if (j === 0) { + headerIndex = mainData.length - 1; + lastIndex = headerIndex + len; + } + + addOption(option, { + headerIndex: headerIndex, + lastIndex: lastIndex, + optID: config.optID, + optgroupClass: config.optgroupClass, + disabled: optgroup.disabled + }); + } + + if (next) { + addDivider({ optID: optID }); + } + } + + var item; + + for (var len = selectOptions.length, i = startIndex; i < len; i++) { + item = selectOptions[i]; + var children = item.children; + + if (children && children.length) { + addOptgroup.call(this, i, selectOptions); + } else { + addOption.call(this, item, {}); + } + } + + switch (type) { + case 'data': { + if (!this.selectpicker.main.data) { + this.selectpicker.main.data = []; + } + Array.prototype.push.apply(this.selectpicker.main.data, mainData); + this.selectpicker.current.data = this.selectpicker.main.data; + break; + } + case 'search': { + Array.prototype.push.apply(this.selectpicker.search.data, mainData); + break; + } + } + + return mainData; + } + + buildList (size, searching) { + var that = this, + selectData = searching ? this.selectpicker.search.data : this.selectpicker.main.data, + mainElements = [], + widestOptionLength = 0; + + if (that.options.showTick || that.multiple || that.options.selectionIndicator === 'checkbox') { + elementTemplates.checkMark.className = this.options.selectionIndicator === 'checkbox' + ? 'check-mark bs-selection-indicator' + : this.options.iconBase + ' ' + that.options.tickIcon + ' check-mark'; + + if (!elementTemplates.checkMark.parentNode) { + elementTemplates.a.appendChild(elementTemplates.checkMark); + } + } + + function buildElement (mainElements, item) { + var liElement, + combinedLength = 0; + + switch (item.type) { + case 'divider': + liElement = generateOption.li( + false, + classNames.DIVIDER, + (item.optID ? item.optID + 'div' : undefined) + ); + + break; + + case 'option': + liElement = generateOption.li( + generateOption.a( + generateOption.text.call(that, item), + item.optionClass, + item.inlineStyle + ), + '', + item.optID + ); + + if (liElement.firstChild) { + liElement.firstChild.id = that.selectId + '-' + item.index; + } + + break; + + case 'optgroup-label': + liElement = generateOption.li( + generateOption.label.call(that, item), + 'dropdown-header' + item.optgroupClass, + item.optID + ); + + break; + } + + if (item.content) item.sanitized = false; + + if (!item.element) { + item.element = liElement; + } else { + item.element.innerHTML = liElement.innerHTML; + } + mainElements.push(item.element); + + // count the number of characters in the option - not perfect, but should work in most cases + if (item.display) combinedLength += item.display.length; + if (item.subtext) combinedLength += item.subtext.length; + // if there is an icon, ensure this option's width is checked + if (item.icon) combinedLength += 1; + + if (combinedLength > widestOptionLength) { + widestOptionLength = combinedLength; + + // guess which option is the widest + that.selectpicker.view.widestOption = mainElements[mainElements.length - 1]; + } + } + + var startIndex = size || 0; + + for (var len = selectData.length, i = startIndex; i < len; i++) { + var item = selectData[i]; + + buildElement(mainElements, item); + } + + if (size) { + if (searching) { + Array.prototype.push.apply(this.selectpicker.search.elements, mainElements); + } else { + Array.prototype.push.apply(this.selectpicker.main.elements, mainElements); + this.selectpicker.current.elements = this.selectpicker.main.elements; + } + } else { + if (searching) { + this.selectpicker.search.elements = mainElements; + } else { + this.selectpicker.main.elements = this.selectpicker.current.elements = mainElements; + } + } + } diff --git a/js/bootstrap-select.helpers.js b/js/bootstrap-select.helpers.js new file mode 100644 index 0000000..4042dfa --- /dev/null +++ b/js/bootstrap-select.helpers.js @@ -0,0 +1,246 @@ +/* eslint-disable no-unused-vars */ +// Shared ordered source fragment consumed by the Grunt JS build. + +'use strict'; + +// Resolve Bootstrap's Dropdown component (Bootstrap 5+). It may be provided +// by the UMD factory (`bootstrap`), or available as a global. +function getDropdown () { + var bs = bootstrap || (typeof window !== 'undefined' ? window.bootstrap : undefined); + return (bs && bs.Dropdown) || (typeof window !== 'undefined' ? window.Dropdown : undefined); +} + +// +function createFromHTML (html) { + var wrapper = document.createElement('div'); + wrapper.innerHTML = html.trim(); + return wrapper.firstChild; +} + +function toInteger (value) { + return parseInt(value, 10) || 0; +} + +function offset (el) { + var rect = el.getBoundingClientRect(); + return { + top: rect.top + window.pageYOffset, + left: rect.left + window.pageXOffset + }; +} + +// Resolves a container option (selector string or element) to an element. +function resolveContainer (container) { + if (!container) return null; + return typeof container === 'string' ? document.querySelector(container) : container; +} + +function outerHeight (el, includeMargin) { + var height = el.offsetHeight; + if (includeMargin) { + var style = window.getComputedStyle(el); + height += toInteger(style.marginTop) + toInteger(style.marginBottom); + } + return height; +} + +function setStyles (el, styles) { + for (var prop in styles) { + if (Object.prototype.hasOwnProperty.call(styles, prop)) { + el.style[prop] = styles[prop]; + } + } +} + +function triggerNative (el, eventName) { + el.dispatchEvent(new Event(eventName, { bubbles: true })); +} + +// shallow array comparison +function isEqual (array1, array2) { + return array1.length === array2.length && array1.every(function (element, index) { + return element === array2[index]; + }); +} + +function toKebabCase (str) { + return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, function ($, ofs) { + return (ofs ? '-' : '') + $.toLowerCase(); + }); +} + +function toCamelCase (str) { + return str.replace(/-([a-z])/g, function (m, letter) { + return letter.toUpperCase(); + }); +} + +// Read options from data-* attributes using native values where possible. +function convertDataValue (value) { + if (value === 'true') return true; + if (value === 'false') return false; + if (value === 'null') return null; + if (value === +value + '') return +value; + if (/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/.test(value)) { + try { + return JSON.parse(value); + } catch (e) { + return value; + } + } + return value; +} + +function getDataset (el) { + var dataset = {}, + attributes = el.attributes; + + for (var i = 0; i < attributes.length; i++) { + var name = attributes[i].name; + if (name.indexOf('data-') === 0) { + dataset[toCamelCase(name.slice(5))] = convertDataValue(attributes[i].value); + } + } + + return dataset; +} +// + +// +var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']; + +var uriAttrs = [ + 'background', + 'cite', + 'href', + 'itemtype', + 'longdesc', + 'poster', + 'src', + 'xlink:href' +]; + +var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; + +var DefaultWhitelist = { + // Global attributes allowed on any supplied element below. + '*': ['class', 'dir', 'id', 'lang', 'role', 'tabindex', 'style', ARIA_ATTRIBUTE_PATTERN], + a: ['target', 'href', 'title', 'rel'], + area: [], + b: [], + br: [], + col: [], + code: [], + div: [], + em: [], + hr: [], + h1: [], + h2: [], + h3: [], + h4: [], + h5: [], + h6: [], + i: [], + img: ['src', 'alt', 'title', 'width', 'height'], + li: [], + ol: [], + p: [], + pre: [], + s: [], + small: [], + span: [], + sub: [], + sup: [], + strong: [], + u: [], + ul: [] +}; + +// A pattern that recognizes a commonly useful subset of URLs that are safe. +var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi; + +// A pattern that matches safe data URLs. Only matches image, video and audio types. +var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i; + +var ParseableAttributes = ['placeholder']; // attributes to use as settings, can add others in the future + +function applyLegacyOptions (element, config) { + if (!config.placeholder) { + var title = element.getAttribute('title'); + if (title) config.placeholder = title; + } + + return config; +} + +function allowedAttribute (attr, allowedAttributeList) { + var attrName = attr.nodeName.toLowerCase(); + + if (allowedAttributeList.indexOf(attrName) !== -1) { + if (uriAttrs.indexOf(attrName) !== -1) { + return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN)); + } + + return true; + } + + var regExp = allowedAttributeList.filter(function (value) { + return value instanceof RegExp; + }); + + // Check if a regular expression validates the attribute. + for (var i = 0, l = regExp.length; i < l; i++) { + if (attrName.match(regExp[i])) { + return true; + } + } + + return false; +} + +function sanitizeHtml (unsafeElements, whiteList, sanitizeFn) { + if (sanitizeFn && typeof sanitizeFn === 'function') { + return sanitizeFn(unsafeElements); + } + + var whitelistKeys = Object.keys(whiteList); + + for (var i = 0, len = unsafeElements.length; i < len; i++) { + var elements = unsafeElements[i].querySelectorAll('*'); + + for (var j = 0, len2 = elements.length; j < len2; j++) { + var el = elements[j]; + var elName = el.nodeName.toLowerCase(); + + if (whitelistKeys.indexOf(elName) === -1) { + el.parentNode.removeChild(el); + + continue; + } + + var attributeList = [].slice.call(el.attributes); + var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []); + + for (var k = 0, len3 = attributeList.length; k < len3; k++) { + var attr = attributeList[k]; + + if (!allowedAttribute(attr, whitelistedAttributes)) { + el.removeAttribute(attr.nodeName); + } + } + } + } +} +// + +function getAttributesObject (element) { + var attributesObject = {}, + attrVal; + + ParseableAttributes.forEach(function (item) { + attrVal = element.getAttribute(item); + if (attrVal) attributesObject[item] = attrVal; + }); + + return attributesObject; +} diff --git a/js/bootstrap-select.interaction.js b/js/bootstrap-select.interaction.js new file mode 100644 index 0000000..78ec5f0 --- /dev/null +++ b/js/bootstrap-select.interaction.js @@ -0,0 +1,432 @@ +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. + clickListener () { + var that = this; + + spaceSelectFlag = false; + + this._on(this.button, 'keyup', function (e) { + if (/(32)/.test(e.keyCode.toString(10)) && spaceSelectFlag) { + e.preventDefault(); + spaceSelectFlag = false; + } + }); + + function clearSelection (e) { + if (that.multiple) { + that.deselectAll(); + } else { + var element = that.element, + prevValue = element.value, + prevIndex = element.selectedIndex, + prevOption = element.options[prevIndex], + prevData = prevOption ? that.selectpicker.main.data[prevOption.liIndex] : false; + + if (prevData) { + that.setSelected(prevData, false); + } + + element.selectedIndex = 0; + + changedArguments = [prevIndex, false, prevValue]; + triggerNative(that.element, 'change'); + } + + // remove selected styling if menu is open + if (that.newElement.classList.contains(classNames.SHOW)) { + if (that.options.liveSearch) { + that.searchbox.focus(); + } + + that.createView(false); + } + } + + if (this.options.allowClear) { + this._on(this.button, 'click', function (e) { + var target = e.target, + clearButton = that.clearButton; + + if (target === clearButton || target.parentElement === clearButton) { + e.stopImmediatePropagation(); + clearSelection(e); + } + }); + } + + function setFocus () { + if (that.options.liveSearch) { + that.searchbox.focus(); + } else { + that.menuInner.focus(); + } + } + + function checkPopperExists () { + if (that.dropdown && that.dropdown._popper && that.dropdown._popper.state) { + setFocus(); + } else { + requestAnimationFrame(checkPopperExists); + } + } + + this._on(this.element, 'shown' + EVENT_KEY, function () { + if (that.menuInner.scrollTop !== that.selectpicker.view.scrollTop) { + that.menuInner.scrollTop = that.selectpicker.view.scrollTop; + } + + requestAnimationFrame(checkPopperExists); + }); + + // ensure posinset and setsize are correct before selecting an option via a click + this._delegate(this.menuInner, 'mouseover', 'li a', function () { + var hoverLi = this.parentElement, + position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0, + index = Array.prototype.indexOf.call(hoverLi.parentElement.children, hoverLi), + hoverData = that.selectpicker.current.data[index + position0]; + + that.focusItem(hoverLi, hoverData, true); + }); + + this._delegate(this.menuInner, 'click', 'li a', function (e) { + that.onOptionClick(this, e); + }); + + this._delegate(this.menu, 'click', 'li.' + classNames.DISABLED + ' a, .' + classNames.POPOVERHEADER + ', .' + classNames.POPOVERHEADER + ' :not(.btn-close):not(.close)', function (e) { + if (e.currentTarget === this || e.target === this) { + e.preventDefault(); + e.stopPropagation(); + if (that.options.liveSearch && !e.target.classList.contains('btn-close') && !e.target.classList.contains('close')) { + that.searchbox.focus(); + } else { + that.button.focus(); + } + } + }); + + this._delegate(this.menuInner, 'click', '.divider, .dropdown-header', function (e) { + e.preventDefault(); + e.stopPropagation(); + if (that.options.liveSearch) { + that.searchbox.focus(); + } else { + that.button.focus(); + } + }); + + this._delegate(this.menu, 'click', '.' + classNames.POPOVERHEADER + ' .btn-close, .' + classNames.POPOVERHEADER + ' .close', function () { + that.dropdown.hide(); + }); + + this._delegate(this.newElement, 'click', '.bs-selected-item', function (e) { + e.preventDefault(); + e.stopPropagation(); + that.removeSelectedTag(this.getAttribute('data-option-value')); + }); + + this._delegate(this.menu, 'click', '.bs-create-option', function (e) { + e.preventDefault(); + e.stopPropagation(); + that.createOpenOption(this.getAttribute('data-search-value')); + }); + + if (this.searchbox) { + this._on(this.searchbox, 'click', function (e) { + e.stopPropagation(); + }); + } + + this._delegate(this.menu, 'click', '.actions-btn', function (e) { + if (that.options.liveSearch) { + that.searchbox.focus(); + } else { + that.button.focus(); + } + + e.preventDefault(); + e.stopPropagation(); + + if (this.classList.contains('bs-select-all')) { + that.selectAll(); + } else { + that.deselectAll(); + } + }); + + this._on(this.button, 'focus', function (e) { + var tabindex = that.element.getAttribute('tabindex'); + + // only change when button is actually focused + if (tabindex !== undefined && tabindex !== null && e.isTrusted) { + // apply select element's tabindex to ensure correct order is followed when tabbing to the next element + this.setAttribute('tabindex', tabindex); + // set element's tabindex to -1 to allow for reverse tabbing + that.element.setAttribute('tabindex', -1); + that.selectpicker.view.tabindex = tabindex; + } + }); + + this._on(this.button, 'blur', function (e) { + // revert everything to original tabindex + if (that.selectpicker.view.tabindex !== undefined && e.isTrusted) { + that.element.setAttribute('tabindex', that.selectpicker.view.tabindex); + this.setAttribute('tabindex', -1); + that.selectpicker.view.tabindex = undefined; + } + }); + + this._on(this.element, 'change', function () { + that.render(); + that._emit('changed', changedArguments ? { + clickedIndex: changedArguments[0], + isSelected: changedArguments[1], + previousValue: changedArguments[2] + } : null); + changedArguments = null; + }); + + this._on(this.element, 'focus', function () { + if (!that.options.mobile) that.button.focus(); + }); + } + + onOptionClick (clickedAnchor, e, retainActive) { + var that = this, + element = that.element, + li = clickedAnchor.parentElement, + position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0, + clickedData = that.selectpicker.current.data[Array.prototype.indexOf.call(li.parentElement.children, li) + position0], + clickedElement = clickedData.element, + prevValue = getSelectValues.call(that), + prevIndex = element.selectedIndex, + prevOption = element.options[prevIndex], + prevData = prevOption ? that.selectpicker.main.data[prevOption.liIndex] : false, + triggerChange = true; + + // Don't close on multi choice menu + if (that.multiple && that.options.maxOptions !== 1) { + e.stopPropagation(); + } + + e.preventDefault(); + + // Don't run if the select is disabled + if (!that.isDisabled() && !li.classList.contains(classNames.DISABLED)) { + var option = clickedData.option, + state = option.selected, + optgroupData = that.selectpicker.current.data.find(function (datum) { + return datum.optID === clickedData.optID && datum.type === 'optgroup-label'; + }), + optgroup = optgroupData ? optgroupData.optgroup : undefined, + dataGetter = optgroup instanceof Element ? getOptionData.fromOption : getOptionData.fromDataSource, + optgroupOptions = optgroup && optgroup.children, + maxOptions = parseInt(that.options.maxOptions), + maxOptionsGrp = optgroup && parseInt(dataGetter(optgroup, 'maxOptions')) || false; + + if (clickedElement === that.activeElement) retainActive = true; + + if (!retainActive) { + that.prevActiveElement = that.activeElement; + that.activeElement = undefined; + } + + if (!that.multiple || maxOptions === 1) { // Deselect previous option if not multi select + if (prevData) that.setSelected(prevData, false); + that.setSelected(clickedData, true); + } else { // Toggle the clicked option if multi select. + that.setSelected(clickedData, !state); + that.focusedParent.focus(); + + if (maxOptions !== false || maxOptionsGrp !== false) { + var maxReached = maxOptions < getSelectedOptions.call(that).length, + selectedGroupOptions = 0; + + if (optgroup && optgroup.children) { + for (var i = 0; i < optgroup.children.length; i++) { + if (optgroup.children[i].selected) selectedGroupOptions++; + } + } + + var maxReachedGrp = maxOptionsGrp < selectedGroupOptions; + + if ((maxOptions && maxReached) || (maxOptionsGrp && maxReachedGrp)) { + if (maxOptions && maxOptions === 1) { + element.selectedIndex = -1; + that.setOptionStatus(true); + } else if (maxOptionsGrp && maxOptionsGrp === 1) { + for (var j = 0; j < optgroupOptions.length; j++) { + var _option = optgroupOptions[j]; + that.setSelected(that.selectpicker.current.data[_option.liIndex], false); + } + + that.setSelected(clickedData, true); + } else { + var maxOptionsText = typeof that.options.maxOptionsText === 'string' ? [that.options.maxOptionsText, that.options.maxOptionsText] : that.options.maxOptionsText, + maxOptionsArr = typeof maxOptionsText === 'function' ? maxOptionsText(maxOptions, maxOptionsGrp) : maxOptionsText, + maxTxt = maxOptionsArr[0].replace('{n}', maxOptions), + maxTxtGrp = maxOptionsArr[1].replace('{n}', maxOptionsGrp), + notify = createFromHTML('
    '); + + that.menu.appendChild(notify); + + if (maxOptions && maxReached) { + notify.appendChild(createFromHTML('
    ' + maxTxt + '
    ')); + triggerChange = false; + that._emit('maxReached'); + } + + if (maxOptionsGrp && maxReachedGrp) { + notify.appendChild(createFromHTML('
    ' + maxTxtGrp + '
    ')); + triggerChange = false; + that._emit('maxReachedGrp'); + } + + setTimeout(function () { + that.setSelected(clickedData, false); + }, 10); + + notify.classList.add('fadeOut'); + + setTimeout(function () { + notify.remove(); + }, 1050); + } + } + } + } + + if (that.options.source.data) that.element.appendChild(that.selectpicker.main.optionQueue); + + if (!that.multiple || (that.multiple && that.options.maxOptions === 1)) { + that.button.focus(); + } else if (that.options.liveSearch) { + that.searchbox.focus(); + } + + // Trigger select 'change' + if (triggerChange) { + if (that.multiple || prevIndex !== element.selectedIndex) { + changedArguments = [option.index, option.selected, prevValue]; + triggerNative(that.element, 'change'); + } + } + } + } + + liveSearchListener () { + var that = this; + + this._on(this.searchbox, 'click', function (e) { + e.stopPropagation(); + }); + this._on(this.searchbox, 'focus', function (e) { + e.stopPropagation(); + }); + this._on(this.searchbox, 'touchend', function (e) { + e.stopPropagation(); + }); + this._on(this.searchbox, 'keydown', function (e) { + if (e.key === 'Enter' && that.createOptionButton && !that.createOptionButton.hidden && !that.selectpicker.current.data.length) { + e.preventDefault(); + e.stopPropagation(); + that.createOpenOption(that.searchbox.value); + } + }); + + this._on(this.searchbox, 'input', function () { + var searchValue = that.searchbox.value; + + that.selectpicker.search.elements = []; + that.selectpicker.search.data = []; + + if (searchValue) { + that.selectpicker.search.previousValue = searchValue; + + if (that.options.source.search) { + that.fetchData(function () { + that.appendCreatedSearchResults(searchValue); + that.render(); + that.buildList(undefined, true); + that.noScroll = true; + that.menuInner.scrollTop = 0; + that.createView(true); + showNoResults.call(that, that.selectpicker.search.data, searchValue); + }, 'search', 0, searchValue); + } else { + var searchMatch = [], + q = searchValue.toUpperCase(), + cache = {}, + cacheArr = [], + searchStyle = that._searchStyle(), + normalizeSearch = that.options.liveSearchNormalize; + + if (normalizeSearch) q = normalizeToBase(q); + + for (var i = 0; i < that.selectpicker.main.data.length; i++) { + var li = that.selectpicker.main.data[i]; + + if (!cache[i]) { + cache[i] = stringSearch(li, q, searchStyle, normalizeSearch); + } + + if (cache[i] && li.headerIndex !== undefined && cacheArr.indexOf(li.headerIndex) === -1) { + if (li.headerIndex > 0) { + cache[li.headerIndex - 1] = true; + cacheArr.push(li.headerIndex - 1); + } + + cache[li.headerIndex] = true; + cacheArr.push(li.headerIndex); + + cache[li.lastIndex + 1] = true; + } + + if (cache[i] && li.type !== 'optgroup-label') cacheArr.push(i); + } + + for (var j = 0, cacheLen = cacheArr.length; j < cacheLen; j++) { + var index = cacheArr[j], + prevIndex = cacheArr[j - 1], + liData = that.selectpicker.main.data[index], + liPrev = that.selectpicker.main.data[prevIndex]; + + if (liData.type !== 'divider' || (liData.type === 'divider' && liPrev && liPrev.type !== 'divider' && cacheLen - 1 !== j)) { + that.selectpicker.search.data.push(liData); + searchMatch.push(that.selectpicker.main.elements[index]); + } + } + + that.activeElement = undefined; + that.noScroll = true; + that.menuInner.scrollTop = 0; + that.selectpicker.search.elements = searchMatch; + that.createView(true); + showNoResults.call(that, searchMatch, searchValue); + } + } else if (that.selectpicker.search.previousValue) { + that.menuInner.scrollTop = 0; + that.createView(false); + } + + that.syncOpenOptionButton(); + }); + } + + _searchStyle () { + return this.options.liveSearchStyle || 'contains'; + } + + getValue () { + var element = this.element; + + if (this.multiple) { + var values = []; + for (var i = 0; i < element.options.length; i++) { + if (element.options[i].selected) values.push(element.options[i].value); + } + return values; + } + + return element.value; + } + diff --git a/js/bootstrap-select.render.js b/js/bootstrap-select.render.js new file mode 100644 index 0000000..519fa67 --- /dev/null +++ b/js/bootstrap-select.render.js @@ -0,0 +1,443 @@ +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. + findLis () { + return this.menuInner.querySelectorAll('.inner > li'); + } + + render (init) { + var that = this, + element = this.element, + // ensure titleOption is appended and selected (if necessary) before getting selectedOptions + placeholderSelected = this.setPlaceholder() && element.selectedIndex === 0, + selectedOptions = getSelectedOptions.call(this), + selectedCount = selectedOptions.length, + selectedValues = getSelectValues.call(this, selectedOptions), + button = this.button, + buttonInner = button.querySelector('.filter-option-inner-inner'), + multipleSeparator = document.createTextNode(this.options.multipleSeparator), + titleFragment = elementTemplates.fragment.cloneNode(false), + forceCount = this.multiple && this.options.showSelectedTags && selectedCount > 0, + showCount, + countMax, + hasContent = false; + + function createSelected (item) { + if (item.selected) { + that.createOption(item, true); + } else if (item.children && item.children.length) { + item.children.map(createSelected); + } + } + + // create selected option elements to ensure select value is correct + if (this.options.source.data && init) { + selectedOptions.map(createSelected); + element.appendChild(this.selectpicker.main.optionQueue); + + if (placeholderSelected) placeholderSelected = element.selectedIndex === 0; + } + + button.classList.toggle('bs-placeholder', that.multiple ? !selectedCount : !selectedValues && selectedValues !== 0); + + if (!that.multiple && selectedOptions.length === 1) { + that.selectpicker.view.displayedValue = selectedValues; + } + + if (this.options.selectedTextFormat === 'static') { + titleFragment = generateOption.text.call(this, { text: this.options.placeholder }, true); + } else { + showCount = forceCount || this.multiple && this.options.selectedTextFormat.indexOf('count') !== -1 && selectedCount > 0; + + // determine if the number of selected options will be shown (showCount === true) + if (showCount && !forceCount) { + countMax = this.options.selectedTextFormat.split('>'); + showCount = (countMax.length > 1 && selectedCount > countMax[1]) || (countMax.length === 1 && selectedCount >= 2); + } + + // only loop through all selected options if the count won't be shown + if (showCount === false) { + if (!placeholderSelected) { + for (var selectedIndex = 0; selectedIndex < selectedCount; selectedIndex++) { + if (selectedIndex < 50) { + var option = selectedOptions[selectedIndex], + titleOptions = {}; + + if (option) { + if (this.multiple && selectedIndex > 0) { + titleFragment.appendChild(multipleSeparator.cloneNode(false)); + } + + if (option.title) { + titleOptions.text = option.title; + } else if (option.content && that.options.showContent) { + titleOptions.content = option.content.toString(); + hasContent = true; + } else { + if (that.options.showIcon) { + titleOptions.icon = option.icon; + } + if (that.options.showSubtext && !that.multiple && option.subtext) titleOptions.subtext = ' ' + option.subtext; + titleOptions.text = option.text.trim(); + } + + titleFragment.appendChild(generateOption.text.call(this, titleOptions, true)); + } + } else { + break; + } + } + + // add ellipsis + if (selectedCount > 49) { + titleFragment.appendChild(document.createTextNode('...')); + } + } + } else { + var optionSelector = ':not([hidden]):not([data-hidden="true"]):not([data-divider="true"]):not([style*="display: none"])'; + if (this.options.hideDisabled) optionSelector += ':not(:disabled)'; + + // If this is a multiselect, and selectedTextFormat is count, then show 1 of 2 selected, etc. + var totalCount = this.element.querySelectorAll('select > option' + optionSelector + ', optgroup' + optionSelector + ' option' + optionSelector).length, + tr8nText = (typeof this.options.countSelectedText === 'function') ? this.options.countSelectedText(selectedCount, totalCount) : this.options.countSelectedText; + + titleFragment = generateOption.text.call(this, { + text: tr8nText.replace('{0}', selectedCount.toString()).replace('{1}', totalCount.toString()) + }, true); + } + } + + // If the select doesn't have a title, then use the default, or if nothing is set at all, use noneSelectedText + if (!titleFragment.childNodes.length) { + titleFragment = generateOption.text.call(this, { + text: this.options.placeholder ? this.options.placeholder : this.options.noneSelectedText + }, true); + } + + // if the select has a title, apply it to the button, and if not, apply titleFragment text + button.title = titleFragment.textContent.replace(/<[^>]*>?/g, '').trim(); + + if (this.options.sanitize && hasContent) { + sanitizeHtml([titleFragment], that.options.whiteList, that.options.sanitizeFn); + } + + buttonInner.innerHTML = ''; + buttonInner.appendChild(titleFragment); + + this.syncTagEditor(); + + this._emit('rendered'); + } + + usesTagEditor () { + return this.options.liveSearch && (this.options.showSelectedTags || this.options.openOptions); + } + + syncTagEditor () { + if (!this.usesTagEditor()) return; + + if (this.selectedItems) { + var selectedOptions = getSelectedOptions.call(this), + useListStyle = this.options.selectedItemsStyle === 'list'; + + this.selectedItems.innerHTML = ''; + this.selectedItems.hidden = !selectedOptions.length; + this.selectedItems.classList.toggle('list-group', useListStyle); + + for (var i = 0; i < selectedOptions.length; i++) { + var item = selectedOptions[i], + selectedTag = document.createElement('button'), + removeText = this.options.selectedTagRemoveLabel + ' ' + getOptionLabelText(item), + content = document.createElement('span'), + label = document.createElement('span'), + remove = document.createElement('span'), + icon; + + selectedTag.type = 'button'; + selectedTag.className = useListStyle + ? 'bs-selected-item list-group-item list-group-item-action' + : 'bs-selected-item'; + selectedTag.setAttribute('data-option-value', item.value); + selectedTag.setAttribute('aria-label', removeText); + selectedTag.title = removeText; + + content.className = 'bs-selected-item-content'; + + if (item.icon && this.options.showIcon) { + icon = document.createElement('span'); + icon.className = 'bs-selected-item-icon ' + this.options.iconBase + ' ' + item.icon; + icon.setAttribute('aria-hidden', 'true'); + content.appendChild(icon); + } + + label.className = 'bs-selected-item-label'; + label.textContent = getOptionLabelText(item); + content.appendChild(label); + + remove.className = 'bs-selected-item-remove'; + remove.setAttribute('aria-hidden', 'true'); + remove.textContent = '\u00d7'; + + selectedTag.appendChild(content); + selectedTag.appendChild(remove); + this.selectedItems.appendChild(selectedTag); + } + } + + this.syncOpenOptionButton(); + + if (this.newElement && this.newElement.classList.contains(classNames.SHOW)) { + this.setSize(true); + } + } + + syncOpenOptionButton () { + if (!this.createOptionButton) return; + + var searchValue = this.searchbox ? this.searchbox.value : '', + normalizedValue = searchValue.toString().trim(), + shouldShow = !!normalizedValue && + !this.selectpicker.openOption.isCreating && + !this.findOptionBySearchValue(normalizedValue); + + this.createOptionButton.hidden = !shouldShow; + this.createOptionButton.disabled = this.selectpicker.openOption.isCreating; + + if (shouldShow) { + this.createOptionButton.textContent = this.options.openOptionsText.replace('{0}', normalizedValue); + this.createOptionButton.setAttribute('data-search-value', normalizedValue); + } else { + this.createOptionButton.textContent = ''; + this.createOptionButton.removeAttribute('data-search-value'); + } + } + + findOptionByValue (value, dataSet) { + var options = dataSet || this.selectpicker.main.data, + stringValue = String(value); + + for (var i = 0; i < options.length; i++) { + var option = options[i]; + + if (option.type === 'option' && String(option.value) === stringValue) { + return option; + } + } + + return null; + } + + findOptionBySearchValue (searchValue) { + var options = this.options.source.data || this.options.source.search + ? Object.values(this.selectpicker.optionValuesDataMap) + : this.selectpicker.main.data, + normalizedSearch = normalizeSearchInput(searchValue, this.options.liveSearchNormalize); + + for (var i = 0; i < options.length; i++) { + var option = options[i]; + + if (option.type !== 'option') continue; + + if ( + normalizeSearchInput(option.text, this.options.liveSearchNormalize) === normalizedSearch || + normalizeSearchInput(option.value, this.options.liveSearchNormalize) === normalizedSearch || + normalizeSearchInput(option.title, this.options.liveSearchNormalize) === normalizedSearch + ) { + return option; + } + } + + return null; + } + + createOptionElement (optionData) { + var option = document.createElement('option'); + + option.value = optionData.value === undefined ? optionData.text : optionData.value; + option.textContent = optionData.text === undefined ? option.value : optionData.text; + + if (optionData.className) option.className = optionData.className; + if (optionData.title) option.title = optionData.title; + if (optionData.content) option.setAttribute('data-content', optionData.content); + if (optionData.tokens) option.setAttribute('data-tokens', optionData.tokens); + if (optionData.subtext) option.setAttribute('data-subtext', optionData.subtext); + if (optionData.icon) option.setAttribute('data-icon', optionData.icon); + if (optionData.disabled) option.disabled = true; + if (optionData.hidden) option.hidden = true; + + return option; + } + + appendCreatedSearchResults (searchValue) { + if (!this.selectpicker.createdOptions.length) return; + + var matches = []; + + for (var i = 0; i < this.selectpicker.createdOptions.length; i++) { + var option = this.selectpicker.createdOptions[i]; + + if ( + stringSearch(option, normalizeSearchInput(searchValue, this.options.liveSearchNormalize), this._searchStyle(), this.options.liveSearchNormalize) && + !this.findOptionByValue(option.value, this.selectpicker.search.data) + ) { + matches.push(option); + } + } + + if (matches.length) this.buildData(matches, 'search'); + } + + addCreatedOption (optionData) { + optionData = Object.assign({}, optionData); + optionData.value = optionData.value === undefined ? optionData.text : optionData.value; + optionData.text = optionData.text === undefined ? optionData.value : optionData.text; + + var size = this.selectpicker.main.elements ? this.selectpicker.main.elements.length : 0, + option = this.createOptionElement(optionData); + optionData.option = option; + + this.element.appendChild(option); + var builtOptions = this.buildData([optionData], 'data'), + builtOption = builtOptions[0]; + + this.buildList(size); + this.selectpicker.createdOptions.push(builtOption); + + return builtOption; + } + + removeSelectedTag (value) { + var option = this.findOptionByValue(value); + + if (!option || !option.selected) return; + + var prevValue = getSelectValues.call(this); + + this.setSelected(option, false); + changedArguments = [option.index, false, prevValue]; + triggerNative(this.element, 'change'); + + if (this.options.liveSearch) this.searchbox.focus(); + } + + createOpenOption (searchValue) { + searchValue = searchValue === undefined || searchValue === null ? '' : searchValue.toString().trim(); + + if (!searchValue || this.selectpicker.openOption.isCreating) return; + + var existingOption = this.findOptionBySearchValue(searchValue); + + if (existingOption) { + if (!existingOption.selected) { + var prevSelectedValue = getSelectValues.call(this); + + this.setSelected(existingOption, true); + changedArguments = [existingOption.index, true, prevSelectedValue]; + triggerNative(this.element, 'change'); + } + + if (this.options.liveSearch) this.searchbox.focus(); + return; + } + + var that = this, + prevValue = getSelectValues.call(this), + createHandler = this.options.source.create; + + this.selectpicker.openOption.isCreating = true; + this.syncOpenOptionButton(); + + function finalize (createdOption) { + that.selectpicker.openOption.isCreating = false; + + if (createdOption === undefined || createdOption === null || createdOption === false) { + that.syncOpenOptionButton(); + return; + } + + if (Array.isArray(createdOption)) createdOption = createdOption[0]; + if (typeof createdOption !== 'object') { + createdOption = { + text: createdOption, + value: createdOption + }; + } + + if (!createdOption.text && !createdOption.value) { + createdOption.text = searchValue; + } + + if (createdOption.value === undefined) createdOption.value = createdOption.text; + if (createdOption.text === undefined) createdOption.text = createdOption.value; + + var option = that.findOptionByValue(createdOption.value) || that.findOptionBySearchValue(createdOption.text); + + if (!option) { + option = that.addCreatedOption(createdOption); + } + + that.setSelected(option, true); + + if (that.options.source.data) that.element.appendChild(that.selectpicker.main.optionQueue); + + if (that.searchbox) { + that.searchbox.value = ''; + } + + that.selectpicker.search.previousValue = ''; + that.selectpicker.search.data = []; + that.selectpicker.search.elements = []; + that.createView(false); + + changedArguments = [option.index, true, prevValue]; + triggerNative(that.element, 'change'); + + if (that.options.liveSearch) that.searchbox.focus(); + } + + if (typeof createHandler === 'function') { + var returnedOption = createHandler.call(this, finalize, searchValue); + + if (returnedOption && typeof returnedOption.then === 'function') { + returnedOption.then(finalize); + } else if (returnedOption !== undefined) { + finalize(returnedOption); + } + } else { + finalize({ + text: searchValue, + value: searchValue + }); + } + } + + /** + * @param [newStyle] + * @param [status] + */ + setStyle (newStyle, status) { + var button = this.button, + newElement = this.newElement, + style = this.options.style.trim(), + buttonClass; + + if (this.element.getAttribute('class')) { + var extra = this.element.getAttribute('class').replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi, '').trim(); + if (extra) newElement.classList.add.apply(newElement.classList, extra.split(/\s+/)); + } + + if (newStyle) { + buttonClass = newStyle.trim(); + } else { + buttonClass = style; + } + + if (status === 'add') { + if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' ')); + } else if (status === 'remove') { + if (buttonClass) button.classList.remove.apply(button.classList, buttonClass.split(' ')); + } else { + if (style) button.classList.remove.apply(button.classList, style.split(' ')); + if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' ')); + } + } + diff --git a/js/bootstrap-select.runtime.js b/js/bootstrap-select.runtime.js new file mode 100644 index 0000000..3f64a38 --- /dev/null +++ b/js/bootstrap-select.runtime.js @@ -0,0 +1,72 @@ +/* global Selector, __SELECTPICKER_EXPOSE_GLOBAL__ */ + +// +var KEYDOWN_SELECTOR = '.bootstrap-select [' + Selector.DATA_TOGGLE + '], .bootstrap-select [role="listbox"], .bootstrap-select .bs-searchbox input'; + +function initSelectpickerRuntime (Selectpicker, exposeGlobal) { + if (typeof window === 'undefined' || typeof document === 'undefined') return; + + // Handle keyboard navigation ourselves. This listener runs in the capture + // phase on `window` so it executes before Bootstrap's `document`-level + // (capture-phase, delegated) dropdown keydown handler and prevents it from + // processing bootstrap-select's custom menu (which would otherwise error on + // relocated/container menus and conflict with our own navigation). This + // replaces the upstream approach of unbinding Bootstrap's global handler. + window.addEventListener('keydown', function (e) { + var target = e.target; + if (!target || !target.closest) return; + + // Any keydown originating inside a bootstrap-select widget (or its + // relocated menu container) must not reach Bootstrap's dropdown keydown + // handler. + var widget = target.closest('.bootstrap-select, .bs-container'); + if (!widget) return; + + e.stopImmediatePropagation(); + + var trigger = target.closest(KEYDOWN_SELECTOR); + if (!trigger) return; + + var instance; + for (var node = trigger; node; node = node.parentElement) { + if (node.bootstrapSelectInstance) { + instance = node.bootstrapSelectInstance; + break; + } + } + + if (instance) instance._keydown(e, trigger); + }, true); + + document.addEventListener('focusin', function (e) { + var target = e.target; + if (target && target.closest && target.closest(KEYDOWN_SELECTOR)) { + e.stopPropagation(); + } + }); + + function initAll () { + var selects = document.querySelectorAll('.selectpicker'); + Array.prototype.forEach.call(selects, function (select) { + Selectpicker.getOrCreateInstance(select); + }); + } + + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', initAll); + } else { + initAll(); + } + + if (exposeGlobal) { + window.Selectpicker = Selectpicker; + } +} + +initSelectpickerRuntime( + Selectpicker, + typeof __SELECTPICKER_EXPOSE_GLOBAL__ === 'undefined' ? true : __SELECTPICKER_EXPOSE_GLOBAL__ +); +// + +return Selectpicker; diff --git a/js/bootstrap-select.search.js b/js/bootstrap-select.search.js new file mode 100644 index 0000000..afecc87 --- /dev/null +++ b/js/bootstrap-select.search.js @@ -0,0 +1,166 @@ +/* eslint-disable no-unused-vars */ +// Shared ordered source fragment consumed by the Grunt JS build. + +// +function stringSearch (li, searchString, method, normalize) { + var stringTypes = [ + 'display', + 'subtext', + 'tokens' + ], + searchSuccess = false; + + for (var i = 0; i < stringTypes.length; i++) { + var stringType = stringTypes[i], + string = li[stringType]; + + if (string) { + string = string.toString(); + + // Strip HTML tags. This isn't perfect, but it's much faster than any other method + if (stringType === 'display') { + string = string.replace(/<[^>]+>/g, ''); + } + + if (normalize) string = normalizeToBase(string); + string = string.toUpperCase(); + + if (typeof method === 'function') { + searchSuccess = method(string, searchString); + } else if (method === 'contains') { + searchSuccess = string.indexOf(searchString) >= 0; + } else { + searchSuccess = string.startsWith(searchString); + } + + if (searchSuccess) break; + } + } + + return searchSuccess; +} + +function normalizeSearchInput (value, normalize) { + if (value === undefined || value === null) value = ''; + value = value.toString().trim(); + + if (normalize && value) value = normalizeToBase(value); + + return value.toUpperCase(); +} + +function getOptionLabelText (option) { + if (!option) return ''; + + return option.title || option.text || option.value || ''; +} + +// Borrowed from Lodash (_.deburr) +/** Used to map Latin Unicode letters to basic Latin letters. */ +var deburredLetters = { + // Latin-1 Supplement block. + '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', + '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', + '\xc7': 'C', '\xe7': 'c', + '\xd0': 'D', '\xf0': 'd', + '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', + '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', + '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', + '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', + '\xd1': 'N', '\xf1': 'n', + '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', + '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', + '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', + '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', + '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', + '\xc6': 'Ae', '\xe6': 'ae', + '\xde': 'Th', '\xfe': 'th', + '\xdf': 'ss', + // Latin Extended-A block. + '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', + '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', + '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', + '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', + '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', + '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', + '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', + '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', + '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', + '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', + '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', + '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', + '\u0134': 'J', '\u0135': 'j', + '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', + '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', + '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', + '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', + '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', + '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', + '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', + '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', + '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', + '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', + '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', + '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', + '\u0163': 't', '\u0165': 't', '\u0167': 't', + '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', + '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', + '\u0174': 'W', '\u0175': 'w', + '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', + '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', + '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', + '\u0132': 'IJ', '\u0133': 'ij', + '\u0152': 'Oe', '\u0153': 'oe', + '\u0149': "'n", '\u017f': 's' +}; + +/** Used to match Latin Unicode letters (excluding mathematical operators). */ +var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; + +/** Used to compose unicode character classes. */ +var rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboMarksExtendedRange = '\\u1ab0-\\u1aff', + rsComboMarksSupplementRange = '\\u1dc0-\\u1dff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange + rsComboMarksExtendedRange + rsComboMarksSupplementRange; + +/** Used to compose unicode capture groups. */ +var rsCombo = '[' + rsComboRange + ']'; + +var reComboMark = RegExp(rsCombo, 'g'); + +function deburrLetter (key) { + return deburredLetters[key]; +} + +function normalizeToBase (string) { + string = string.toString(); + return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); +} + +// List of HTML entities for escaping. +var escapeMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' +}; + +var createEscaper = function (map) { + var escaper = function (match) { + return map[match]; + }; + var source = '(?:' + Object.keys(map).join('|') + ')'; + var testRegexp = RegExp(source); + var replaceRegexp = RegExp(source, 'g'); + return function (string) { + string = string == null ? '' : '' + string; + return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; + }; +}; + +var htmlEscape = createEscaper(escapeMap); +// diff --git a/js/bootstrap-select.sizing.js b/js/bootstrap-select.sizing.js new file mode 100644 index 0000000..49509fc --- /dev/null +++ b/js/bootstrap-select.sizing.js @@ -0,0 +1,492 @@ +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. + liHeight (refresh) { + if (!refresh && (this.options.size === false || Object.keys(this.sizeInfo).length)) return; + + var newElement = elementTemplates.div.cloneNode(false), + menu = elementTemplates.div.cloneNode(false), + menuInner = elementTemplates.div.cloneNode(false), + menuInnerInner = document.createElement('ul'), + divider = elementTemplates.li.cloneNode(false), + dropdownHeader = elementTemplates.li.cloneNode(false), + li, + a = elementTemplates.a.cloneNode(false), + text = elementTemplates.span.cloneNode(false), + header = this.options.header && this.menu.querySelectorAll('.' + classNames.POPOVERHEADER).length > 0 ? this.menu.querySelector('.' + classNames.POPOVERHEADER).cloneNode(true) : null, + search = this.options.liveSearch && this.menu.querySelector('.bs-searchbox') + ? this.menu.querySelector('.bs-searchbox').cloneNode(true) + : null, + actions = this.options.actionsBox && this.multiple && this.menu.querySelectorAll('.bs-actionsbox').length > 0 ? this.menu.querySelector('.bs-actionsbox').cloneNode(true) : null, + doneButton = this.options.doneButton && this.multiple && this.menu.querySelectorAll('.bs-donebutton').length > 0 ? this.menu.querySelector('.bs-donebutton').cloneNode(true) : null, + firstOption = this.element.options[0]; + + this.sizeInfo.selectWidth = this.newElement.offsetWidth; + + text.className = 'text'; + a.className = 'dropdown-item ' + (firstOption ? firstOption.className : ''); + newElement.className = this.menu.parentNode.className + ' ' + classNames.SHOW; + newElement.style.width = 0; // ensure button width doesn't affect natural width of menu when calculating + menu.className = classNames.MENU + ' ' + classNames.SHOW; + menuInner.className = 'inner ' + classNames.SHOW; + menuInnerInner.className = classNames.MENU + ' inner ' + classNames.SHOW; + divider.className = classNames.DIVIDER; + dropdownHeader.className = 'dropdown-header'; + + text.appendChild(document.createTextNode('\u200b')); + + if (this.selectpicker.current.data.length) { + for (var i = 0; i < this.selectpicker.current.data.length; i++) { + var data = this.selectpicker.current.data[i]; + if (data.type === 'option' && window.getComputedStyle(data.element.firstChild).display !== 'none') { + li = data.element; + break; + } + } + } else { + li = elementTemplates.li.cloneNode(false); + a.appendChild(text); + li.appendChild(a); + } + + dropdownHeader.appendChild(text.cloneNode(true)); + + if (this.selectpicker.view.widestOption) { + menuInnerInner.appendChild(this.selectpicker.view.widestOption.cloneNode(true)); + } + + menuInnerInner.appendChild(li); + menuInnerInner.appendChild(divider); + menuInnerInner.appendChild(dropdownHeader); + if (header) menu.appendChild(header); + if (search) menu.appendChild(search); + if (actions) menu.appendChild(actions); + menuInner.appendChild(menuInnerInner); + menu.appendChild(menuInner); + if (doneButton) menu.appendChild(doneButton); + newElement.appendChild(menu); + + document.body.appendChild(newElement); + + var liHeight = li.offsetHeight, + dropdownHeaderHeight = dropdownHeader ? dropdownHeader.offsetHeight : 0, + headerHeight = header ? header.offsetHeight : 0, + searchHeight = search ? search.offsetHeight : 0, + actionsHeight = actions ? actions.offsetHeight : 0, + doneButtonHeight = doneButton ? doneButton.offsetHeight : 0, + dividerHeight = outerHeight(divider, true), + menuStyle = window.getComputedStyle(menu), + menuWidth = menu.offsetWidth, + menuPadding = { + vert: toInteger(menuStyle.paddingTop) + + toInteger(menuStyle.paddingBottom) + + toInteger(menuStyle.borderTopWidth) + + toInteger(menuStyle.borderBottomWidth), + horiz: toInteger(menuStyle.paddingLeft) + + toInteger(menuStyle.paddingRight) + + toInteger(menuStyle.borderLeftWidth) + + toInteger(menuStyle.borderRightWidth) + }, + menuExtras = { + vert: menuPadding.vert + + toInteger(menuStyle.marginTop) + + toInteger(menuStyle.marginBottom) + 2, + horiz: menuPadding.horiz + + toInteger(menuStyle.marginLeft) + + toInteger(menuStyle.marginRight) + 2 + }, + scrollBarWidth; + + menuInner.style.overflowY = 'scroll'; + + scrollBarWidth = menu.offsetWidth - menuWidth; + + document.body.removeChild(newElement); + + this.sizeInfo.liHeight = liHeight; + this.sizeInfo.dropdownHeaderHeight = dropdownHeaderHeight; + this.sizeInfo.headerHeight = headerHeight; + this.sizeInfo.searchHeight = searchHeight; + this.sizeInfo.actionsHeight = actionsHeight; + this.sizeInfo.doneButtonHeight = doneButtonHeight; + this.sizeInfo.dividerHeight = dividerHeight; + this.sizeInfo.menuPadding = menuPadding; + this.sizeInfo.menuExtras = menuExtras; + this.sizeInfo.menuWidth = menuWidth; + this.sizeInfo.menuInnerInnerWidth = menuWidth - menuPadding.horiz; + this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth; + this.sizeInfo.scrollBarWidth = scrollBarWidth; + this.sizeInfo.selectHeight = this.newElement.offsetHeight; + + this.setPositionData(); + } + + getSelectPosition () { + var that = this, + winScrollTop = window.pageYOffset, + winScrollLeft = window.pageXOffset, + winHeight = document.documentElement.clientHeight, + winWidth = document.documentElement.clientWidth, + pos = offset(that.newElement); + + this.sizeInfo.selectOffsetTop = pos.top - winScrollTop; + this.sizeInfo.selectOffsetBot = winHeight - this.sizeInfo.selectOffsetTop - this.sizeInfo.selectHeight; + this.sizeInfo.selectOffsetLeft = pos.left - winScrollLeft; + this.sizeInfo.selectOffsetRight = winWidth - this.sizeInfo.selectOffsetLeft - this.sizeInfo.selectWidth; + } + + setMenuSize (isAuto) { + this.getSelectPosition(); + + var selectWidth = this.sizeInfo.selectWidth, + liHeight = this.sizeInfo.liHeight, + headerHeight = this.sizeInfo.headerHeight, + searchHeight = this.sizeInfo.searchHeight, + actionsHeight = this.sizeInfo.actionsHeight, + doneButtonHeight = this.sizeInfo.doneButtonHeight, + divHeight = this.sizeInfo.dividerHeight, + menuPadding = this.sizeInfo.menuPadding, + menuInnerHeight, + menuHeight, + divLength = 0, + minHeight, + _minHeight, + maxHeight, + menuInnerMinHeight, + estimate, + isDropup; + + if (this.options.dropupAuto) { + // Get the estimated height of the menu without scrollbars. + estimate = liHeight * this.selectpicker.current.data.length + menuPadding.vert; + + isDropup = this.sizeInfo.selectOffsetTop - this.sizeInfo.selectOffsetBot > this.sizeInfo.menuExtras.vert && estimate + this.sizeInfo.menuExtras.vert + 50 > this.sizeInfo.selectOffsetBot; + + // ensure dropup doesn't change while searching (so menu doesn't bounce back and forth) + if (this.selectpicker.isSearching === true) { + isDropup = this.selectpicker.dropup; + } + + this.newElement.classList.toggle(classNames.DROPUP, isDropup); + this.selectpicker.dropup = isDropup; + } + + if (this.options.size === 'auto') { + _minHeight = this.selectpicker.current.data.length > 3 ? this.sizeInfo.liHeight * 3 + this.sizeInfo.menuExtras.vert - 2 : 0; + menuHeight = this.sizeInfo.selectOffsetBot - this.sizeInfo.menuExtras.vert; + minHeight = _minHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight; + menuInnerMinHeight = Math.max(_minHeight - menuPadding.vert, 0); + + if (this.newElement.classList.contains(classNames.DROPUP)) { + menuHeight = this.sizeInfo.selectOffsetTop - this.sizeInfo.menuExtras.vert; + } + + maxHeight = menuHeight; + menuInnerHeight = menuHeight - headerHeight - searchHeight - actionsHeight - doneButtonHeight - menuPadding.vert; + } else if (this.options.size && this.options.size !== 'auto' && this.selectpicker.current.elements.length > this.options.size) { + for (var i = 0; i < this.options.size; i++) { + if (this.selectpicker.current.data[i].type === 'divider') divLength++; + } + + menuHeight = liHeight * this.options.size + divLength * divHeight + menuPadding.vert; + menuInnerHeight = menuHeight - menuPadding.vert; + maxHeight = menuHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight; + minHeight = menuInnerMinHeight = ''; + } + + setStyles(this.menu, { + maxHeight: maxHeight + 'px', + overflow: 'hidden', + minHeight: minHeight + 'px' + }); + + setStyles(this.menuInner, { + maxHeight: menuInnerHeight + 'px', + overflow: 'hidden auto', + minHeight: menuInnerMinHeight + 'px' + }); + + // ensure menuInnerHeight is always a positive number to prevent issues calculating chunkSize in createView + this.sizeInfo.menuInnerHeight = Math.max(menuInnerHeight, 1); + + if (this.selectpicker.current.data.length && this.selectpicker.current.data[this.selectpicker.current.data.length - 1].position > this.sizeInfo.menuInnerHeight) { + this.sizeInfo.hasScrollBar = true; + this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth + this.sizeInfo.scrollBarWidth; + } + + if (this.options.dropdownAlignRight === 'auto') { + this.menu.classList.toggle(classNames.MENUEND, this.sizeInfo.selectOffsetLeft > this.sizeInfo.selectOffsetRight && this.sizeInfo.selectOffsetRight < (this.sizeInfo.totalMenuWidth - selectWidth)); + } + + if (this.dropdown && this.dropdown._popper) this.dropdown._popper.update(); + } + + setSize (refresh) { + this.liHeight(refresh); + + if (this.options.header) this.menu.style.paddingTop = 0; + + if (this.options.size !== false) { + var that = this; + + this.setMenuSize(); + + if (this.options.liveSearch) { + this._replace('setMenuSizeInput', this.searchbox, 'input', function () { + return that.setMenuSize(); + }); + } + + if (this.options.size === 'auto') { + var windowSizeHandler = function () { + return that.setMenuSize(); + }; + this._replace('setMenuSizeResize', window, 'resize', windowSizeHandler); + this._replace('setMenuSizeScroll', window, 'scroll', windowSizeHandler); + } else if (this.options.size && this.options.size !== 'auto' && this.selectpicker.current.elements.length > this.options.size) { + this._removeNamed('setMenuSizeResize'); + this._removeNamed('setMenuSizeScroll'); + } + } + + this.createView(false, true, refresh); + } + + setWidth () { + this.menu.style.minWidth = ''; + this.newElement.style.width = ''; + this.newElement.classList.remove('fit-width'); + + if (this.options.width === 'fit') { + this.newElement.classList.add('fit-width'); + return; + } + + if (this.options.width && this.options.width !== 'auto') { + this.newElement.style.width = this.options.width; + } + } + + selectPosition () { + this.bsContainer = createFromHTML('
    '); + + var that = this, + container = resolveContainer(this.options.container), + pos, + containerPos, + actualHeight, + getPlacement = function (element) { + var Dropdown = getDropdown(), + containerPosition = {}, + // fall back to dropdown's default display setting if display is not manually set + display = that.options.display || (Dropdown.Default ? Dropdown.Default.display : false); + + var extraClass = element.getAttribute('class').replace(/form-control|fit-width/gi, '').trim(); + if (extraClass) that.bsContainer.classList.add.apply(that.bsContainer.classList, extraClass.split(/\s+/)); + that.bsContainer.classList.toggle(classNames.DROPUP, element.classList.contains(classNames.DROPUP)); + pos = offset(element); + + if (container !== document.body) { + containerPos = offset(container); + var containerStyle = window.getComputedStyle(container); + containerPos.top += toInteger(containerStyle.borderTopWidth) - container.scrollTop; + containerPos.left += toInteger(containerStyle.borderLeftWidth) - container.scrollLeft; + } else { + containerPos = { top: 0, left: 0 }; + } + + actualHeight = element.classList.contains(classNames.DROPUP) ? 0 : element.offsetHeight; + + // Bootstrap 5 uses Popper for menu positioning + if (display === 'static') { + containerPosition.top = pos.top - containerPos.top + actualHeight; + containerPosition.left = pos.left - containerPos.left; + } + + containerPosition.width = element.offsetWidth; + + setStyles(that.bsContainer, { + top: containerPosition.top !== undefined ? containerPosition.top + 'px' : '', + left: containerPosition.left !== undefined ? containerPosition.left + 'px' : '', + width: containerPosition.width + 'px' + }); + }; + + this._on(this.button, 'click', function () { + if (that.isDisabled()) { + return; + } + + getPlacement(that.newElement); + + container.appendChild(that.bsContainer); + that.bsContainer.classList.toggle(classNames.SHOW, !that.button.classList.contains(classNames.SHOW)); + that.bsContainer.appendChild(that.menu); + }); + + var windowHandler = function () { + var isActive = that.newElement.classList.contains(classNames.SHOW); + + if (isActive) getPlacement(that.newElement); + }; + this._replace('selectPositionResize', window, 'resize', windowHandler); + this._replace('selectPositionScroll', window, 'scroll', windowHandler); + + this._on(this.element, 'hide' + EVENT_KEY, function () { + that._menuHeight = outerHeight(that.menu); + if (that.bsContainer.parentNode) that.bsContainer.parentNode.removeChild(that.bsContainer); + }); + } + + createOption (data, init) { + var optionData = !data.option ? data : data.option; + + if (optionData && optionData.nodeType !== 1) { + var option = (init ? elementTemplates.selectedOption : elementTemplates.option).cloneNode(true); + if (optionData.value !== undefined) option.value = optionData.value; + option.textContent = optionData.text; + + option.selected = true; + + if (optionData.liIndex !== undefined) { + option.liIndex = optionData.liIndex; + } else if (!init) { + option.liIndex = data.index; + } + + data.option = option; + + this.selectpicker.main.optionQueue.appendChild(option); + } + } + + setOptionStatus (selectedOnly) { + var that = this; + + that.noScroll = false; + + if (that.selectpicker.view.visibleElements && that.selectpicker.view.visibleElements.length) { + for (var i = 0; i < that.selectpicker.view.visibleElements.length; i++) { + var liData = that.selectpicker.current.data[i + that.selectpicker.view.position0], + option = liData.option; + + if (option) { + if (selectedOnly !== true) { + that.setDisabled(liData); + } + + that.setSelected(liData); + } + } + + // append optionQueue (documentFragment with option elements for select options) + if (this.options.source.data) this.element.appendChild(this.selectpicker.main.optionQueue); + } + } + + /** + * @param {Object} liData - the option object that is being changed + * @param {boolean} selected - true if the option is being selected, false if being deselected + */ + setSelected (liData, selected) { + selected = selected === undefined ? liData.selected : selected; + + var li = liData.element, + activeElementIsSet = this.activeElement !== undefined, + thisIsActive = this.activeElement === li, + prevActive, + a, + keepActive = thisIsActive || (selected && !this.multiple && !activeElementIsSet); + + if (selected !== undefined) { + liData.selected = selected; + if (liData.option) liData.option.selected = selected; + } + + if (selected && this.options.source.data) { + this.createOption(liData, false); + } + + if (!li) return; + + a = li.firstChild; + + if (selected) { + this.selectedElement = li; + } + + li.classList.toggle('selected', selected); + + if (keepActive) { + this.focusItem(li, liData); + this.selectpicker.view.currentActive = li; + this.activeElement = li; + } else { + this.defocusItem(li); + } + + if (a) { + a.classList.toggle('selected', selected); + + if (selected) { + a.setAttribute('aria-selected', true); + } else { + if (this.multiple) { + a.setAttribute('aria-selected', false); + } else { + a.removeAttribute('aria-selected'); + } + } + } + + if (!keepActive && !activeElementIsSet && selected && this.prevActiveElement !== undefined) { + prevActive = this.prevActiveElement; + + this.defocusItem(prevActive); + } + } + + /** + * @param {Object} liData - the option that is being disabled + */ + setDisabled (liData) { + var disabled = liData.disabled, + li = liData.element, + a; + + if (!li) return; + + a = li.firstChild; + + li.classList.toggle(classNames.DISABLED, disabled); + + if (a) { + a.classList.toggle(classNames.DISABLED, disabled); + + if (disabled) { + a.setAttribute('aria-disabled', disabled); + a.setAttribute('tabindex', -1); + } else { + a.removeAttribute('aria-disabled'); + a.setAttribute('tabindex', 0); + } + } + } + + isDisabled () { + return this.element.disabled; + } + + checkDisabled () { + if (this.isDisabled()) { + this.newElement.classList.add(classNames.DISABLED); + this.button.classList.add(classNames.DISABLED); + this.button.setAttribute('aria-disabled', true); + } else { + if (this.button.classList.contains(classNames.DISABLED)) { + this.newElement.classList.remove(classNames.DISABLED); + this.button.classList.remove(classNames.DISABLED); + this.button.setAttribute('aria-disabled', false); + } + } + } + diff --git a/js/bootstrap-select.virtual-scroll.js b/js/bootstrap-select.virtual-scroll.js new file mode 100644 index 0000000..2f7ac9f --- /dev/null +++ b/js/bootstrap-select.virtual-scroll.js @@ -0,0 +1,364 @@ +/* eslint-disable no-undef */ +// Shared ordered source fragment consumed by the Grunt JS build. + // runs when the dropdown is about to be shown + onShow () { + if (this.options.liveSearch && this.searchbox.value) { + this.searchbox.value = ''; + this.selectpicker.search.previousValue = undefined; + } + + if (!this.newElement.classList.contains(classNames.SHOW)) { + this.setSize(); + } + } + + setPositionData () { + this.selectpicker.view.canHighlight = []; + this.selectpicker.view.size = 0; + this.selectpicker.view.firstHighlightIndex = false; + + for (var i = 0; i < this.selectpicker.current.data.length; i++) { + var li = this.selectpicker.current.data[i], + canHighlight = true; + + if (li.type === 'divider') { + canHighlight = false; + li.height = this.sizeInfo.dividerHeight; + } else if (li.type === 'optgroup-label') { + canHighlight = false; + li.height = this.sizeInfo.dropdownHeaderHeight; + } else { + li.height = this.sizeInfo.liHeight; + } + + if (li.disabled) canHighlight = false; + + this.selectpicker.view.canHighlight.push(canHighlight); + + if (canHighlight) { + this.selectpicker.view.size++; + li.posinset = this.selectpicker.view.size; + if (this.selectpicker.view.firstHighlightIndex === false) this.selectpicker.view.firstHighlightIndex = i; + } + + li.position = (i === 0 ? 0 : this.selectpicker.current.data[i - 1].position) + li.height; + } + } + + isVirtual () { + return (this.options.virtualScroll !== false) && (this.selectpicker.main.data.length >= this.options.virtualScroll) || this.options.virtualScroll === true; + } + + createView (isSearching, setSize, refresh) { + var that = this, + scrollTop = 0; + + this.selectpicker.isSearching = isSearching; + this.selectpicker.current = isSearching ? this.selectpicker.search : this.selectpicker.main; + + this.setPositionData(); + + if (setSize) { + if (refresh) { + scrollTop = this.menuInner.scrollTop; + } else if (!that.multiple) { + var element = that.element, + selectedIndex = (element.options[element.selectedIndex] || {}).liIndex; + + if (typeof selectedIndex === 'number' && that.options.size !== false) { + var selectedData = that.selectpicker.main.data[selectedIndex], + position = selectedData && selectedData.position; + + if (position) { + scrollTop = position - ((that.sizeInfo.menuInnerHeight + that.sizeInfo.liHeight) / 2); + } + } + } + } + + scroll(scrollTop, true); + + this._replace('createViewScroll', this.menuInner, 'scroll', function () { + if (!that.noScroll) scroll(that.menuInner.scrollTop); + that.noScroll = false; + }); + + function scroll (scrollTop, init) { + var size = that.selectpicker.current.data.length, + chunks = [], + chunkSize, + chunkCount, + firstChunk, + lastChunk, + currentChunk, + prevPositions, + positionIsDifferent, + previousElements, + menuIsDifferent = true, + isVirtual = that.isVirtual(); + + that.selectpicker.view.scrollTop = scrollTop; + + chunkSize = that.options.chunkSize; // number of options in a chunk + chunkCount = Math.ceil(size / chunkSize) || 1; // number of chunks + + for (var i = 0; i < chunkCount; i++) { + var endOfChunk = (i + 1) * chunkSize; + + if (i === chunkCount - 1) { + endOfChunk = size; + } + + chunks[i] = [ + (i) * chunkSize + (!i ? 0 : 1), + endOfChunk + ]; + + if (!size) break; + + if (currentChunk === undefined && scrollTop - 1 <= that.selectpicker.current.data[endOfChunk - 1].position - that.sizeInfo.menuInnerHeight) { + currentChunk = i; + } + } + + if (currentChunk === undefined) currentChunk = 0; + + prevPositions = [that.selectpicker.view.position0, that.selectpicker.view.position1]; + + // always display previous, current, and next chunks + firstChunk = Math.max(0, currentChunk - 1); + lastChunk = Math.min(chunkCount - 1, currentChunk + 1); + + that.selectpicker.view.position0 = isVirtual === false ? 0 : (Math.max(0, chunks[firstChunk][0]) || 0); + that.selectpicker.view.position1 = isVirtual === false ? size : (Math.min(size, chunks[lastChunk][1]) || 0); + + positionIsDifferent = prevPositions[0] !== that.selectpicker.view.position0 || prevPositions[1] !== that.selectpicker.view.position1; + + if (that.activeElement !== undefined) { + if (init) { + if (that.activeElement !== that.selectedElement) { + that.defocusItem(that.activeElement); + } + that.activeElement = undefined; + } + + if (that.activeElement !== that.selectedElement) { + that.defocusItem(that.selectedElement); + } + } + + if (that.prevActiveElement !== undefined && that.prevActiveElement !== that.activeElement && that.prevActiveElement !== that.selectedElement) { + that.defocusItem(that.prevActiveElement); + } + + if (init || positionIsDifferent || that.selectpicker.current.hasMore) { + previousElements = that.selectpicker.view.visibleElements ? that.selectpicker.view.visibleElements.slice() : []; + + if (isVirtual === false) { + that.selectpicker.view.visibleElements = that.selectpicker.current.elements; + } else { + that.selectpicker.view.visibleElements = that.selectpicker.current.elements.slice(that.selectpicker.view.position0, that.selectpicker.view.position1); + } + + that.setOptionStatus(); + + // if searching, check to make sure the list has actually been updated before updating DOM + // this prevents unnecessary repaints + if (isSearching || (isVirtual === false && init)) menuIsDifferent = !isEqual(previousElements, that.selectpicker.view.visibleElements); + + // if virtual scroll is disabled and not searching, + // menu should never need to be updated more than once + if ((init || isVirtual === true) && menuIsDifferent) { + var menuInner = that.menuInner, + menuFragment = document.createDocumentFragment(), + emptyMenu = menuInner.firstChild.cloneNode(false), + marginTop, + marginBottom, + elements = that.selectpicker.view.visibleElements, + toSanitize = []; + + // replace the existing UL with an empty one - this is faster than emptying it + menuInner.replaceChild(emptyMenu, menuInner.firstChild); + + for (var i = 0, visibleElementsLen = elements.length; i < visibleElementsLen; i++) { + var element = elements[i], + elText, + elementData; + + if (that.options.sanitize) { + elText = element.lastChild; + + if (elText) { + elementData = that.selectpicker.current.data[i + that.selectpicker.view.position0]; + + if (elementData && elementData.content && !elementData.sanitized) { + toSanitize.push(elText); + elementData.sanitized = true; + } + } + } + + menuFragment.appendChild(element); + } + + if (that.options.sanitize && toSanitize.length) { + sanitizeHtml(toSanitize, that.options.whiteList, that.options.sanitizeFn); + } + + if (isVirtual === true) { + marginTop = (that.selectpicker.view.position0 === 0 ? 0 : that.selectpicker.current.data[that.selectpicker.view.position0 - 1].position); + marginBottom = (that.selectpicker.view.position1 > size - 1 ? 0 : that.selectpicker.current.data[size - 1].position - that.selectpicker.current.data[that.selectpicker.view.position1 - 1].position); + + menuInner.firstChild.style.marginTop = marginTop + 'px'; + menuInner.firstChild.style.marginBottom = marginBottom + 'px'; + } else { + menuInner.firstChild.style.marginTop = 0; + menuInner.firstChild.style.marginBottom = 0; + } + + menuInner.firstChild.appendChild(menuFragment); + + // if an option is encountered that is wider than the current menu width, update the menu width accordingly + if (isVirtual === true && that.sizeInfo.hasScrollBar) { + var menuInnerInnerWidth = menuInner.firstChild.offsetWidth; + + if (init && menuInnerInnerWidth < that.sizeInfo.menuInnerInnerWidth && that.sizeInfo.totalMenuWidth > that.sizeInfo.selectWidth) { + menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px'; + } else if (menuInnerInnerWidth > that.sizeInfo.menuInnerInnerWidth) { + // set to 0 to get actual width of menu + that.menu.style.minWidth = 0; + + var actualMenuWidth = menuInner.firstChild.offsetWidth; + + if (actualMenuWidth > that.sizeInfo.menuInnerInnerWidth) { + that.sizeInfo.menuInnerInnerWidth = actualMenuWidth; + menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px'; + } + + // reset to default CSS styling + that.menu.style.minWidth = ''; + } + } + } + + if ((!isSearching && that.options.source.data || isSearching && that.options.source.search) && that.selectpicker.current.hasMore && currentChunk === chunkCount - 1) { + // Don't load the next chunk until scrolling has started + // This prevents unnecessary requests while the user is typing if pageSize is <= chunkSize + if (scrollTop > 0) { + // Chunks use 0-based indexing, but pages use 1-based. Add 1 to convert and add 1 again to get next page + var page = Math.floor((currentChunk * that.options.chunkSize) / that.options.source.pageSize) + 2; + + that.fetchData(function () { + that.render(); + that.buildList(size, isSearching); + that.setPositionData(); + scroll(scrollTop); + }, isSearching ? 'search' : 'data', page, isSearching ? that.selectpicker.search.previousValue : undefined); + } + } + } + + that.prevActiveElement = that.activeElement; + + if (!that.options.liveSearch) { + that.menuInner.focus(); + } else if (isSearching && init) { + var index = 0, + newActive; + + if (!that.selectpicker.view.canHighlight[index]) { + index = 1 + that.selectpicker.view.canHighlight.slice(1).indexOf(true); + } + + newActive = that.selectpicker.view.visibleElements[index]; + + that.defocusItem(that.selectpicker.view.currentActive); + + that.activeElement = (that.selectpicker.current.data[index] || {}).element; + + that.focusItem(newActive); + } + } + + this._replace('createViewResize', window, 'resize', function () { + var isActive = that.newElement.classList.contains(classNames.SHOW); + + if (isActive) scroll(that.menuInner.scrollTop); + }); + } + + focusItem (li, liData, noStyle) { + if (li) { + liData = liData || this.selectpicker.current.data[this.selectpicker.current.elements.indexOf(this.activeElement)]; + var a = li.firstChild; + + if (a) { + a.setAttribute('aria-setsize', this.selectpicker.view.size); + a.setAttribute('aria-posinset', liData.posinset); + + if (noStyle !== true) { + this.focusedParent.setAttribute('aria-activedescendant', a.id); + li.classList.add('active'); + a.classList.add('active'); + } + } + } + } + + defocusItem (li) { + if (li) { + li.classList.remove('active'); + if (li.firstChild) li.firstChild.classList.remove('active'); + } + } + + setPlaceholder () { + var that = this, + updateIndex = false; + + if ((this.options.placeholder || this.options.allowClear) && !this.multiple) { + if (!this.selectpicker.view.titleOption) this.selectpicker.view.titleOption = document.createElement('option'); + + // this option doesn't create a new
  • element, but does add a new option at the start, + // so startIndex should increase to prevent having to check every option for the bs-title-option class + updateIndex = true; + + var element = this.element, + selectTitleOption = false, + titleNotAppended = !this.selectpicker.view.titleOption.parentNode, + selectedIndex = element.selectedIndex, + selectedOption = element.options[selectedIndex], + firstSelectable = element.querySelector('select > *:not(:disabled)'), + firstSelectableIndex = firstSelectable ? firstSelectable.index : 0, + navigation = window.performance && window.performance.getEntriesByType('navigation'), + // Safari doesn't support getEntriesByType('navigation') - fall back to performance.navigation + isNotBackForward = (navigation && navigation.length) ? navigation[0].type !== 'back_forward' : window.performance.navigation.type !== 2; + + if (titleNotAppended) { + // Use native JS to prepend option (faster) + this.selectpicker.view.titleOption.className = 'bs-title-option'; + this.selectpicker.view.titleOption.value = ''; + + // Check if selected or data-selected attribute is already set on an option. If not, select the titleOption option. + selectTitleOption = !selectedOption || (selectedIndex === firstSelectableIndex && selectedOption.defaultSelected === false); + } + + if (titleNotAppended || this.selectpicker.view.titleOption.index !== 0) { + element.insertBefore(this.selectpicker.view.titleOption, element.firstChild); + } + + // Set selected *after* appending to select + if (selectTitleOption && isNotBackForward) { + element.selectedIndex = 0; + } else if (document.readyState !== 'complete') { + // if navigation type is back_forward, there's a chance the select will have its value set by BFCache + // wait for that value to be set, then run render again + window.addEventListener('pageshow', function () { + if (that.selectpicker.view.displayedValue !== element.value) that.render(); + }); + } + } + + return updateIndex; + } + diff --git a/js/cjs-intro.js b/js/cjs-intro.js new file mode 100644 index 0000000..4beaf19 --- /dev/null +++ b/js/cjs-intro.js @@ -0,0 +1,13 @@ +'use strict'; + +var bootstrap; + +try { + bootstrap = require('bootstrap'); +} catch (error) { + bootstrap = undefined; +} + +var __SELECTPICKER_EXPOSE_GLOBAL__ = false; + +var Selectpicker = (function (bootstrap) { diff --git a/js/cjs-outro.js b/js/cjs-outro.js new file mode 100644 index 0000000..7f5e0e7 --- /dev/null +++ b/js/cjs-outro.js @@ -0,0 +1,5 @@ +}(bootstrap)); + +module.exports = Selectpicker; +module.exports.Selectpicker = Selectpicker; +module.exports.default = Selectpicker; diff --git a/js/esm-intro.js b/js/esm-intro.js index c970e6d..2f52011 100644 --- a/js/esm-intro.js +++ b/js/esm-intro.js @@ -1,3 +1,5 @@ import * as Bootstrap from 'bootstrap'; +var __SELECTPICKER_EXPOSE_GLOBAL__ = false; + var Selectpicker = (function (bootstrap) { diff --git a/js/umd-intro.js b/js/umd-intro.js index c6e9fa1..2f4321b 100644 --- a/js/umd-intro.js +++ b/js/umd-intro.js @@ -16,3 +16,4 @@ factory(typeof window !== 'undefined' ? window.bootstrap : undefined); } }(function (bootstrap) { + var __SELECTPICKER_EXPOSE_GLOBAL__ = true; diff --git a/less/bootstrap-select.less b/less/bootstrap-select.less deleted file mode 100644 index e94384f..0000000 --- a/less/bootstrap-select.less +++ /dev/null @@ -1,778 +0,0 @@ -@import "variables"; - -@keyframes bs-notify-fadeOut { - 0% {opacity: 0.9;} - 100% {opacity: 0;} -} - -// Mixins -.cursor-disabled() { - cursor: not-allowed; -} - -// Rules -select.bs-select-hidden, -.bootstrap-select > select.bs-select-hidden, -select.selectpicker { - display: none !important; -} - -.bootstrap-select { - width: 100%; - vertical-align: middle; - - // The selectpicker button - > .dropdown-toggle { - position: relative; - width: 100%; - // necessary for proper positioning of caret in Bootstrap 5 (pushes caret to the right) - text-align: right; - white-space: nowrap; - // force caret to be vertically centered for Bootstrap 5 multi-line buttons - display: inline-flex; - align-items: center; - justify-content: space-between; - - &:after { - margin-top: -1px; - } - - &.bs-placeholder { - &, - &:hover, - &:focus, - &:active { - color: @input-color-placeholder; - } - - &.btn-primary, - &.btn-secondary, - &.btn-success, - &.btn-danger, - &.btn-info, - &.btn-dark { - &, - &:hover, - &:focus, - &:active { - color: @input-alt-color-placeholder; - } - } - } - } - - > select { - position: absolute !important; - bottom: 0; - left: 50%; - display: block !important; - width: 0.5px !important; - height: 100% !important; - padding: 0 !important; - opacity: 0 !important; - border: none; - z-index: 0 !important; - - &.mobile-device { - top: 0; - left: 0; - display: block !important; - width: 100% !important; - z-index: 2 !important; - } - } - - // Error display - .has-error & .dropdown-toggle, - .error & .dropdown-toggle, - &.is-invalid .dropdown-toggle, - .was-validated & select:invalid + .dropdown-toggle { - border-color: @color-red-error; - } - - &.is-valid .dropdown-toggle, - .was-validated & select:valid + .dropdown-toggle { - border-color: @color-green-success; - } - - &:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) { - width: @width-default; - } - - > select.mobile-device:focus + .dropdown-toggle, - .dropdown-toggle:focus { - outline: thin dotted #333333 !important; - outline: 5px auto -webkit-focus-ring-color !important; - outline-offset: -2px; - } -} - -// The selectpicker components -.bootstrap-select { - &.form-control { - margin-bottom: 0; - padding: 0; - border: none; - height: auto; - - :not(.input-group) > &:not([class*="col-"]) { - width: 100%; - } - - &.input-group-btn { - float: none; - z-index: auto; - } - } - - .form-inline &, - .form-inline &.form-control:not([class*="col-"]) { - width: auto; - } - - &:not(.input-group-btn), - &[class*="col-"] { - float: none; - display: inline-block; - margin-left: 0; - } - - // Forces the pull to the right, if necessary - &, - &[class*="col-"], - .row &[class*="col-"] { - &.dropdown-menu-end { - float: right; - } - } - - .form-inline &, - .form-horizontal &, - .form-group & { - margin-bottom: 0; - } - - .form-group-lg &.form-control, - .form-group-sm &.form-control { - padding: 0; - - .dropdown-toggle { - height: 100%; - font-size: inherit; - line-height: inherit; - border-radius: inherit; - } - } - - &.form-control-sm .dropdown-toggle, - &.form-control-lg .dropdown-toggle { - font-size: inherit; - line-height: inherit; - border-radius: inherit; - } - - &.form-control-sm .dropdown-toggle { - padding: @input-padding-y-sm @input-padding-x-sm; - } - - &.form-control-lg .dropdown-toggle { - padding: @input-padding-y-lg @input-padding-x-lg; - } - - // Set the width of the live search (and any other form control within an inline form) - // see https://github.com/silviomoreto/bootstrap-select/issues/685 - .form-inline & .form-control { - width: 100%; - } - - &.disabled, - > .disabled { - .cursor-disabled(); - - &:focus { - outline: none !important; - } - } - - &.bs-container { - position: absolute; - top: 0; - left: 0; - height: 0 !important; - padding: 0 !important; - - .dropdown-menu { - z-index: @zindex-select-dropdown; - } - } - - // The selectpicker button - .dropdown-toggle { - .filter-option { - position: static; - top: 0; - left: 0; - float: left; - height: 100%; - width: 100%; - text-align: left; - overflow: hidden; - flex: 0 1 auto; // for IE10 - } - - .filter-option-inner-inner { - overflow: hidden; - } - - // used to expand the height of the button when inside an input group - .filter-expand { - width: 0 !important; - float: left; - opacity: 0 !important; - overflow: hidden; - } - - .caret { - position: absolute; - top: 50%; - right: 12px; - margin-top: -2px; - vertical-align: middle; - } - - .bs-select-clear-selected { - position: relative; - display: block; - margin-right: 5px; - text-align: center; - - span { - position: relative; - top: calc(((-1em / 1.5) + 1ex) / 2); - pointer-events: none; - } - } - - &.bs-placeholder .bs-select-clear-selected { - display: none; - } - } - - .input-group &.form-control .dropdown-toggle { - border-radius: inherit; - } - - &[class*="col-"] .dropdown-toggle { - width: 100%; - } - - // The selectpicker dropdown - .dropdown-menu { - min-width: 100%; - box-sizing: border-box; - - > .inner:focus { - outline: none !important; - } - - &.inner { - position: static; - float: none; - border: 0; - padding: 0; - margin: 0; - border-radius: 0; - box-shadow: none; - } - - li { - position: relative; - - &.active small { - color: @input-alt-color-placeholder !important; - } - - &.disabled a { - .cursor-disabled(); - } - - a { - cursor: pointer; - user-select: none; - - &.opt { - position: relative; - padding-left: 2.25em; - } - - span.check-mark { - display: none; - } - - span.text { - display: inline-block; - } - } - - small { - padding-left: 0.5em; - } - } - - .notify { - position: absolute; - bottom: 5px; - width: 96%; - margin: 0 2%; - min-height: 26px; - padding: 3px 5px; - background: rgb(245, 245, 245); - border: 1px solid rgb(227, 227, 227); - box-shadow: inset 0 1px 1px fade(rgb(0, 0, 0), 5%); - pointer-events: none; - opacity: 0.9; - box-sizing: border-box; - - &.fadeOut { - animation: 300ms linear 750ms forwards bs-notify-fadeOut; - } - } - } - - .no-results { - padding: 3px; - background: #f5f5f5; - margin: 0 5px; - white-space: nowrap; - } - - &.fit-width .dropdown-toggle { - .filter-option { - position: static; - display: inline; - padding: 0; - } - - .filter-option-inner, - .filter-option-inner-inner { - display: inline; - } - - .bs-caret:before { - content: '\00a0'; - } - - .caret { - position: static; - top: auto; - margin-top: -1px; - } - } - - &.show-tick .dropdown-menu { - .selected span.check-mark { - position: absolute; - display: inline-block; - right: 15px; - top: 50%; - margin-top: -0.55rem; - } - - li a span.text { - margin-right: 34px; - } - } - - &.selection-indicator-checkbox.show-tick .dropdown-menu { - li a { - padding-left: 2.5rem; - } - - li a span.text { - margin-right: 0; - } - - li a span.check-mark { - position: absolute; - display: inline-flex; - align-items: center; - justify-content: center; - left: 0.75rem; - right: auto; - top: 50%; - width: 1rem; - height: 1rem; - margin-top: -0.5rem; - border: 1px solid var(--bs-border-color, #ced4da); - border-radius: 0.25rem; - background: var(--bs-body-bg, #fff); - color: transparent; - transition: background-color .15s ease-in-out, border-color .15s ease-in-out, color .15s ease-in-out, box-shadow .15s ease-in-out; - } - - .selected span.check-mark { - background: var(--bs-primary, #0d6efd); - border-color: var(--bs-primary, #0d6efd); - color: var(--bs-white, #fff); - } - - .selected span.check-mark::after { - content: ''; - width: 0.3rem; - height: 0.55rem; - border: solid currentColor; - border-width: 0 0.14rem 0.14rem 0; - transform: rotate(45deg); - margin-top: -0.05rem; - } - } - - // default check mark for use without an icon font - .bs-ok-default:after { - content: ''; - display: block; - width: 0.5em; - height: 1em; - border-style: solid; - border-width: 0 0.26em 0.26em 0; - transform-style: preserve-3d; - transform: rotate(45deg); - } -} - -.bootstrap-select.show-menu-arrow { - &.open > .dropdown-toggle, - &.show > .dropdown-toggle { - z-index: (@zindex-select-dropdown + 1); - } - - .dropdown-toggle .filter-option { - &:before { - content: ''; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-bottom: 7px solid @color-grey-arrow; - position: absolute; - bottom: -4px; - left: 9px; - display: none; - } - - &:after { - content: ''; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid white; - position: absolute; - bottom: -4px; - left: 10px; - display: none; - } - } - - &.dropup .dropdown-toggle .filter-option { - &:before { - bottom: auto; - top: -4px; - border-top: 7px solid @color-grey-arrow; - border-bottom: 0; - } - - &:after { - bottom: auto; - top: -4px; - border-top: 6px solid white; - border-bottom: 0; - } - } - - &.pull-right .dropdown-toggle .filter-option { - &:before { - right: 12px; - left: auto; - } - - &:after { - right: 13px; - left: auto; - } - } - - &.open > .dropdown-toggle .filter-option, - &.show > .dropdown-toggle .filter-option { - &:before, - &:after { - display: block; - } - } -} - -.bs-searchbox, -.bs-actionsbox, -.bs-donebutton { - padding: 4px 8px; -} - -.popover-header { - display: flex; - align-items: center; - justify-content: space-between; - gap: 0.75rem; - - .btn-close, - .close { - flex: 0 0 auto; - margin: 0; - } - - .btn-close { - padding: 0.375rem; - } -} - -.bs-actionsbox { - width: 100%; - box-sizing: border-box; - - & .btn-group { - display: block; - - & button { - width: 50%; - } - } -} - -.bs-donebutton { - float: left; - width: 100%; - box-sizing: border-box; - - & .btn-group { - display: block; - - & button { - width: 100%; - } - } -} - -.bs-searchbox { - display: flex; - flex-direction: column; - gap: 0.75rem; - padding: 0.75rem; - border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.1)); - - & + .bs-actionsbox { - padding: 0 8px 4px; - } - - & .form-control { - margin-bottom: 0; - width: 100%; - float: none; - min-height: calc(1.5em + 0.75rem + 2px); - } - - & .bs-create-option { - display: block; - padding: 0.5rem 0.75rem; - border: 1px dashed rgba(13, 110, 253, 0.45); - border-radius: 0.375rem; - background: rgba(13, 110, 253, 0.06); - color: var(--bs-primary, #0d6efd); - white-space: normal; - text-align: left; - } - - & .bs-create-option:hover, - & .bs-create-option:focus { - background: rgba(13, 110, 253, 0.12); - color: var(--bs-primary-text-emphasis, var(--bs-primary, #0d6efd)); - } -} - -.bs-selected-items { - display: flex; - flex-wrap: wrap; - gap: 0.375rem 0.5rem; - margin-top: 0.5rem; -} - -.bs-selected-items-external { - padding: 0 0.125rem; -} - -.bs-selected-item { - display: inline-flex; - align-items: center; - justify-content: space-between; - gap: 0.375rem; - max-width: 100%; - min-height: calc(1.5em + 0.25rem + 2px); - padding: 0.1875rem 0.25rem 0.1875rem 0.625rem; - border: 1px solid var(--bs-border-color, #ced4da); - border-radius: 0.875rem; - background-color: var(--bs-tertiary-bg, #f8f9fa); - color: var(--bs-body-color, inherit); - font-size: 0.8125rem; - line-height: 1.125rem; - text-align: left; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04); - transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - appearance: none; - -webkit-appearance: none; -} - -.bs-selected-item-content { - display: inline-flex; - align-items: center; - gap: 0.5rem; - min-width: 0; -} - -.bs-selected-item-icon { - flex: 0 0 auto; -} - -.bs-selected-item:hover, -.bs-selected-item:focus { - border-color: rgba(13, 110, 253, 0.35); - background-color: var(--bs-secondary-bg, #e9ecef); - box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.12); - outline: 0; -} - -.bs-selected-item-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.bs-selected-item-remove { - display: inline-flex; - align-items: center; - justify-content: center; - width: 1.125rem; - height: 1.125rem; - border-radius: 999px; - background: rgba(108, 117, 125, 0.14); - color: var(--bs-secondary-color, #6c757d); - font-size: 0.875rem; - font-weight: 900; - line-height: 1; - flex: 0 0 auto; - padding-bottom: 0; -} - -.bootstrap-select.selected-items-style-list .bs-selected-items { - display: block; - margin-top: 0.5rem; -} - -.bootstrap-select.selected-items-style-list .bs-selected-items-external { - padding: 0; -} - -.bootstrap-select.selected-items-style-list .bs-selected-item { - width: 100%; - min-height: 0; - padding: 0.75rem 1rem; - border: 1px solid var(--bs-list-group-border-color, rgba(0, 0, 0, 0.125)); - border-radius: 0; - background-color: var(--bs-list-group-bg, #fff); - color: var(--bs-list-group-color, inherit); - font-size: 1rem; - line-height: 1.5; - box-shadow: none; -} - -.bootstrap-select.selected-items-style-list .bs-selected-item:first-child { - border-top-left-radius: var(--bs-list-group-border-radius, 0.375rem); - border-top-right-radius: var(--bs-list-group-border-radius, 0.375rem); -} - -.bootstrap-select.selected-items-style-list .bs-selected-item:last-child { - border-bottom-left-radius: var(--bs-list-group-border-radius, 0.375rem); - border-bottom-right-radius: var(--bs-list-group-border-radius, 0.375rem); -} - -.bootstrap-select.selected-items-style-list .bs-selected-item + .bs-selected-item { - margin-top: -1px; -} - -.bootstrap-select.selected-items-style-list .bs-selected-item:hover, -.bootstrap-select.selected-items-style-list .bs-selected-item:focus { - border-color: var(--bs-list-group-border-color, rgba(0, 0, 0, 0.125)); - background-color: var(--bs-list-group-action-hover-bg, #f8f9fa); - color: var(--bs-list-group-action-hover-color, inherit); - box-shadow: none; -} - -.bootstrap-select.selected-items-style-list .bs-selected-item-content { - flex: 1 1 auto; -} - -.bootstrap-select.selected-items-style-list .bs-selected-item-label { - white-space: normal; -} - -.bootstrap-select.selected-items-style-list .bs-selected-item-remove { - width: auto; - height: auto; - margin-left: auto; - border-radius: 0; - background: transparent; - font-size: 1rem; - color: var(--bs-secondary-color, #6c757d); -} - -.form-floating > .bootstrap-select.show-selected-tags { - position: relative; - min-height: calc(3.5rem + 2px); - border: var(--bs-border-width, 1px) solid var(--bs-border-color, #ced4da); - border-radius: var(--bs-border-radius, 0.375rem); - background-color: var(--bs-body-bg, #fff); - transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; - - &:focus-within, - &.show { - border-color: #86b7fe; - box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); - } - - > .dropdown-toggle { - min-height: 0; - height: auto; - padding-top: 1.375rem; - padding-bottom: 0.25rem; - border: 0; - background-color: transparent; - box-shadow: none; - } - - > .dropdown-toggle:hover, - > .dropdown-toggle:focus, - > .dropdown-toggle:active { - background-color: transparent; - box-shadow: none; - } - - > .dropdown-toggle .filter-option-inner-inner { - opacity: 0; - } - - > .bs-selected-items-external { - position: relative; - z-index: 3; - margin: 0 2.25rem 0 0.75rem; - margin-top: 0; - margin-bottom: 0; - padding-bottom: 1.375rem; - } -} - -.form-floating > .bootstrap-select.show-selected-tags ~ label { - padding-top: 0.75rem; -} diff --git a/less/variables.less b/less/variables.less deleted file mode 100644 index 881ec96..0000000 --- a/less/variables.less +++ /dev/null @@ -1,17 +0,0 @@ -@color-red-error: rgb(185, 74, 72); -@color-green-success: #28a745; -@color-grey-arrow: rgba(204, 204, 204, 0.2); - -@width-default: 100%; - -@zindex-select-dropdown: 1060; // must be higher than a modal background (1050) - -//** Placeholder text color -@input-color-placeholder: #999; -@input-alt-color-placeholder: rgba(255, 255, 255, 0.5); - -@input-padding-y-sm: .25rem; -@input-padding-x-sm: .5rem; - -@input-padding-y-lg: 0.5rem; -@input-padding-x-lg: 1rem; \ No newline at end of file diff --git a/nuget/bootstrap-select.nuspec b/nuget/bootstrap-select.nuspec index 875d54f..7c0d67c 100644 --- a/nuget/bootstrap-select.nuspec +++ b/nuget/bootstrap-select.nuspec @@ -6,7 +6,7 @@ bootstrap-select CrestApps, Casey Holzer, Silvio Moreto, SnapAppointments LLC CrestApps - https://github.com/CrestApps/crestapps-bootstrap-select + https://github.com/CrestApps/bootstrap-select A dependency-free, vanilla JavaScript plugin that brings select elements into the 21st century with intuitive multiselection, searching, and much more. Supports Bootstrap 5+. javascript vanilla-js form bootstrap bootstrap-5 dropdown select replacement README.md diff --git a/package-lock.json b/package-lock.json index 00b54f0..0e71a36 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@crestapps/bootstrap-select", - "version": "1.1.2", + "version": "1.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@crestapps/bootstrap-select", - "version": "1.1.2", + "version": "1.2.0", "license": "MIT", "devDependencies": { "@docusaurus/core": "^3.10.1", @@ -16,28 +16,21 @@ "@mdx-js/react": "^3.1.1", "@playwright/test": "^1.60.0", "@popperjs/core": "^2.11.8", + "@rollup/plugin-terser": "^0.4.4", "archiver": "^8.0.0", "autoprefixer": "^10.5.0", "bootstrap": "^5.3.8", - "chokidar": "^5.0.0", + "chokidar-cli": "^3.0.0", "clsx": "^2.1.1", + "cssnano": "^7.1.1", + "eslint": "^9.29.0", "globals": "^17.6.0", - "grunt": "^1.6.2", - "grunt-banner": "^0.6.0", - "grunt-contrib-clean": "^2.0.1", - "grunt-contrib-concat": "^2.1.0", - "grunt-contrib-copy": "^1.0.0", - "grunt-contrib-csslint": "^2.0.0", - "grunt-contrib-cssmin": "^5.0.0", - "grunt-contrib-less": "^3.0.0", - "grunt-contrib-uglify": "^5.2.2", - "grunt-eslint": "^26.0.0", - "grunt-version": "^3.0.2", - "load-grunt-tasks": "^5.1.0", "postcss": "^8.5.15", "prism-react-renderer": "^2.4.1", "react": "^19.2.7", "react-dom": "^19.2.7", + "rollup": "^4.44.1", + "sass": "^1.89.2", "webpack": "^5.107.2" }, "engines": { @@ -2126,6 +2119,13 @@ "node": ">=6.9.0" } }, + "node_modules/@colordx/core": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/@colordx/core/-/core-5.4.3.tgz", + "integrity": "sha512-kIxYSfA5T8HXjav55UaaH/o/cKivF6jCCGIb8eqtcsfI46wsvlSiT8jMDyrl779qLec3c2c2oHBZo4oAhvbjrQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", @@ -3683,6 +3683,27 @@ } } }, + "node_modules/@docusaurus/bundler/node_modules/cssnano": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^6.1.2", + "lilconfig": "^3.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, "node_modules/@docusaurus/core": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.10.1.tgz", @@ -5933,6 +5954,348 @@ "node": ">= 8" } }, + "node_modules/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/@peculiar/asn1-cms": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.8.0.tgz", @@ -6181,6 +6544,418 @@ "url": "https://opencollective.com/popperjs" } }, + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.0.tgz", + "integrity": "sha512-IPIQ55ythEHkfEd9jMEi32OQ7SxURsGA43JI22lj01OLZNt2NUbJX8YUHxkVWyQ6daHPNn0truF5nSj3DQp6YQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.0.tgz", + "integrity": "sha512-M6s9cr10MibETyo8JsOkq+Lo1+lU6hcvb1MApnUql5qte/5hMEgzlN8/ReIKNfRV8rrqX50W1BX9zoUhC192RA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.0.tgz", + "integrity": "sha512-BqCoMoIbn0keKys+dEAdBa70EtOwV1bEsQCUgU9FdiZmmMge/Zk7LlkYGqbrdHR+Frnt0E1FOanly+rlwvvQzw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.0.tgz", + "integrity": "sha512-SIMzST3VFNXDAbeIWDWiFCNM5qncUBDWaEV7NfE7oZbDt2mgfW4MvbKdbYiGOLoM32gbTv608UMd0XktEYSD7w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.0.tgz", + "integrity": "sha512-ezjfSQMP7ArdUsbBwbQIfwAlhE84I2iVnzQNCFSveqV42q+BmKlzVpf7mxv5EchLcoWU4y6/heFzVg1F+hodUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.0.tgz", + "integrity": "sha512-9+qTWGW9AZRhnUgwtTwzNwcPlL87ngkeN0LA+q1bADvmY9aNvWaF2TFW8BZgnQPYxpDI7+rMVLivcd4V737TAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.0.tgz", + "integrity": "sha512-T1dMEQhXA/jkJ/jyMIw9IovK8bSUq7A8kLIlvZTb/6YIVsp2zLavr4F3oyllHWo7eIVJRyE5n3tUjQJEbE1IuQ==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.0.tgz", + "integrity": "sha512-2as0LgT7qQpyceQq6VUJYnumUMUrgGQCWIiDIN9DE0/tglsk6o66uCB4f3djRawAltvfCNLyZZrsqbPA6inCsA==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.0.tgz", + "integrity": "sha512-bVURMg+6eNN9C/yc0aVjooZcwTTtYF4YW3xta5pP0//r3o1V8gXEHXWCndj47w/HhwsFroZrFhR+6uQP5T0n0g==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.0.tgz", + "integrity": "sha512-Ful8pM/2yYI83PViWdFdpZhdI8HJ5qsXANe5atypbHDf+KIBBDsZsbyy8hbXnULVvW9NsTh5DHwbcBftyLTfiw==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.0.tgz", + "integrity": "sha512-9Gp/DgrkzfUBmNPVTyPTvay+4xEP7M/clXpj3efXBcm6uTIVIgDg4rqUpqKXvLEuFRVuEpSAOkhgNeecvaZ4Cg==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.0.tgz", + "integrity": "sha512-m9tsJz54LUXkSYM8+8PG81B9IKK5r+2T0clMq4QrS16xFosufU7firBDAZEsDheDs7wTlP7h3++S7lMsU955HA==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.0.tgz", + "integrity": "sha512-3UvJ5PNVU16aJf6M3tFI24pWzAl2/ynfbyRN3ICyQajK1lSkrnVYNnLz3v04J32qKa0FczJc22zeToc0lr2A3w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.0.tgz", + "integrity": "sha512-vRWUAbYLGHBZS6Q8Msb2sfnf1fvJf+47t8l/TwOerM2qArzy+IeNMTHrYLHXh95h8MoatPHI5hhSZNs+mGXKPg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.0.tgz", + "integrity": "sha512-c00T5SYENHAt86cfW47URaP3Us5vLC/4QO7GYud1G5VNRffCwwCuBspwqYrriuJB+5m0WFzClCn9wed0FBjKvg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.0.tgz", + "integrity": "sha512-krrCDilhXOwFkSkO3Wm9I/f9H0L92XHHwy2fwxjukxIbh0dem8gZqOW5Y8BsHrpJv5qwlRBV+Wl4ZFyRWhUpwg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.0.tgz", + "integrity": "sha512-7pfYFSTc4/rUC/FtAI0Qp6QthDBCIi6/AuP1xYqFk5vanI6KnL5dWKP60OM/05LOsbwTmIcvr6eXC4CJuJ75IA==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.0.tgz", + "integrity": "sha512-7SDIalKeIpG0Ifogbbdn58HmSotYMlf23K3dCJEmiVd9Fg36Vmni82iPQec27N3wY4Bvbxftkxz6vSx9OcouTg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.0.tgz", + "integrity": "sha512-eRZevouTH2i1HeAVLqJuLnt256krQkGY0TN6WsTmsIhuzbh457HuWDMakKwmi0Cjadux983CoSr8Lim2QhUIFw==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.0.tgz", + "integrity": "sha512-3oVS7FLGa4U1qcvao9ylGxrjXZyUQqR8UwxEcnUEyPX53O/C/mKDZegNXTdHCP+h3e6ta/f1EN38Yif1mmZHYg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.0.tgz", + "integrity": "sha512-yTB9TgfWj5wHe5QgktAgXTLLot1gvEjl1NiPPAUiCs4oPrIWFl5V4nC3GrkNdj9LaAU4s94nVrGbGOCqUpyWsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.0.tgz", + "integrity": "sha512-5LOhoaesY3doG1c+ac/2JtgREpKoJr5bUHH8tKY0V8di7+uSV6BwLs2PlR0/yzefGOkR+wE7ZolZphHCsyG5Rw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.0.tgz", + "integrity": "sha512-yYkWHhmbhRTWTnWos5HC4GcPQfjlzzCNbM9e/+GXrLuaBXYA3qSDR9f0Vgufd5S8yX81U8jPKp7ZnAjZFMtRnw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.0.tgz", + "integrity": "sha512-SoTb6lPg25xZlA2ibwQ++ahCCnH+FP0qmEuafMJ4gznZKOlXioKEAeJLgCrqjM98ACziXM9V1amFjICVL4IFoA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.0.tgz", + "integrity": "sha512-5L+T1fMX4RIEBoZzT0+sQ0PhTS36NULFmMXtl1TZo44TMAROIMHbZufSOjVWt/Y622BtxgxtaNOokbTDvfsrZA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@sinclair/typebox": { "version": "0.27.10", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.10.tgz", @@ -6723,12 +7498,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, "node_modules/@types/ms": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", @@ -7098,12 +7867,6 @@ "dev": true, "license": "Apache-2.0" }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, "node_modules/abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -7476,24 +8239,6 @@ "sprintf-js": "~1.0.2" } }, - "node_modules/array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -7501,15 +8246,6 @@ "dev": true, "license": "MIT" }, - "node_modules/array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -7519,15 +8255,6 @@ "node": ">=8" } }, - "node_modules/arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/asn1js": { "version": "3.0.10", "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.10.tgz", @@ -8428,6 +9155,76 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/chokidar-cli": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chokidar-cli/-/chokidar-cli-3.0.0.tgz", + "integrity": "sha512-xVW+Qeh7z15uZRxHOkP93Ux8A0xbPzwK4GaqD8dQOYc34TlkqUhVSS59fK36DOp5WdJlrRzlYSy02Ht99FjZqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.5.2", + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1", + "yargs": "^13.3.0" + }, + "bin": { + "chokidar": "index.js" + }, + "engines": { + "node": ">= 8.10.0" + } + }, + "node_modules/chokidar-cli/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar-cli/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chokidar-cli/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/chrome-trace-event": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", @@ -8538,13 +9335,116 @@ "node": ">=8" } }, - "node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.8" + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cliui/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" } }, "node_modules/clone-deep": { @@ -8615,15 +9515,6 @@ "dev": true, "license": "MIT" }, - "node_modules/colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true, - "engines": { - "node": ">=0.1.90" - } - }, "node_modules/combine-promises": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", @@ -8863,22 +9754,6 @@ "dev": true, "license": "MIT" }, - "node_modules/copy-anything": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", - "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-what": "^4.1.8" - }, - "engines": { - "node": ">=12.13" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, "node_modules/copy-text-to-clipboard": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.2.tgz", @@ -9310,6 +10185,27 @@ } } }, + "node_modules/css-minimizer-webpack-plugin/node_modules/cssnano": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^6.1.2", + "lilconfig": "^3.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, "node_modules/css-prefers-color-scheme": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-10.0.0.tgz", @@ -9407,41 +10303,25 @@ "node": ">=4" } }, - "node_modules/csslint": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/csslint/-/csslint-1.0.5.tgz", - "integrity": "sha1-Gcw+2jIhYP0/cjKvHLKjYOiYouk=", - "dev": true, - "dependencies": { - "clone": "~2.1.0", - "parserlib": "~1.1.1" - }, - "bin": { - "csslint": "dist/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/cssnano": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", - "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "version": "7.1.9", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.1.9.tgz", + "integrity": "sha512-uPR75+5Dk/WJ/YSPR1/YDHdwMM9c5FsaARljfKWgeCKLKOtJ0we21xy/RcCjn53fZnD/f6yYEIZ8pu18+GnbNQ==", "dev": true, "license": "MIT", "dependencies": { - "cssnano-preset-default": "^6.1.2", - "lilconfig": "^3.1.1" + "cssnano-preset-default": "^7.0.17", + "lilconfig": "^3.1.3" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/cssnano" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.5.13" } }, "node_modules/cssnano-preset-advanced": { @@ -9524,6 +10404,592 @@ "postcss": "^8.4.31" } }, + "node_modules/cssnano/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/cssnano/node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/cssnano/node_modules/cssnano-preset-default": { + "version": "7.0.17", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.17.tgz", + "integrity": "sha512-11qO63A+czwguQFJCaTdICvbaxn0pJzz/XghLlv+OT7WyToDxAMR0Xb3/26/l0y0hQJywwNbj/SLSQlGBHE1OA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.2", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^5.0.3", + "postcss-calc": "^10.1.1", + "postcss-colormin": "^7.0.10", + "postcss-convert-values": "^7.0.12", + "postcss-discard-comments": "^7.0.8", + "postcss-discard-duplicates": "^7.0.4", + "postcss-discard-empty": "^7.0.3", + "postcss-discard-overridden": "^7.0.3", + "postcss-merge-longhand": "^7.0.7", + "postcss-merge-rules": "^7.0.11", + "postcss-minify-font-values": "^7.0.3", + "postcss-minify-gradients": "^7.0.5", + "postcss-minify-params": "^7.0.9", + "postcss-minify-selectors": "^7.1.2", + "postcss-normalize-charset": "^7.0.3", + "postcss-normalize-display-values": "^7.0.3", + "postcss-normalize-positions": "^7.0.4", + "postcss-normalize-repeat-style": "^7.0.4", + "postcss-normalize-string": "^7.0.3", + "postcss-normalize-timing-functions": "^7.0.3", + "postcss-normalize-unicode": "^7.0.9", + "postcss-normalize-url": "^7.0.3", + "postcss-normalize-whitespace": "^7.0.3", + "postcss-ordered-values": "^7.0.4", + "postcss-reduce-initial": "^7.0.9", + "postcss-reduce-transforms": "^7.0.3", + "postcss-svgo": "^7.1.3", + "postcss-unique-selectors": "^7.0.7" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/cssnano-utils": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.3.tgz", + "integrity": "sha512-ynIREMICLxkxm7e9bCR9sh75s4Q5drICi0ua1yxo5jH2XPBqSKkl4dOh4EbFqtUmnTMhRffHgYL0EKKkMjtJTg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/cssnano/node_modules/postcss-calc": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.1.1.tgz", + "integrity": "sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12 || ^20.9 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.38" + } + }, + "node_modules/cssnano/node_modules/postcss-colormin": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.10.tgz", + "integrity": "sha512-yFr6JezOolHLta/buLE71VKPh2mXursp4saVe98/ol8ZnEWhL+racShqPKlvd/DKWLre/39B6HhcMXf7RZ3hxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@colordx/core": "^5.4.3", + "browserslist": "^4.28.2", + "caniuse-api": "^3.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-convert-values": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.12.tgz", + "integrity": "sha512-xurKu5qqk4viR3Cp3p4xBR4KfnZm4w4ys6+UBwBmeuBSNkH7+DtLnYOYnOffgtE4yx8sH9S1VZ6RAAvROXzP2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-discard-comments": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.8.tgz", + "integrity": "sha512-CvvS5S9WrXblFXCEJ9nVo+4z+eA7zSC7Z88V1HEJuwlQhlFnYTIjg1xJY+BCUiG2bvICap2tXii4mP22BD108Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.1.1" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-discard-duplicates": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.4.tgz", + "integrity": "sha512-VBNn1+EuMZkeGVVtz0gRfbNGtx9IFgAsAV+E2pHtXPrp4qfGBkhTIiAuE/wrb+Y6Pakg9NewAlfTpYIFAWODtw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-discard-empty": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.3.tgz", + "integrity": "sha512-M2pyjQCU+/7cMHVtL6bKTHjv0lZnPLMpicgr67Dlth7AbuV9gjVTtUqaRwn6Pp6BwSDspUzhz8SaUrRykJU5Dw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-discard-overridden": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.3.tgz", + "integrity": "sha512-aNovXo9UsZuRNLzHJtp13lHIvinDPfiXBPePpXkSjCbgp++iU2FqE+YxvjIsg6EdyPZsASFbfu+JcBFVsErXIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-merge-longhand": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.7.tgz", + "integrity": "sha512-b3mfYUxR388u5Pt0HPcVIUtUDn/k15UfTY9M+ORW+meCR6JLNxoZffiYvXyOYQoRYQNZyX/UFkMCM/mNHxe1qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^7.0.11" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-merge-rules": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.11.tgz", + "integrity": "sha512-SJUPM18g2BmPhf8BVlbwqWz4aK3pLu6u6xjfwEzra7xL6IBR10sUaiB++EzqcVfadPHrKBSMlNdP+XieykhI+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.2", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^5.0.3", + "postcss-selector-parser": "^7.1.1" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-minify-font-values": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-7.0.3.tgz", + "integrity": "sha512-yilG/VOaNI74IylQvAQQxm3/wZVBkXyYUqNUAdxqwtbWUXPsbK1q8Ms0mL83v+f8YicgcyfYCRZtWACUdYajpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-minify-gradients": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-7.0.5.tgz", + "integrity": "sha512-YraROyQRg3BI1+Hg8E05B/JPdnTm8EDSVu4P2BxdM+CRiOyfmou809+chGIqo6fQqwjPGQ947nbGncSjmTU1WQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@colordx/core": "^5.4.3", + "cssnano-utils": "^5.0.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-minify-params": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.9.tgz", + "integrity": "sha512-R8itbB8BhlpoYyBm1ou0dD+vJnQ3F6adQipR4UnkCHUwlo+S9WXJaDRg1RHjC8YVAtIdrQzSWvJl40HnGDTKjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.2", + "cssnano-utils": "^5.0.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-minify-selectors": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.1.2.tgz", + "integrity": "sha512-aQtrEWKwqafNlExcKHQvPGsXR2+vlUqqJtf5XsCQcgsSb5PL4wlujWBYDJuWsP4UnQX1YHDHU8qRlD+1PzTQ+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.1", + "caniuse-api": "^3.0.0", + "cssesc": "^3.0.0", + "postcss-selector-parser": "^7.1.1" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-normalize-charset": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-7.0.3.tgz", + "integrity": "sha512-NoBfZu8PR4c2NlmjvrqQTzCzLY79hwcSRgNQ3ZiNK0ABzf9kYKloE/jNj+/8GQY1wsm8pRRgANk6ydLH8cwo0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-normalize-display-values": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.3.tgz", + "integrity": "sha512-ldsCX0QIt05pKIOobZtVQ48wXJecr+czw4+e1/YjVhLMqslShgpVxgPtI2CefURR8oyVoYaU/l829MMwExDMLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-normalize-positions": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-7.0.4.tgz", + "integrity": "sha512-VEvlpeGd3Ju1Hqa/oN4jaP3+ms4laYwkEL9N9u+B6k54PZjXbW1n6wI+aVprf1BQXlCYpS5+1pl/7/vHiKgARg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-normalize-repeat-style": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.4.tgz", + "integrity": "sha512-6mPKlY/8cSaDHxX502wERADarJsccwlky6yIrOapHH2ZgfoKAV94SbiTKfKEs4EEpdazuc3J72WsqeYk7hp9+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-normalize-string": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-7.0.3.tgz", + "integrity": "sha512-HnEQPUchi1eznmDKEYrKUTqrprEq97SrpUYClgUkv7V2zRODD9DFoUsYU+m9ZOetmD5ku7fEMZB/lwy8IT6xVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-normalize-timing-functions": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.3.tgz", + "integrity": "sha512-zmEzHdvpZBZu0OKlbJSfgASQvaayyAoVuWtvyr34IJ/LyS+DaOKvvR3EvFJ9RWWtNIx+CMvO125OVophaxNYew==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-normalize-unicode": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.9.tgz", + "integrity": "sha512-DRAdWfeh/TjmhLJsw91vdiWCnUod9iwvM7xyS02/nF/sLsCR3A8l3pztrSUrWG8DSBqfX7yEk9FM0USaVJ2mSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-normalize-url": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-7.0.3.tgz", + "integrity": "sha512-CL93wmloq5qsffmFv+bw24MIRbmhHrp53qoh1LDAb/5TtjWEXI/np4xcP/Gw9oWCb2XyWnqHYLDUwiKRoJBA1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-normalize-whitespace": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.3.tgz", + "integrity": "sha512-FdHjjn+Ht5Z2ZRjNOmeCbNq6lq09sUYKpmlF/Aq0XjVNSLTL6fmHlA/3swN2wP2caY9GV/tjSDcIIyS7aN7W0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-ordered-values": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-7.0.4.tgz", + "integrity": "sha512-nubSi49hDHQk4E8KIj+IbLY8Bg+8OcSUEhgyolgM+atnOvXjV7EjaR6bac4YGZoFyPa9mWoAF3EaYbWdFkKqVg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-utils": "^5.0.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-reduce-initial": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.9.tgz", + "integrity": "sha512-ztTNPdIxXTxtBcG03E9u8v44M4ElXbMIRT7pf2onlquGula0Y83nKKxqM22FA/hMgkfCjN7ohevkVlaNwI8iOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.2", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-reduce-transforms": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.3.tgz", + "integrity": "sha512-FXsnN9ZwcZTT8Yf8cAHA8qIGUXcX6WfLd9JoYhrdDfmvsVhhfqkkv7m4AC3rwFOfz+GzkUa87OCKF9dUcicd+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-selector-parser": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.4.tgz", + "integrity": "sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano/node_modules/postcss-svgo": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.1.3.tgz", + "integrity": "sha512-2QfoFOYMcj8lwcVEf9WeTlkVIAm7u2QvOEhMzkQU3KUhhGX/l8hVV9EtjMv4iq3E9iI3OeeMN0YoMLbGusuigw==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^4.0.1" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >= 18" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/postcss-unique-selectors": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.7.tgz", + "integrity": "sha512-d+sCkaRnSefghOUdH8CMJZV9yUQhj2ojpe8Nw/lA+LV1UOfeleGkLTl6XdCFFSai9UJ+DJPb69FFuqthXYsY8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.1.1" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/stylehacks": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.11.tgz", + "integrity": "sha512-iODNfhXVLqc5LADs+Y6Oh5wJuK5ZcHbVng8aiK3y9pjMQdc5hLrBW0eFU6FtnpNrE6PoEg/MmFTU4waotj5WNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.2", + "postcss-selector-parser": "^7.1.1" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.5.13" + } + }, + "node_modules/cssnano/node_modules/svgo": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.1.tgz", + "integrity": "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^5.1.0", + "css-tree": "^3.0.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "^1.5.0" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, "node_modules/csso": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", @@ -9567,16 +11033,6 @@ "dev": true, "license": "MIT" }, - "node_modules/dateformat": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", - "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/debounce": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", @@ -9602,6 +11058,16 @@ } } }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/decode-named-character-reference": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", @@ -9789,13 +11255,15 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", "dev": true, + "license": "Apache-2.0", + "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/detect-node": { @@ -10098,20 +11566,6 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, "node_modules/error-ex": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", @@ -10226,15 +11680,6 @@ "dev": true, "license": "MIT" }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/eslint": { "version": "9.39.4", "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", @@ -10721,27 +12166,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/express": { "version": "4.22.2", "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", @@ -10980,22 +12404,6 @@ "node": ">=0.4.0" } }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -11049,12 +12457,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/file-sync-cmp": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", - "integrity": "sha1-peeo/7+kk7Q7kju9TKiaU7Y7YSs=", - "dev": true - }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -11133,47 +12535,6 @@ "node": ">=6" } }, - "node_modules/findup-sync": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", - "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.3", - "micromatch": "^4.0.4", - "resolve-dir": "^1.0.1" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/fined": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", - "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", - "dev": true, - "dependencies": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^2.0.3", - "object.defaults": "^1.1.0", - "object.pick": "^1.2.0", - "parse-filepath": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/flagged-respawn": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", - "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", @@ -11226,27 +12587,6 @@ } } }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "dependencies": { - "for-in": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/form-data-encoder": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", @@ -11315,12 +12655,6 @@ "node": ">=14.14" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -11356,6 +12690,16 @@ "node": ">=6.9.0" } }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -11415,15 +12759,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/getobject": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz", - "integrity": "sha512-2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/github-slugger": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", @@ -11431,26 +12766,6 @@ "dev": true, "license": "ISC" }, - "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -11504,54 +12819,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "dependencies": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "dependencies": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/global-prefix/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, "node_modules/globals": { "version": "17.6.0", "resolved": "https://registry.npmjs.org/globals/-/globals-17.6.0.tgz", @@ -11661,478 +12928,6 @@ "node": ">=6.0" } }, - "node_modules/grunt": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.6.2.tgz", - "integrity": "sha512-bUzh5nA/P5L66ihXTDP6J5BGnMB/8lXJXejYWSbH4Y4TvWM9t2S39sggQDYYQlx06cYcCsmu63HMYHGCIzUVfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "dateformat": "~4.6.2", - "eventemitter2": "~0.4.13", - "exit": "~0.1.2", - "findup-sync": "~5.0.0", - "glob": "~7.1.6", - "grunt-cli": "^1.4.3", - "grunt-known-options": "~2.0.0", - "grunt-legacy-log": "~3.0.0", - "grunt-legacy-util": "~2.0.1", - "iconv-lite": "~0.6.3", - "js-yaml": "~3.14.0", - "minimatch": "^3.1.5", - "nopt": "^5.0.0" - }, - "bin": { - "grunt": "bin/grunt" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/grunt-banner": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/grunt-banner/-/grunt-banner-0.6.0.tgz", - "integrity": "sha512-50H/Wxydlf+ifve5Jzcz9oB4jr6oCGEPyfhEDUsl2NEMX80cWUJqVMXSHBr2n9Rb3nd+rRSKeQzqNxWrqoyQ1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "grunt": ">=0.4.0" - } - }, - "node_modules/grunt-banner/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-banner/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-banner/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-banner/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-banner/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/grunt-cli": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", - "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", - "dev": true, - "dependencies": { - "grunt-known-options": "~2.0.0", - "interpret": "~1.1.0", - "liftup": "~3.0.1", - "nopt": "~4.0.1", - "v8flags": "~3.2.0" - }, - "bin": { - "grunt": "bin/grunt" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/grunt-cli/node_modules/nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "dev": true, - "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, - "node_modules/grunt-contrib-clean": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-2.0.1.tgz", - "integrity": "sha512-uRvnXfhiZt8akb/ZRDHJpQQtkkVkqc/opWO4Po/9ehC2hPxgptB9S6JHDC/Nxswo4CJSM0iFPT/Iym3cEMWzKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "async": "^3.2.3", - "rimraf": "^2.6.2" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "grunt": ">=0.4.5" - } - }, - "node_modules/grunt-contrib-clean/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/grunt-contrib-concat": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-2.1.0.tgz", - "integrity": "sha512-Vnl95JIOxfhEN7bnYIlCgQz41kkbi7tsZ/9a4usZmxNxi1S2YAIOy8ysFmO8u4MN26Apal1O106BwARdaNxXQw==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "source-map": "^0.5.3" - }, - "engines": { - "node": ">=0.12.0" - }, - "peerDependencies": { - "grunt": ">=1.4.1" - } - }, - "node_modules/grunt-contrib-copy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", - "integrity": "sha512-gFRFUB0ZbLcjKb67Magz1yOHGBkyU6uL29hiEW1tdQ9gQt72NuMKIy/kS6dsCbV0cZ0maNCb0s6y+uT1FKU7jA==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^1.1.1", - "file-sync-cmp": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-copy/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-copy/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-copy/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-copy/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-copy/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/grunt-contrib-csslint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-csslint/-/grunt-contrib-csslint-2.0.0.tgz", - "integrity": "sha512-op9Adig+K90UyWGE4rQ6AWR5HOnOdtLDVizTueitvtSoIBcGm5OpQmKI9RcLfAn6x8IM4aKMkU15ITtXD6Aemg==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^1.0.0", - "csslint": "^1.0.0", - "lodash": "^4.8.2", - "strip-json-comments": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-csslint/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-csslint/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-csslint/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-csslint/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-csslint/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/grunt-contrib-cssmin": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-5.0.0.tgz", - "integrity": "sha512-SNp4H4+85mm2xaHYi83FBHuOXylpi5vcwgtNoYCZBbkgeXQXoeTAKa59VODRb0woTDBvxouP91Ff5PzCkikg6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "clean-css": "^5.3.2", - "maxmin": "^3.0.0" - }, - "engines": { - "node": ">=14.0" - } - }, - "node_modules/grunt-contrib-less": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-3.0.0.tgz", - "integrity": "sha512-fBB8MUDCo5EgT7WdOVQnZq4GF+XCeFdnkhaxI7uepp8P973sH1jdodjF87c6d9WSHKgArJAGP5JEtthhdKVovg==", - "dev": true, - "license": "MIT", - "dependencies": { - "async": "^3.2.0", - "chalk": "^4.1.0", - "less": "^4.1.1", - "lodash": "^4.17.21" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/grunt-contrib-uglify": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-5.2.2.tgz", - "integrity": "sha512-ITxiWxrjjP+RZu/aJ5GLvdele+sxlznh+6fK9Qckio5ma8f7Iv8woZjRkGfafvpuygxNefOJNc+hfjjBayRn2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "maxmin": "^3.0.0", - "uglify-js": "^3.16.1", - "uri-path": "^1.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/grunt-eslint": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-26.0.0.tgz", - "integrity": "sha512-HP/Mu00nBtdLDk0i1V1gLplYBgce4nBjxwmtpo3Eit/h5OUzGxEsgBxprkT4I5bN1x79w6wDnrN+7CX29OZatg==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "eslint": "^9.22.0" - }, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - }, - "peerDependencies": { - "grunt": ">=1" - } - }, - "node_modules/grunt-known-options": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz", - "integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-legacy-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz", - "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==", - "dev": true, - "dependencies": { - "colors": "~1.1.2", - "grunt-legacy-log-utils": "~2.1.0", - "hooker": "~0.2.3", - "lodash": "~4.17.19" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/grunt-legacy-log-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz", - "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==", - "dev": true, - "dependencies": { - "chalk": "~4.1.0", - "lodash": "~4.17.19" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/grunt-legacy-util": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz", - "integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==", - "dev": true, - "dependencies": { - "async": "~3.2.0", - "exit": "~0.1.2", - "getobject": "~1.0.0", - "hooker": "~0.2.3", - "lodash": "~4.17.21", - "underscore.string": "~3.3.5", - "which": "~2.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/grunt-version": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/grunt-version/-/grunt-version-3.0.2.tgz", - "integrity": "sha512-tD/RCuwRaHnKa7Mdh9Hh0lA+Ia1ossIw0R5kVQ2g64KHKB8zT7huBsdkoJ5WHgkUHC7DPGbR6v2K/N0CGVsHZg==", - "dev": true, - "dependencies": { - "grunt": "^1.6.1", - "semver": "^7.6.3" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/grunt/node_modules/eventemitter2": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", - "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", - "dev": true - }, - "node_modules/gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", - "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", - "dev": true, - "license": "MIT", - "dependencies": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", @@ -12140,27 +12935,6 @@ "dev": true, "license": "MIT" }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -12427,27 +13201,6 @@ "react-is": "^16.7.0" } }, - "node_modules/homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "dependencies": { - "parse-passwd": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hooker": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", - "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", @@ -12828,20 +13581,6 @@ "node": ">= 4" } }, - "node_modules/image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", - "dev": true, - "license": "MIT", - "optional": true, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/immediate": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", @@ -12849,6 +13588,13 @@ "dev": true, "license": "MIT" }, + "node_modules/immutable": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.6.tgz", + "integrity": "sha512-q1swsS8K7L8usSHuOqF2TAoCCkonYz0SG38wLAggaa4Wml70zixIvt2ql4coQ2C2B3hTjltJry4r6bULwgAXLQ==", + "dev": true, + "license": "MIT" + }, "node_modules/import-fresh": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", @@ -12906,16 +13652,6 @@ "node": ">=12" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -12939,12 +13675,6 @@ "dev": true, "license": "MIT" }, - "node_modules/interpret": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", - "dev": true - }, "node_modules/invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -12965,19 +13695,6 @@ "node": ">= 10" } }, - "node_modules/is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "dev": true, - "dependencies": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-alphabetical": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", @@ -13275,18 +13992,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "dev": true, - "dependencies": { - "is-unc-path": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", @@ -13307,40 +14012,6 @@ "dev": true, "license": "MIT" }, - "node_modules/is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "dev": true, - "dependencies": { - "unc-path-regex": "^0.1.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-what": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", - "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.13" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -13649,43 +14320,6 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/less": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/less/-/less-4.6.4.tgz", - "integrity": "sha512-OJmO5+HxZLLw0RLzkqaNHzcgEAQG7C0y3aMbwtCzIUFZsLMNNq/1IdAdHEycQ58CwUO3jPTHmoN+tE5I7FQxNg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "copy-anything": "^3.0.5", - "parse-node-version": "^1.0.1" - }, - "bin": { - "lessc": "bin/lessc" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^3.1.0", - "source-map": "~0.6.0" - } - }, - "node_modules/less/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, - "license": "BSD-3-Clause", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -13710,40 +14344,6 @@ "node": ">= 0.8.0" } }, - "node_modules/liftup": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz", - "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==", - "dev": true, - "dependencies": { - "extend": "^3.0.2", - "findup-sync": "^4.0.0", - "fined": "^1.2.0", - "flagged-respawn": "^1.0.1", - "is-plain-object": "^2.0.4", - "object.map": "^1.0.1", - "rechoir": "^0.7.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/liftup/node_modules/findup-sync": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", - "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", - "dev": true, - "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^4.0.2", - "resolve-dir": "^1.0.1" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/lilconfig": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", @@ -13764,25 +14364,6 @@ "dev": true, "license": "MIT" }, - "node_modules/load-grunt-tasks": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-5.1.0.tgz", - "integrity": "sha512-oNj0Jlka1TsfDe+9He0kcA1cRln+TMoTsEByW7ij6kyktNLxBKJtslCFEvFrLC2Dj0S19IWJh3fOCIjLby2Xrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "arrify": "^2.0.1", - "multimatch": "^4.0.0", - "pkg-up": "^3.1.0", - "resolve-pkg": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "grunt": ">=1" - } - }, "node_modules/loader-runner": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz", @@ -13853,6 +14434,13 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "dev": true, + "license": "MIT" + }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -13931,53 +14519,6 @@ "dev": true, "license": "MPL-1.1" }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "license": "ISC", - "optional": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/make-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/mark.js": { "version": "8.11.1", "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", @@ -14019,25 +14560,6 @@ "node": ">= 0.4" } }, - "node_modules/maxmin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-3.0.0.tgz", - "integrity": "sha512-wcahMInmGtg/7c6a75fr21Ch/Ks1Tb+Jtoan5Ft4bAI0ZvJqyOw8kkM7e7p8hDSzY805vmxwHT50KcjGwKyJ0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "figures": "^3.2.0", - "gzip-size": "^5.1.1", - "pretty-bytes": "^5.3.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/mdast-util-directive": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz", @@ -16580,22 +17102,6 @@ "multicast-dns": "cli.js" } }, - "node_modules/multimatch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", - "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", - "dev": true, - "dependencies": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/nanoid": { "version": "3.3.12", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", @@ -16622,24 +17128,6 @@ "dev": true, "license": "MIT" }, - "node_modules/needle": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.5.0.tgz", - "integrity": "sha512-jaQyPKKk2YokHrEg+vFDYxXIHTCBgiZwSHOoVx/8V3GIBS8/VN6NdVRmg8q1ERtPkMvmOvebsgga4sAj5hls/w==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.3", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, - "engines": { - "node": ">= 4.4.x" - } - }, "node_modules/negotiator": { "version": "0.6.4", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", @@ -16668,6 +17156,14 @@ "tslib": "^2.0.3" } }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/node-emoji": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.2.0.tgz", @@ -16694,22 +17190,6 @@ "node": ">=18" } }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -16860,46 +17340,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", - "dev": true, - "dependencies": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", - "dev": true, - "dependencies": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -16930,15 +17370,6 @@ "node": ">= 0.8" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -17001,34 +17432,6 @@ "node": ">= 0.8.0" } }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, "node_modules/p-cancelable": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", @@ -17219,20 +17622,6 @@ "dev": true, "license": "MIT" }, - "node_modules/parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", - "dev": true, - "dependencies": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -17252,16 +17641,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/parse-numeric-range": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", @@ -17269,15 +17648,6 @@ "dev": true, "license": "ISC" }, - "node_modules/parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/parse5": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", @@ -17331,12 +17701,6 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/parserlib": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/parserlib/-/parserlib-1.1.1.tgz", - "integrity": "sha1-pkz6ckBiQ0/fw1HJpOwtkrlMBvQ=", - "dev": true - }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -17367,15 +17731,6 @@ "node": ">=4" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", @@ -17399,27 +17754,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", - "dev": true, - "dependencies": { - "path-root-regex": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-to-regexp": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", @@ -17467,16 +17801,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/pkg-dir": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", @@ -17581,18 +17905,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/pkijs": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.4.0.tgz", @@ -19193,19 +19505,6 @@ "node": ">= 0.8.0" } }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/pretty-error": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", @@ -19336,14 +19635,6 @@ "node": ">= 0.10" } }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "license": "MIT", - "optional": true - }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -19752,18 +20043,6 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "dependencies": { - "resolve": "^1.9.0" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/recma-build-jsx": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", @@ -20214,6 +20493,16 @@ "entities": "^2.0.0" } }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -20233,6 +20522,13 @@ "node": "*" } }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true, + "license": "ISC" + }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -20269,19 +20565,6 @@ "dev": true, "license": "MIT" }, - "node_modules/resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "dev": true, - "dependencies": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -20299,27 +20582,6 @@ "dev": true, "license": "MIT" }, - "node_modules/resolve-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-2.0.0.tgz", - "integrity": "sha512-+1lzwXehGCXSeryaISr6WujZzowloigEofRB+dj75y9RRa/obVcYgbHJd53tdYw8pvZj8GojXaaENws8Ktw/hQ==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-pkg/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/responselike": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", @@ -20357,6 +20619,51 @@ "node": ">=0.10.0" } }, + "node_modules/rollup": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.0.tgz", + "integrity": "sha512-nc72Wgq62I7rtDV4izT5/aaS0zxy3kttkinf9586ApknY3jZO9NYsmtc24fUckA0X7Q2v+ML4a15pdUlV5V/jA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.62.0", + "@rollup/rollup-android-arm64": "4.62.0", + "@rollup/rollup-darwin-arm64": "4.62.0", + "@rollup/rollup-darwin-x64": "4.62.0", + "@rollup/rollup-freebsd-arm64": "4.62.0", + "@rollup/rollup-freebsd-x64": "4.62.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.62.0", + "@rollup/rollup-linux-arm-musleabihf": "4.62.0", + "@rollup/rollup-linux-arm64-gnu": "4.62.0", + "@rollup/rollup-linux-arm64-musl": "4.62.0", + "@rollup/rollup-linux-loong64-gnu": "4.62.0", + "@rollup/rollup-linux-loong64-musl": "4.62.0", + "@rollup/rollup-linux-ppc64-gnu": "4.62.0", + "@rollup/rollup-linux-ppc64-musl": "4.62.0", + "@rollup/rollup-linux-riscv64-gnu": "4.62.0", + "@rollup/rollup-linux-riscv64-musl": "4.62.0", + "@rollup/rollup-linux-s390x-gnu": "4.62.0", + "@rollup/rollup-linux-x64-gnu": "4.62.0", + "@rollup/rollup-linux-x64-musl": "4.62.0", + "@rollup/rollup-openbsd-x64": "4.62.0", + "@rollup/rollup-openharmony-arm64": "4.62.0", + "@rollup/rollup-win32-arm64-msvc": "4.62.0", + "@rollup/rollup-win32-ia32-msvc": "4.62.0", + "@rollup/rollup-win32-x64-gnu": "4.62.0", + "@rollup/rollup-win32-x64-msvc": "4.62.0", + "fsevents": "~2.3.2" + } + }, "node_modules/rtlcss": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.3.0.tgz", @@ -20454,6 +20761,27 @@ "dev": true, "license": "MIT" }, + "node_modules/sass": { + "version": "1.101.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.101.0.tgz", + "integrity": "sha512-OL3GoQyoUdDt843DpVmDO6y2k1sc5IhUDSpu8XucEI+35neq5QivZ1iuegnpraEVTJXlQGK1gl27zKcTLEPbQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^5.0.0", + "immutable": "^5.1.5", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=20.19.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, "node_modules/sax": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", @@ -20808,6 +21136,13 @@ "node": ">= 0.8.0" } }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true, + "license": "ISC" + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -21044,6 +21379,16 @@ "node": ">=8" } }, + "node_modules/smob": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.6.2.tgz", + "integrity": "sha512-RQsvleCbF8cVHEv+xuDGaA4pOizFqJ0GgjtMSRo6oP8pnN7WsigHgVGey6aILRBKv4W2YOMHLqbKdnB6hpB9fw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, "node_modules/snake-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", @@ -21077,15 +21422,6 @@ "node": ">= 6.3.0" } }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -21829,47 +22165,6 @@ "is-typedarray": "^1.0.0" } }, - "node_modules/uglify-js": { - "version": "3.19.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", - "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/underscore.string": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz", - "integrity": "sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==", - "dev": true, - "dependencies": { - "sprintf-js": "^1.1.1", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/underscore.string/node_modules/sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", - "dev": true - }, "node_modules/undici": { "version": "7.27.2", "resolved": "https://registry.npmjs.org/undici/-/undici-7.27.2.tgz", @@ -22203,15 +22498,6 @@ "punycode": "^2.1.0" } }, - "node_modules/uri-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz", - "integrity": "sha1-l0fwGDWJM8Md4PzP2C0TjmcmLjI=", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/url-loader": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", @@ -22329,18 +22615,6 @@ "uuid": "dist/esm/bin/uuid" } }, - "node_modules/v8flags": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", - "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", - "dev": true, - "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/value-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", @@ -22931,6 +23205,13 @@ "node": ">= 8" } }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true, + "license": "ISC" + }, "node_modules/widest-line": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", @@ -23024,12 +23305,6 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, "node_modules/write-file-atomic": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", @@ -23123,6 +23398,13 @@ "xml-js": "bin/cli.js" } }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true, + "license": "ISC" + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -23130,6 +23412,101 @@ "dev": true, "license": "ISC" }, + "node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yargs-parser/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true, + "license": "MIT" + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -24516,6 +24893,12 @@ "@babel/helper-validator-identifier": "^7.29.7" } }, + "@colordx/core": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/@colordx/core/-/core-5.4.3.tgz", + "integrity": "sha512-kIxYSfA5T8HXjav55UaaH/o/cKivF6jCCGIb8eqtcsfI46wsvlSiT8jMDyrl779qLec3c2c2oHBZo4oAhvbjrQ==", + "dev": true + }, "@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", @@ -25161,6 +25544,18 @@ "url-loader": "^4.1.1", "webpack": "^5.95.0", "webpackbar": "^7.0.0" + }, + "dependencies": { + "cssnano": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "dev": true, + "requires": { + "cssnano-preset-default": "^6.1.2", + "lilconfig": "^3.1.1" + } + } } }, "@docusaurus/core": { @@ -26580,6 +26975,132 @@ "fastq": "^1.6.0" } }, + "@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "dev": true, + "optional": true, + "requires": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6", + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + }, + "dependencies": { + "picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "optional": true + } + } + }, + "@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "dev": true, + "optional": true + }, + "@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "dev": true, + "optional": true + }, + "@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "dev": true, + "optional": true + }, + "@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "dev": true, + "optional": true + }, + "@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "dev": true, + "optional": true + }, + "@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "dev": true, + "optional": true + }, + "@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "dev": true, + "optional": true + }, + "@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "dev": true, + "optional": true + }, + "@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "dev": true, + "optional": true + }, + "@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "dev": true, + "optional": true + }, + "@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "dev": true, + "optional": true + }, + "@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "dev": true, + "optional": true + }, + "@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "dev": true, + "optional": true + }, "@peculiar/asn1-cms": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.8.0.tgz", @@ -26789,6 +27310,192 @@ "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", "dev": true }, + "@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "dev": true, + "requires": { + "serialize-javascript": "^7.0.5", + "smob": "^1.0.0", + "terser": "^5.17.4" + } + }, + "@rollup/rollup-android-arm-eabi": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.0.tgz", + "integrity": "sha512-IPIQ55ythEHkfEd9jMEi32OQ7SxURsGA43JI22lj01OLZNt2NUbJX8YUHxkVWyQ6daHPNn0truF5nSj3DQp6YQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-android-arm64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.0.tgz", + "integrity": "sha512-M6s9cr10MibETyo8JsOkq+Lo1+lU6hcvb1MApnUql5qte/5hMEgzlN8/ReIKNfRV8rrqX50W1BX9zoUhC192RA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-arm64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.0.tgz", + "integrity": "sha512-BqCoMoIbn0keKys+dEAdBa70EtOwV1bEsQCUgU9FdiZmmMge/Zk7LlkYGqbrdHR+Frnt0E1FOanly+rlwvvQzw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-x64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.0.tgz", + "integrity": "sha512-SIMzST3VFNXDAbeIWDWiFCNM5qncUBDWaEV7NfE7oZbDt2mgfW4MvbKdbYiGOLoM32gbTv608UMd0XktEYSD7w==", + "dev": true, + "optional": true + }, + "@rollup/rollup-freebsd-arm64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.0.tgz", + "integrity": "sha512-ezjfSQMP7ArdUsbBwbQIfwAlhE84I2iVnzQNCFSveqV42q+BmKlzVpf7mxv5EchLcoWU4y6/heFzVg1F+hodUQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-freebsd-x64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.0.tgz", + "integrity": "sha512-9+qTWGW9AZRhnUgwtTwzNwcPlL87ngkeN0LA+q1bADvmY9aNvWaF2TFW8BZgnQPYxpDI7+rMVLivcd4V737TAQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.0.tgz", + "integrity": "sha512-T1dMEQhXA/jkJ/jyMIw9IovK8bSUq7A8kLIlvZTb/6YIVsp2zLavr4F3oyllHWo7eIVJRyE5n3tUjQJEbE1IuQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-musleabihf": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.0.tgz", + "integrity": "sha512-2as0LgT7qQpyceQq6VUJYnumUMUrgGQCWIiDIN9DE0/tglsk6o66uCB4f3djRawAltvfCNLyZZrsqbPA6inCsA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.0.tgz", + "integrity": "sha512-bVURMg+6eNN9C/yc0aVjooZcwTTtYF4YW3xta5pP0//r3o1V8gXEHXWCndj47w/HhwsFroZrFhR+6uQP5T0n0g==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.0.tgz", + "integrity": "sha512-Ful8pM/2yYI83PViWdFdpZhdI8HJ5qsXANe5atypbHDf+KIBBDsZsbyy8hbXnULVvW9NsTh5DHwbcBftyLTfiw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-loong64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.0.tgz", + "integrity": "sha512-9Gp/DgrkzfUBmNPVTyPTvay+4xEP7M/clXpj3efXBcm6uTIVIgDg4rqUpqKXvLEuFRVuEpSAOkhgNeecvaZ4Cg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-loong64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.0.tgz", + "integrity": "sha512-m9tsJz54LUXkSYM8+8PG81B9IKK5r+2T0clMq4QrS16xFosufU7firBDAZEsDheDs7wTlP7h3++S7lMsU955HA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-ppc64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.0.tgz", + "integrity": "sha512-3UvJ5PNVU16aJf6M3tFI24pWzAl2/ynfbyRN3ICyQajK1lSkrnVYNnLz3v04J32qKa0FczJc22zeToc0lr2A3w==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-ppc64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.0.tgz", + "integrity": "sha512-vRWUAbYLGHBZS6Q8Msb2sfnf1fvJf+47t8l/TwOerM2qArzy+IeNMTHrYLHXh95h8MoatPHI5hhSZNs+mGXKPg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.0.tgz", + "integrity": "sha512-c00T5SYENHAt86cfW47URaP3Us5vLC/4QO7GYud1G5VNRffCwwCuBspwqYrriuJB+5m0WFzClCn9wed0FBjKvg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.0.tgz", + "integrity": "sha512-krrCDilhXOwFkSkO3Wm9I/f9H0L92XHHwy2fwxjukxIbh0dem8gZqOW5Y8BsHrpJv5qwlRBV+Wl4ZFyRWhUpwg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-s390x-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.0.tgz", + "integrity": "sha512-7pfYFSTc4/rUC/FtAI0Qp6QthDBCIi6/AuP1xYqFk5vanI6KnL5dWKP60OM/05LOsbwTmIcvr6eXC4CJuJ75IA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.0.tgz", + "integrity": "sha512-7SDIalKeIpG0Ifogbbdn58HmSotYMlf23K3dCJEmiVd9Fg36Vmni82iPQec27N3wY4Bvbxftkxz6vSx9OcouTg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.0.tgz", + "integrity": "sha512-eRZevouTH2i1HeAVLqJuLnt256krQkGY0TN6WsTmsIhuzbh457HuWDMakKwmi0Cjadux983CoSr8Lim2QhUIFw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-openbsd-x64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.0.tgz", + "integrity": "sha512-3oVS7FLGa4U1qcvao9ylGxrjXZyUQqR8UwxEcnUEyPX53O/C/mKDZegNXTdHCP+h3e6ta/f1EN38Yif1mmZHYg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-openharmony-arm64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.0.tgz", + "integrity": "sha512-yTB9TgfWj5wHe5QgktAgXTLLot1gvEjl1NiPPAUiCs4oPrIWFl5V4nC3GrkNdj9LaAU4s94nVrGbGOCqUpyWsg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.0.tgz", + "integrity": "sha512-5LOhoaesY3doG1c+ac/2JtgREpKoJr5bUHH8tKY0V8di7+uSV6BwLs2PlR0/yzefGOkR+wE7ZolZphHCsyG5Rw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.0.tgz", + "integrity": "sha512-yYkWHhmbhRTWTnWos5HC4GcPQfjlzzCNbM9e/+GXrLuaBXYA3qSDR9f0Vgufd5S8yX81U8jPKp7ZnAjZFMtRnw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.0.tgz", + "integrity": "sha512-SoTb6lPg25xZlA2ibwQ++ahCCnH+FP0qmEuafMJ4gznZKOlXioKEAeJLgCrqjM98ACziXM9V1amFjICVL4IFoA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-msvc": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.0.tgz", + "integrity": "sha512-5L+T1fMX4RIEBoZzT0+sQ0PhTS36NULFmMXtl1TZo44TMAROIMHbZufSOjVWt/Y622BtxgxtaNOokbTDvfsrZA==", + "dev": true, + "optional": true + }, "@sinclair/typebox": { "version": "0.27.10", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.10.tgz", @@ -27156,12 +27863,6 @@ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", "dev": true }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, "@types/ms": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", @@ -27495,12 +28196,6 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, "abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -27764,42 +28459,18 @@ "sprintf-js": "~1.0.2" } }, - "array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", - "dev": true - }, - "array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", - "dev": true - }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, - "array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "dev": true - }, "array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "dev": true - }, "asn1js": { "version": "3.0.10", "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.10.tgz", @@ -28350,6 +29021,54 @@ "readdirp": "^5.0.0" } }, + "chokidar-cli": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chokidar-cli/-/chokidar-cli-3.0.0.tgz", + "integrity": "sha512-xVW+Qeh7z15uZRxHOkP93Ux8A0xbPzwK4GaqD8dQOYc34TlkqUhVSS59fK36DOp5WdJlrRzlYSy02Ht99FjZqQ==", + "dev": true, + "requires": { + "chokidar": "^3.5.2", + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1", + "yargs": "^13.3.0" + }, + "dependencies": { + "chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + } + } + }, "chrome-trace-event": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", @@ -28420,11 +29139,91 @@ } } }, - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + } + } }, "clone-deep": { "version": "4.0.1", @@ -28476,12 +29275,6 @@ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - }, "combine-promises": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", @@ -28659,15 +29452,6 @@ "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", "dev": true }, - "copy-anything": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", - "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", - "dev": true, - "requires": { - "is-what": "^4.1.8" - } - }, "copy-text-to-clipboard": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.2.tgz", @@ -28889,6 +29673,18 @@ "postcss": "^8.4.24", "schema-utils": "^4.0.1", "serialize-javascript": "^7.0.5" + }, + "dependencies": { + "cssnano": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "dev": true, + "requires": { + "cssnano-preset-default": "^6.1.2", + "lilconfig": "^3.1.1" + } + } } }, "css-prefers-color-scheme": { @@ -28939,24 +29735,373 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true }, - "csslint": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/csslint/-/csslint-1.0.5.tgz", - "integrity": "sha1-Gcw+2jIhYP0/cjKvHLKjYOiYouk=", - "dev": true, - "requires": { - "clone": "~2.1.0", - "parserlib": "~1.1.1" - } - }, "cssnano": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", - "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "version": "7.1.9", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.1.9.tgz", + "integrity": "sha512-uPR75+5Dk/WJ/YSPR1/YDHdwMM9c5FsaARljfKWgeCKLKOtJ0we21xy/RcCjn53fZnD/f6yYEIZ8pu18+GnbNQ==", "dev": true, "requires": { - "cssnano-preset-default": "^6.1.2", - "lilconfig": "^3.1.1" + "cssnano-preset-default": "^7.0.17", + "lilconfig": "^3.1.3" + }, + "dependencies": { + "commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true + }, + "css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "dev": true, + "requires": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + } + }, + "cssnano-preset-default": { + "version": "7.0.17", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.17.tgz", + "integrity": "sha512-11qO63A+czwguQFJCaTdICvbaxn0pJzz/XghLlv+OT7WyToDxAMR0Xb3/26/l0y0hQJywwNbj/SLSQlGBHE1OA==", + "dev": true, + "requires": { + "browserslist": "^4.28.2", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^5.0.3", + "postcss-calc": "^10.1.1", + "postcss-colormin": "^7.0.10", + "postcss-convert-values": "^7.0.12", + "postcss-discard-comments": "^7.0.8", + "postcss-discard-duplicates": "^7.0.4", + "postcss-discard-empty": "^7.0.3", + "postcss-discard-overridden": "^7.0.3", + "postcss-merge-longhand": "^7.0.7", + "postcss-merge-rules": "^7.0.11", + "postcss-minify-font-values": "^7.0.3", + "postcss-minify-gradients": "^7.0.5", + "postcss-minify-params": "^7.0.9", + "postcss-minify-selectors": "^7.1.2", + "postcss-normalize-charset": "^7.0.3", + "postcss-normalize-display-values": "^7.0.3", + "postcss-normalize-positions": "^7.0.4", + "postcss-normalize-repeat-style": "^7.0.4", + "postcss-normalize-string": "^7.0.3", + "postcss-normalize-timing-functions": "^7.0.3", + "postcss-normalize-unicode": "^7.0.9", + "postcss-normalize-url": "^7.0.3", + "postcss-normalize-whitespace": "^7.0.3", + "postcss-ordered-values": "^7.0.4", + "postcss-reduce-initial": "^7.0.9", + "postcss-reduce-transforms": "^7.0.3", + "postcss-svgo": "^7.1.3", + "postcss-unique-selectors": "^7.0.7" + } + }, + "cssnano-utils": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.3.tgz", + "integrity": "sha512-ynIREMICLxkxm7e9bCR9sh75s4Q5drICi0ua1yxo5jH2XPBqSKkl4dOh4EbFqtUmnTMhRffHgYL0EKKkMjtJTg==", + "dev": true, + "requires": {} + }, + "mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "dev": true + }, + "postcss-calc": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.1.1.tgz", + "integrity": "sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw==", + "dev": true, + "requires": { + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.10.tgz", + "integrity": "sha512-yFr6JezOolHLta/buLE71VKPh2mXursp4saVe98/ol8ZnEWhL+racShqPKlvd/DKWLre/39B6HhcMXf7RZ3hxg==", + "dev": true, + "requires": { + "@colordx/core": "^5.4.3", + "browserslist": "^4.28.2", + "caniuse-api": "^3.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.12.tgz", + "integrity": "sha512-xurKu5qqk4viR3Cp3p4xBR4KfnZm4w4ys6+UBwBmeuBSNkH7+DtLnYOYnOffgtE4yx8sH9S1VZ6RAAvROXzP2Q==", + "dev": true, + "requires": { + "browserslist": "^4.28.2", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-discard-comments": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.8.tgz", + "integrity": "sha512-CvvS5S9WrXblFXCEJ9nVo+4z+eA7zSC7Z88V1HEJuwlQhlFnYTIjg1xJY+BCUiG2bvICap2tXii4mP22BD108Q==", + "dev": true, + "requires": { + "postcss-selector-parser": "^7.1.1" + } + }, + "postcss-discard-duplicates": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.4.tgz", + "integrity": "sha512-VBNn1+EuMZkeGVVtz0gRfbNGtx9IFgAsAV+E2pHtXPrp4qfGBkhTIiAuE/wrb+Y6Pakg9NewAlfTpYIFAWODtw==", + "dev": true, + "requires": {} + }, + "postcss-discard-empty": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.3.tgz", + "integrity": "sha512-M2pyjQCU+/7cMHVtL6bKTHjv0lZnPLMpicgr67Dlth7AbuV9gjVTtUqaRwn6Pp6BwSDspUzhz8SaUrRykJU5Dw==", + "dev": true, + "requires": {} + }, + "postcss-discard-overridden": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.3.tgz", + "integrity": "sha512-aNovXo9UsZuRNLzHJtp13lHIvinDPfiXBPePpXkSjCbgp++iU2FqE+YxvjIsg6EdyPZsASFbfu+JcBFVsErXIQ==", + "dev": true, + "requires": {} + }, + "postcss-merge-longhand": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.7.tgz", + "integrity": "sha512-b3mfYUxR388u5Pt0HPcVIUtUDn/k15UfTY9M+ORW+meCR6JLNxoZffiYvXyOYQoRYQNZyX/UFkMCM/mNHxe1qA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^7.0.11" + } + }, + "postcss-merge-rules": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.11.tgz", + "integrity": "sha512-SJUPM18g2BmPhf8BVlbwqWz4aK3pLu6u6xjfwEzra7xL6IBR10sUaiB++EzqcVfadPHrKBSMlNdP+XieykhI+Q==", + "dev": true, + "requires": { + "browserslist": "^4.28.2", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^5.0.3", + "postcss-selector-parser": "^7.1.1" + } + }, + "postcss-minify-font-values": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-7.0.3.tgz", + "integrity": "sha512-yilG/VOaNI74IylQvAQQxm3/wZVBkXyYUqNUAdxqwtbWUXPsbK1q8Ms0mL83v+f8YicgcyfYCRZtWACUdYajpA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-7.0.5.tgz", + "integrity": "sha512-YraROyQRg3BI1+Hg8E05B/JPdnTm8EDSVu4P2BxdM+CRiOyfmou809+chGIqo6fQqwjPGQ947nbGncSjmTU1WQ==", + "dev": true, + "requires": { + "@colordx/core": "^5.4.3", + "cssnano-utils": "^5.0.3", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.9.tgz", + "integrity": "sha512-R8itbB8BhlpoYyBm1ou0dD+vJnQ3F6adQipR4UnkCHUwlo+S9WXJaDRg1RHjC8YVAtIdrQzSWvJl40HnGDTKjA==", + "dev": true, + "requires": { + "browserslist": "^4.28.2", + "cssnano-utils": "^5.0.3", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.1.2.tgz", + "integrity": "sha512-aQtrEWKwqafNlExcKHQvPGsXR2+vlUqqJtf5XsCQcgsSb5PL4wlujWBYDJuWsP4UnQX1YHDHU8qRlD+1PzTQ+Q==", + "dev": true, + "requires": { + "browserslist": "^4.28.1", + "caniuse-api": "^3.0.0", + "cssesc": "^3.0.0", + "postcss-selector-parser": "^7.1.1" + } + }, + "postcss-normalize-charset": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-7.0.3.tgz", + "integrity": "sha512-NoBfZu8PR4c2NlmjvrqQTzCzLY79hwcSRgNQ3ZiNK0ABzf9kYKloE/jNj+/8GQY1wsm8pRRgANk6ydLH8cwo0Q==", + "dev": true, + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.3.tgz", + "integrity": "sha512-ldsCX0QIt05pKIOobZtVQ48wXJecr+czw4+e1/YjVhLMqslShgpVxgPtI2CefURR8oyVoYaU/l829MMwExDMLw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-7.0.4.tgz", + "integrity": "sha512-VEvlpeGd3Ju1Hqa/oN4jaP3+ms4laYwkEL9N9u+B6k54PZjXbW1n6wI+aVprf1BQXlCYpS5+1pl/7/vHiKgARg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.4.tgz", + "integrity": "sha512-6mPKlY/8cSaDHxX502wERADarJsccwlky6yIrOapHH2ZgfoKAV94SbiTKfKEs4EEpdazuc3J72WsqeYk7hp9+Q==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-7.0.3.tgz", + "integrity": "sha512-HnEQPUchi1eznmDKEYrKUTqrprEq97SrpUYClgUkv7V2zRODD9DFoUsYU+m9ZOetmD5ku7fEMZB/lwy8IT6xVQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.3.tgz", + "integrity": "sha512-zmEzHdvpZBZu0OKlbJSfgASQvaayyAoVuWtvyr34IJ/LyS+DaOKvvR3EvFJ9RWWtNIx+CMvO125OVophaxNYew==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.9.tgz", + "integrity": "sha512-DRAdWfeh/TjmhLJsw91vdiWCnUod9iwvM7xyS02/nF/sLsCR3A8l3pztrSUrWG8DSBqfX7yEk9FM0USaVJ2mSg==", + "dev": true, + "requires": { + "browserslist": "^4.28.2", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-7.0.3.tgz", + "integrity": "sha512-CL93wmloq5qsffmFv+bw24MIRbmhHrp53qoh1LDAb/5TtjWEXI/np4xcP/Gw9oWCb2XyWnqHYLDUwiKRoJBA1Q==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.3.tgz", + "integrity": "sha512-FdHjjn+Ht5Z2ZRjNOmeCbNq6lq09sUYKpmlF/Aq0XjVNSLTL6fmHlA/3swN2wP2caY9GV/tjSDcIIyS7aN7W0A==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-ordered-values": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-7.0.4.tgz", + "integrity": "sha512-nubSi49hDHQk4E8KIj+IbLY8Bg+8OcSUEhgyolgM+atnOvXjV7EjaR6bac4YGZoFyPa9mWoAF3EaYbWdFkKqVg==", + "dev": true, + "requires": { + "cssnano-utils": "^5.0.3", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reduce-initial": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.9.tgz", + "integrity": "sha512-ztTNPdIxXTxtBcG03E9u8v44M4ElXbMIRT7pf2onlquGula0Y83nKKxqM22FA/hMgkfCjN7ohevkVlaNwI8iOQ==", + "dev": true, + "requires": { + "browserslist": "^4.28.2", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.3.tgz", + "integrity": "sha512-FXsnN9ZwcZTT8Yf8cAHA8qIGUXcX6WfLd9JoYhrdDfmvsVhhfqkkv7m4AC3rwFOfz+GzkUa87OCKF9dUcicd+g==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-selector-parser": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.4.tgz", + "integrity": "sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.1.3.tgz", + "integrity": "sha512-2QfoFOYMcj8lwcVEf9WeTlkVIAm7u2QvOEhMzkQU3KUhhGX/l8hVV9EtjMv4iq3E9iI3OeeMN0YoMLbGusuigw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^4.0.1" + } + }, + "postcss-unique-selectors": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.7.tgz", + "integrity": "sha512-d+sCkaRnSefghOUdH8CMJZV9yUQhj2ojpe8Nw/lA+LV1UOfeleGkLTl6XdCFFSai9UJ+DJPb69FFuqthXYsY8w==", + "dev": true, + "requires": { + "postcss-selector-parser": "^7.1.1" + } + }, + "stylehacks": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.11.tgz", + "integrity": "sha512-iODNfhXVLqc5LADs+Y6Oh5wJuK5ZcHbVng8aiK3y9pjMQdc5hLrBW0eFU6FtnpNrE6PoEg/MmFTU4waotj5WNg==", + "dev": true, + "requires": { + "browserslist": "^4.28.2", + "postcss-selector-parser": "^7.1.1" + } + }, + "svgo": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.1.tgz", + "integrity": "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==", + "dev": true, + "requires": { + "commander": "^11.1.0", + "css-select": "^5.1.0", + "css-tree": "^3.0.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "^1.5.0" + } + } } }, "cssnano-preset-advanced": { @@ -29052,12 +30197,6 @@ "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", "dev": true }, - "dateformat": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", - "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", - "dev": true - }, "debounce": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", @@ -29073,6 +30212,12 @@ "ms": "^2.1.3" } }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true + }, "decode-named-character-reference": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", @@ -29185,11 +30330,12 @@ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true + "detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "optional": true }, "detect-node": { "version": "2.1.0", @@ -29398,16 +30544,6 @@ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "optional": true, - "requires": { - "prr": "~1.0.1" - } - }, "error-ex": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", @@ -29486,12 +30622,6 @@ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, "eslint": { "version": "9.39.4", "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", @@ -29806,21 +30936,6 @@ } } }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, "express": { "version": "4.22.2", "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", @@ -30003,15 +31118,6 @@ "xml-js": "^1.6.11" } }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, "file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -30044,12 +31150,6 @@ } } }, - "file-sync-cmp": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", - "integrity": "sha1-peeo/7+kk7Q7kju9TKiaU7Y7YSs=", - "dev": true - }, "fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -30110,37 +31210,6 @@ "locate-path": "^3.0.0" } }, - "findup-sync": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", - "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.3", - "micromatch": "^4.0.4", - "resolve-dir": "^1.0.1" - } - }, - "fined": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", - "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^2.0.3", - "object.defaults": "^1.1.0", - "object.pick": "^1.2.0", - "parse-filepath": "^1.0.1" - } - }, - "flagged-respawn": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", - "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", - "dev": true - }, "flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", @@ -30169,21 +31238,6 @@ "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", "dev": true }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, "form-data-encoder": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", @@ -30225,12 +31279,6 @@ "universalify": "^2.0.0" } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -30250,6 +31298,12 @@ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, "get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -30290,32 +31344,12 @@ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true }, - "getobject": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz", - "integrity": "sha512-2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg==", - "dev": true - }, "github-slugger": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", "dev": true }, - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, "glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -30347,47 +31381,6 @@ "ini": "2.0.0" } }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - }, - "dependencies": { - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, "globals": { "version": "17.6.0", "resolved": "https://registry.npmjs.org/globals/-/globals-17.6.0.tgz", @@ -30459,379 +31452,12 @@ "strip-bom-string": "^1.0.0" } }, - "grunt": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.6.2.tgz", - "integrity": "sha512-bUzh5nA/P5L66ihXTDP6J5BGnMB/8lXJXejYWSbH4Y4TvWM9t2S39sggQDYYQlx06cYcCsmu63HMYHGCIzUVfg==", - "dev": true, - "requires": { - "dateformat": "~4.6.2", - "eventemitter2": "~0.4.13", - "exit": "~0.1.2", - "findup-sync": "~5.0.0", - "glob": "~7.1.6", - "grunt-cli": "^1.4.3", - "grunt-known-options": "~2.0.0", - "grunt-legacy-log": "~3.0.0", - "grunt-legacy-util": "~2.0.1", - "iconv-lite": "~0.6.3", - "js-yaml": "~3.14.0", - "minimatch": "^3.1.5", - "nopt": "^5.0.0" - }, - "dependencies": { - "eventemitter2": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", - "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", - "dev": true - } - } - }, - "grunt-banner": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/grunt-banner/-/grunt-banner-0.6.0.tgz", - "integrity": "sha512-50H/Wxydlf+ifve5Jzcz9oB4jr6oCGEPyfhEDUsl2NEMX80cWUJqVMXSHBr2n9Rb3nd+rRSKeQzqNxWrqoyQ1A==", - "dev": true, - "requires": { - "chalk": "^1.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "grunt-cli": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", - "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", - "dev": true, - "requires": { - "grunt-known-options": "~2.0.0", - "interpret": "~1.1.0", - "liftup": "~3.0.1", - "nopt": "~4.0.1", - "v8flags": "~3.2.0" - }, - "dependencies": { - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "dev": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - } - } - }, - "grunt-contrib-clean": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-2.0.1.tgz", - "integrity": "sha512-uRvnXfhiZt8akb/ZRDHJpQQtkkVkqc/opWO4Po/9ehC2hPxgptB9S6JHDC/Nxswo4CJSM0iFPT/Iym3cEMWzKA==", - "dev": true, - "requires": { - "async": "^3.2.3", - "rimraf": "^2.6.2" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "grunt-contrib-concat": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-2.1.0.tgz", - "integrity": "sha512-Vnl95JIOxfhEN7bnYIlCgQz41kkbi7tsZ/9a4usZmxNxi1S2YAIOy8ysFmO8u4MN26Apal1O106BwARdaNxXQw==", - "dev": true, - "requires": { - "chalk": "^4.1.2", - "source-map": "^0.5.3" - } - }, - "grunt-contrib-copy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", - "integrity": "sha512-gFRFUB0ZbLcjKb67Magz1yOHGBkyU6uL29hiEW1tdQ9gQt72NuMKIy/kS6dsCbV0cZ0maNCb0s6y+uT1FKU7jA==", - "dev": true, - "requires": { - "chalk": "^1.1.1", - "file-sync-cmp": "^0.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "grunt-contrib-csslint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-csslint/-/grunt-contrib-csslint-2.0.0.tgz", - "integrity": "sha512-op9Adig+K90UyWGE4rQ6AWR5HOnOdtLDVizTueitvtSoIBcGm5OpQmKI9RcLfAn6x8IM4aKMkU15ITtXD6Aemg==", - "dev": true, - "requires": { - "chalk": "^1.0.0", - "csslint": "^1.0.0", - "lodash": "^4.18.1", - "strip-json-comments": "^2.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "grunt-contrib-cssmin": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-5.0.0.tgz", - "integrity": "sha512-SNp4H4+85mm2xaHYi83FBHuOXylpi5vcwgtNoYCZBbkgeXQXoeTAKa59VODRb0woTDBvxouP91Ff5PzCkikg6g==", - "dev": true, - "requires": { - "chalk": "^4.1.2", - "clean-css": "^5.3.2", - "maxmin": "^3.0.0" - } - }, - "grunt-contrib-less": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-3.0.0.tgz", - "integrity": "sha512-fBB8MUDCo5EgT7WdOVQnZq4GF+XCeFdnkhaxI7uepp8P973sH1jdodjF87c6d9WSHKgArJAGP5JEtthhdKVovg==", - "dev": true, - "requires": { - "async": "^3.2.0", - "chalk": "^4.1.0", - "less": "^4.1.1", - "lodash": "^4.18.1" - } - }, - "grunt-contrib-uglify": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-5.2.2.tgz", - "integrity": "sha512-ITxiWxrjjP+RZu/aJ5GLvdele+sxlznh+6fK9Qckio5ma8f7Iv8woZjRkGfafvpuygxNefOJNc+hfjjBayRn2Q==", - "dev": true, - "requires": { - "chalk": "^4.1.2", - "maxmin": "^3.0.0", - "uglify-js": "^3.16.1", - "uri-path": "^1.0.0" - } - }, - "grunt-eslint": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-26.0.0.tgz", - "integrity": "sha512-HP/Mu00nBtdLDk0i1V1gLplYBgce4nBjxwmtpo3Eit/h5OUzGxEsgBxprkT4I5bN1x79w6wDnrN+7CX29OZatg==", - "dev": true, - "requires": { - "chalk": "^4.1.2", - "eslint": "^9.22.0" - } - }, - "grunt-known-options": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz", - "integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==", - "dev": true - }, - "grunt-legacy-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz", - "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==", - "dev": true, - "requires": { - "colors": "~1.1.2", - "grunt-legacy-log-utils": "~2.1.0", - "hooker": "~0.2.3", - "lodash": "^4.18.1" - } - }, - "grunt-legacy-log-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz", - "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==", - "dev": true, - "requires": { - "chalk": "~4.1.0", - "lodash": "^4.18.1" - } - }, - "grunt-legacy-util": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz", - "integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==", - "dev": true, - "requires": { - "async": "~3.2.0", - "exit": "~0.1.2", - "getobject": "~1.0.0", - "hooker": "~0.2.3", - "lodash": "^4.18.1", - "underscore.string": "~3.3.5", - "which": "~2.0.2" - } - }, - "grunt-version": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/grunt-version/-/grunt-version-3.0.2.tgz", - "integrity": "sha512-tD/RCuwRaHnKa7Mdh9Hh0lA+Ia1ossIw0R5kVQ2g64KHKB8zT7huBsdkoJ5WHgkUHC7DPGbR6v2K/N0CGVsHZg==", - "dev": true, - "requires": { - "grunt": "^1.6.1", - "semver": "^7.6.3" - } - }, - "gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", - "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", - "dev": true, - "requires": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - } - }, "handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - } - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -31027,21 +31653,6 @@ "react-is": "^16.7.0" } }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "hooker": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", - "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", - "dev": true - }, "hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", @@ -31288,19 +31899,18 @@ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true }, - "image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", - "dev": true, - "optional": true - }, "immediate": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==", "dev": true }, + "immutable": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.6.tgz", + "integrity": "sha512-q1swsS8K7L8usSHuOqF2TAoCCkonYz0SG38wLAggaa4Wml70zixIvt2ql4coQ2C2B3hTjltJry4r6bULwgAXLQ==", + "dev": true + }, "import-fresh": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", @@ -31335,16 +31945,6 @@ "integrity": "sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==", "dev": true }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -31363,12 +31963,6 @@ "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", "dev": true }, - "interpret": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", - "dev": true - }, "invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -31384,16 +31978,6 @@ "integrity": "sha512-9VGk3HGanVE6JoZXHiCpnGy5X0jYDnN4EA4lntFPj+1vIWlFhIylq2CrrCOJH9EAhc5CYhq18F2Av2tgoAPsYQ==", "dev": true }, - "is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "dev": true, - "requires": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - } - }, "is-alphabetical": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", @@ -31566,15 +32150,6 @@ "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", "dev": true }, - "is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "dev": true, - "requires": { - "is-unc-path": "^1.0.0" - } - }, "is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", @@ -31587,27 +32162,6 @@ "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true }, - "is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "dev": true, - "requires": { - "unc-path-regex": "^0.1.2" - } - }, - "is-what": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", - "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, "is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -31840,32 +32394,6 @@ } } }, - "less": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/less/-/less-4.6.4.tgz", - "integrity": "sha512-OJmO5+HxZLLw0RLzkqaNHzcgEAQG7C0y3aMbwtCzIUFZsLMNNq/1IdAdHEycQ58CwUO3jPTHmoN+tE5I7FQxNg==", - "dev": true, - "requires": { - "copy-anything": "^3.0.5", - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^3.1.0", - "parse-node-version": "^1.0.1", - "source-map": "~0.6.0" - }, - "dependencies": { - "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, - "optional": true - } - } - }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -31882,36 +32410,6 @@ "type-check": "~0.4.0" } }, - "liftup": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz", - "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==", - "dev": true, - "requires": { - "extend": "^3.0.2", - "findup-sync": "^4.0.0", - "fined": "^1.2.0", - "flagged-respawn": "^1.0.1", - "is-plain-object": "^2.0.4", - "object.map": "^1.0.1", - "rechoir": "^0.7.0", - "resolve": "^1.19.0" - }, - "dependencies": { - "findup-sync": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", - "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^4.0.2", - "resolve-dir": "^1.0.1" - } - } - } - }, "lilconfig": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", @@ -31924,18 +32422,6 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, - "load-grunt-tasks": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-5.1.0.tgz", - "integrity": "sha512-oNj0Jlka1TsfDe+9He0kcA1cRln+TMoTsEByW7ij6kyktNLxBKJtslCFEvFrLC2Dj0S19IWJh3fOCIjLby2Xrg==", - "dev": true, - "requires": { - "arrify": "^2.0.1", - "multimatch": "^4.0.0", - "pkg-up": "^3.1.0", - "resolve-pkg": "^2.0.0" - } - }, "loader-runner": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz", @@ -31987,6 +32473,12 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "dev": true + }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -32044,41 +32536,6 @@ "integrity": "sha512-3LVgE7ekWXt04NBci/hjm+NXJxXZeRXuyClL0kA0HONyBOjxhP3ZQkuWIM4Ok3pbeptUW/rj3XcJcJuJVPwPYA==", "dev": true }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "optional": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "optional": true - } - } - }, - "make-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, "mark.js": { "version": "8.11.1", "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", @@ -32103,18 +32560,6 @@ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "dev": true }, - "maxmin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-3.0.0.tgz", - "integrity": "sha512-wcahMInmGtg/7c6a75fr21Ch/Ks1Tb+Jtoan5Ft4bAI0ZvJqyOw8kkM7e7p8hDSzY805vmxwHT50KcjGwKyJ0g==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "figures": "^3.2.0", - "gzip-size": "^5.1.1", - "pretty-bytes": "^5.3.0" - } - }, "mdast-util-directive": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz", @@ -33541,19 +33986,6 @@ "thunky": "^1.0.2" } }, - "multimatch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", - "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", - "dev": true, - "requires": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" - } - }, "nanoid": { "version": "3.3.12", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", @@ -33566,17 +33998,6 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "needle": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.5.0.tgz", - "integrity": "sha512-jaQyPKKk2YokHrEg+vFDYxXIHTCBgiZwSHOoVx/8V3GIBS8/VN6NdVRmg8q1ERtPkMvmOvebsgga4sAj5hls/w==", - "dev": true, - "optional": true, - "requires": { - "iconv-lite": "^0.6.3", - "sax": "^1.2.4" - } - }, "negotiator": { "version": "0.6.4", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", @@ -33599,6 +34020,13 @@ "tslib": "^2.0.3" } }, + "node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "optional": true + }, "node-emoji": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.2.0.tgz", @@ -33617,15 +34045,6 @@ "integrity": "sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==", "dev": true }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dev": true, - "requires": { - "abbrev": "1" - } - }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -33717,37 +34136,6 @@ "object-keys": "^1.1.1" } }, - "object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", - "dev": true, - "requires": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "object.map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", - "dev": true, - "requires": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, "obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -33769,15 +34157,6 @@ "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", "dev": true }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, "onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -33818,28 +34197,6 @@ "word-wrap": "^1.2.5" } }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, "p-cancelable": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", @@ -33969,17 +34326,6 @@ } } }, - "parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", - "dev": true, - "requires": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - } - }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -33992,24 +34338,12 @@ "lines-and-columns": "^1.1.6" } }, - "parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true - }, "parse-numeric-range": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", "dev": true }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, "parse5": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", @@ -34046,12 +34380,6 @@ "parse5": "^7.0.0" } }, - "parserlib": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/parserlib/-/parserlib-1.1.1.tgz", - "integrity": "sha1-pkz6ckBiQ0/fw1HJpOwtkrlMBvQ=", - "dev": true - }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -34074,12 +34402,6 @@ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", @@ -34098,21 +34420,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", - "dev": true, - "requires": { - "path-root-regex": "^0.1.0" - } - }, - "path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", - "dev": true - }, "path-to-regexp": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", @@ -34148,12 +34455,6 @@ "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "dev": true }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, "pkg-dir": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", @@ -34214,15 +34515,6 @@ } } }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, "pkijs": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.4.0.tgz", @@ -35080,12 +35372,6 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, - "pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "dev": true - }, "pretty-error": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", @@ -35181,13 +35467,6 @@ } } }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "optional": true - }, "punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -35454,15 +35733,6 @@ "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", "dev": true }, - "rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "requires": { - "resolve": "^1.9.0" - } - }, "recma-build-jsx": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", @@ -35781,6 +36051,12 @@ } } }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, "require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -35793,6 +36069,12 @@ "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", "dev": true }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -35817,16 +36099,6 @@ "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", "dev": true }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - } - }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -35839,23 +36111,6 @@ "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", "dev": true }, - "resolve-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-2.0.0.tgz", - "integrity": "sha512-+1lzwXehGCXSeryaISr6WujZzowloigEofRB+dj75y9RRa/obVcYgbHJd53tdYw8pvZj8GojXaaENws8Ktw/hQ==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, "responselike": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", @@ -35877,6 +36132,41 @@ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true }, + "rollup": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.0.tgz", + "integrity": "sha512-nc72Wgq62I7rtDV4izT5/aaS0zxy3kttkinf9586ApknY3jZO9NYsmtc24fUckA0X7Q2v+ML4a15pdUlV5V/jA==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.62.0", + "@rollup/rollup-android-arm64": "4.62.0", + "@rollup/rollup-darwin-arm64": "4.62.0", + "@rollup/rollup-darwin-x64": "4.62.0", + "@rollup/rollup-freebsd-arm64": "4.62.0", + "@rollup/rollup-freebsd-x64": "4.62.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.62.0", + "@rollup/rollup-linux-arm-musleabihf": "4.62.0", + "@rollup/rollup-linux-arm64-gnu": "4.62.0", + "@rollup/rollup-linux-arm64-musl": "4.62.0", + "@rollup/rollup-linux-loong64-gnu": "4.62.0", + "@rollup/rollup-linux-loong64-musl": "4.62.0", + "@rollup/rollup-linux-ppc64-gnu": "4.62.0", + "@rollup/rollup-linux-ppc64-musl": "4.62.0", + "@rollup/rollup-linux-riscv64-gnu": "4.62.0", + "@rollup/rollup-linux-riscv64-musl": "4.62.0", + "@rollup/rollup-linux-s390x-gnu": "4.62.0", + "@rollup/rollup-linux-x64-gnu": "4.62.0", + "@rollup/rollup-linux-x64-musl": "4.62.0", + "@rollup/rollup-openbsd-x64": "4.62.0", + "@rollup/rollup-openharmony-arm64": "4.62.0", + "@rollup/rollup-win32-arm64-msvc": "4.62.0", + "@rollup/rollup-win32-ia32-msvc": "4.62.0", + "@rollup/rollup-win32-x64-gnu": "4.62.0", + "@rollup/rollup-win32-x64-msvc": "4.62.0", + "@types/estree": "1.0.9", + "fsevents": "~2.3.2" + } + }, "rtlcss": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.3.0.tgz", @@ -35924,6 +36214,18 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, + "sass": { + "version": "1.101.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.101.0.tgz", + "integrity": "sha512-OL3GoQyoUdDt843DpVmDO6y2k1sc5IhUDSpu8XucEI+35neq5QivZ1iuegnpraEVTJXlQGK1gl27zKcTLEPbQw==", + "dev": true, + "requires": { + "@parcel/watcher": "^2.4.1", + "chokidar": "^5.0.0", + "immutable": "^5.1.5", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, "sax": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", @@ -36190,6 +36492,12 @@ "send": "~0.19.1" } }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, "set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -36352,6 +36660,12 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, + "smob": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.6.2.tgz", + "integrity": "sha512-RQsvleCbF8cVHEv+xuDGaA4pOizFqJ0GgjtMSRo6oP8pnN7WsigHgVGey6aILRBKv4W2YOMHLqbKdnB6hpB9fw==", + "dev": true + }, "snake-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", @@ -36379,12 +36693,6 @@ "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==", "dev": true }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, "source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -36873,36 +37181,6 @@ "is-typedarray": "^1.0.0" } }, - "uglify-js": { - "version": "3.19.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", - "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", - "dev": true - }, - "unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", - "dev": true - }, - "underscore.string": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz", - "integrity": "sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==", - "dev": true, - "requires": { - "sprintf-js": "^1.1.1", - "util-deprecate": "^1.0.2" - }, - "dependencies": { - "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", - "dev": true - } - } - }, "undici": { "version": "7.27.2", "resolved": "https://registry.npmjs.org/undici/-/undici-7.27.2.tgz", @@ -37113,12 +37391,6 @@ "punycode": "^2.1.0" } }, - "uri-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz", - "integrity": "sha1-l0fwGDWJM8Md4PzP2C0TjmcmLjI=", - "dev": true - }, "url-loader": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", @@ -37188,15 +37460,6 @@ "integrity": "sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==", "dev": true }, - "v8flags": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", - "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, "value-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", @@ -37565,6 +37828,12 @@ "isexe": "^2.0.0" } }, + "which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, "widest-line": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", @@ -37620,12 +37889,6 @@ } } }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, "write-file-atomic": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", @@ -37680,12 +37943,94 @@ "sax": "^1.2.4" } }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index 353b35c..d327639 100644 --- a/package.json +++ b/package.json @@ -1,17 +1,18 @@ { "name": "@crestapps/bootstrap-select", "title": "bootstrap-select", - "main": "dist/js/bootstrap-select.js", + "main": "dist/js/bootstrap-select.cjs", "module": "dist/js/bootstrap-select.esm.mjs", "style": "dist/css/bootstrap-select.min.css", "exports": { ".": { "import": "./dist/js/bootstrap-select.esm.mjs", - "require": "./dist/js/bootstrap-select.js", + "require": "./dist/js/bootstrap-select.cjs", "default": "./dist/js/bootstrap-select.js" }, "./dist/css/bootstrap-select.css": "./dist/css/bootstrap-select.css", "./dist/css/bootstrap-select.min.css": "./dist/css/bootstrap-select.min.css", + "./dist/js/bootstrap-select.cjs": "./dist/js/bootstrap-select.cjs", "./dist/js/bootstrap-select.js": "./dist/js/bootstrap-select.js", "./dist/js/bootstrap-select.min.js": "./dist/js/bootstrap-select.min.js", "./dist/js/bootstrap-select.esm.mjs": "./dist/js/bootstrap-select.esm.mjs" @@ -21,14 +22,13 @@ "files": [ "dist", "js", - "less", "sass", "LICENSE", "README.md" ], "description": "A dependency-free, vanilla JavaScript plugin that brings select elements into the 21st century with intuitive multiselection, searching, and much more. Supports Bootstrap 5+. Forked from snapappointments/bootstrap-select with jQuery and Bootstrap 3/4 support removed.", - "version": "1.1.2", - "homepage": "https://github.com/CrestApps/crestapps-bootstrap-select", + "version": "1.2.0", + "homepage": "https://github.com/CrestApps/bootstrap-select", "author": { "name": "CrestApps", "url": "https://github.com/CrestApps" @@ -49,10 +49,10 @@ ], "repository": { "type": "git", - "url": "git+https://github.com/CrestApps/crestapps-bootstrap-select.git" + "url": "git+https://github.com/CrestApps/bootstrap-select.git" }, "bugs": { - "url": "https://github.com/CrestApps/crestapps-bootstrap-select/issues" + "url": "https://github.com/CrestApps/bootstrap-select/issues" }, "license": "MIT", "publishConfig": { @@ -71,38 +71,38 @@ "@popperjs/core": "^2.11.8", "archiver": "^8.0.0", "autoprefixer": "^10.5.0", + "@rollup/plugin-terser": "^0.4.4", "bootstrap": "^5.3.8", - "chokidar": "^5.0.0", + "chokidar-cli": "^3.0.0", "clsx": "^2.1.1", + "cssnano": "^7.1.1", + "eslint": "^9.29.0", "globals": "^17.6.0", - "grunt": "^1.6.2", - "grunt-banner": "^0.6.0", - "grunt-contrib-clean": "^2.0.1", - "grunt-contrib-concat": "^2.1.0", - "grunt-contrib-copy": "^1.0.0", - "grunt-contrib-csslint": "^2.0.0", - "grunt-contrib-cssmin": "^5.0.0", - "grunt-contrib-less": "^3.0.0", - "grunt-contrib-uglify": "^5.2.2", - "grunt-eslint": "^26.0.0", - "grunt-version": "^3.0.2", - "load-grunt-tasks": "^5.1.0", "postcss": "^8.5.15", "prism-react-renderer": "^2.4.1", "react": "^19.2.7", "react-dom": "^19.2.7", + "rollup": "^4.44.1", + "sass": "^1.89.2", "webpack": "^5.107.2" }, "scripts": { - "build": "grunt build", + "clean": "npm run clean:css && npm run clean:js", + "clean:css": "node scripts/clean.js dist/css", + "clean:js": "node scripts/clean.js dist/js", + "build": "npm run lint && npm run build:css && npm run build:js", + "build:css": "npm run clean:css && node scripts/build-css.js", + "build:js": "npm run clean:js && rollup -c", "docs:build": "npm run docs:prepare && docusaurus build docs --out-dir .pages-build", "docs:clear": "docusaurus clear docs", "docs:pages": "node scripts/publish-docs-to-pages.js", - "docs:prepare": "npm run build && grunt copy-docs", - "docs:serve": "docusaurus serve docs", + "docs:prepare": "npm run build && node scripts/copy-dist-to-docs.js", + "docs:serve": "npm run docs:build && docusaurus serve docs --dir .pages-build", "docs:start": "npm run docs:prepare && docusaurus start docs", - "lint": "grunt lint", - "test": "playwright test" + "dist": "npm run build && node scripts/create-dist-archive.js && node scripts/copy-dist-to-docs.js", + "lint": "eslint js/bootstrap-select.helpers.js js/bootstrap-select.search.js js/bootstrap-select.constants.js js/i18n/*.js rollup.config.js scripts/**/*.js", + "test": "playwright test", + "watch": "npm run build && chokidar \"js/**/*.js\" \"sass/**/*.scss\" -c \"npm run build\"" }, "browserslist": [ "Chrome >= 60", diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..fb1b630 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,155 @@ +const fs = require('fs'); +const path = require('path'); +const terser = require('@rollup/plugin-terser'); + +const repoRoot = __dirname; +const packagePath = path.join(repoRoot, 'package.json'); +const packageJson = JSON.parse(fs.readFileSync(packagePath, 'utf8')); +const currentYear = new Date().getFullYear(); +const banner = [ + '/*!', + ` * Bootstrap-select v${packageJson.version} (${packageJson.homepage})`, + ' *', + ' * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select', + ' * Copyright 2012-2018 SnapAppointments, LLC (original work)', + ` * Fork modifications Copyright 2024-${currentYear} CrestApps`, + ' * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)', + ' */' +].join('\n'); + +const jsSources = [ + 'js/bootstrap-select.helpers.js', + 'js/bootstrap-select.search.js', + 'js/bootstrap-select.constants.js', + 'js/bootstrap-select.class.js', + 'js/bootstrap-select.virtual-scroll.js', + 'js/bootstrap-select.data.js', + 'js/bootstrap-select.render.js', + 'js/bootstrap-select.sizing.js', + 'js/bootstrap-select.interaction.js', + 'js/bootstrap-select.api.js', + 'js/bootstrap-select.runtime.js' +]; + +function readProjectFile (relativePath) { + return fs.readFileSync(path.join(repoRoot, relativePath), 'utf8'); +} + +function createVirtualPlugin (sources) { + return { + name: 'virtual-bootstrap-select', + resolveId (source) { + return Object.prototype.hasOwnProperty.call(sources, source) ? source : null; + }, + load (id) { + return sources[id] || null; + } + }; +} + +function readWrappedSource (introPath, sourceCode, outroPath) { + return [banner, readProjectFile(introPath), sourceCode, readProjectFile(outroPath)].join('\n'); +} + +function createMainSourceCode (introPath, outroPath) { + return readWrappedSource( + introPath, + jsSources.map(readProjectFile).join('\n\n'), + outroPath + ); +} + +function createMainConfig (id, sourceCode, outputs, external) { + return { + input: id, + output: outputs, + external: external || [], + treeshake: false, + plugins: [createVirtualPlugin({ [id]: sourceCode })] + }; +} + +function createTerserOutput (file) { + return { + file, + format: 'es', + sourcemap: true, + plugins: [ + terser({ + format: { + ascii_only: true, + comments: /^!/ + } + }) + ] + }; +} + +const i18nFiles = fs.readdirSync(path.join(repoRoot, 'js', 'i18n')) + .filter(function (filename) { + return filename.endsWith('.js'); + }) + .sort(); + +const configs = [ + createMainConfig( + 'virtual:bootstrap-select-umd', + createMainSourceCode('js/umd-intro.js', 'js/umd-outro.js'), + [ + { + file: 'dist/js/bootstrap-select.js', + format: 'es', + sourcemap: true + }, + createTerserOutput('dist/js/bootstrap-select.min.js') + ] + ), + createMainConfig( + 'virtual:bootstrap-select-esm', + createMainSourceCode('js/esm-intro.js', 'js/esm-outro.js'), + [ + { + file: 'dist/js/bootstrap-select.esm.mjs', + format: 'es', + sourcemap: true + } + ], + ['bootstrap'] + ), + createMainConfig( + 'virtual:bootstrap-select-cjs', + createMainSourceCode('js/cjs-intro.js', 'js/cjs-outro.js'), + [ + { + file: 'dist/js/bootstrap-select.cjs', + format: 'es', + sourcemap: true + } + ] + ) +]; + +i18nFiles.forEach(function (filename) { + const relativeSourcePath = path.join('js', 'i18n', filename); + const id = `virtual:${relativeSourcePath.replace(/\\/g, '/')}`; + const sourceCode = readWrappedSource( + 'js/umd-intro.js', + readProjectFile(relativeSourcePath), + 'js/umd-outro.js' + ); + + configs.push(createMainConfig( + id, + sourceCode, + [ + { + file: path.join('dist', 'js', 'i18n', filename).replace(/\\/g, '/'), + format: 'es', + sourcemap: true + }, + createTerserOutput(path.join('dist', 'js', 'i18n', filename.replace(/\.js$/, '.min.js')).replace(/\\/g, '/')) + ] + )); +}); + +module.exports = configs; diff --git a/sass/bootstrap-select.scss b/sass/bootstrap-select.scss index 33c1653..748f6e5 100644 --- a/sass/bootstrap-select.scss +++ b/sass/bootstrap-select.scss @@ -1,4 +1,15 @@ -@import "variables"; +@use "sass:math"; +@use "variables" as *; + +@function fade($color, $amount) { + @if math.is-unitless($amount) and $amount > 1 { + $amount: math.div($amount, 100); + } @else if math.unit($amount) == "%" { + $amount: math.div($amount, 100%); + } + + @return rgba($color, $amount); +} @keyframes bs-notify-fadeOut { 0% {opacity: 0.9;} @@ -10,24 +21,6 @@ cursor: not-allowed; } -@mixin box-sizing($fmt) { - -webkit-box-sizing: $fmt; - -moz-box-sizing: $fmt; - box-sizing: $fmt; -} - -@mixin box-shadow($fmt) { - -webkit-box-shadow: $fmt; - box-shadow: $fmt; -} - -@function fade($color, $amnt) { - @if $amnt > 1 { - $amnt: $amnt * 0.01; // convert to percentage if int - } - @return rgba($color, $amnt); -} - // Rules select.bs-select-hidden, .bootstrap-select > select.bs-select-hidden, @@ -36,7 +29,7 @@ select.selectpicker { } .bootstrap-select { - width: 220px; + width: 100%; vertical-align: middle; // The selectpicker button @@ -113,10 +106,6 @@ select.selectpicker { border-color: $color-green-success; } - &.fit-width { - width: auto !important; - } - &:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) { width: $width-default; } @@ -222,7 +211,7 @@ select.selectpicker { left: 0; height: 0 !important; padding: 0 !important; - + .dropdown-menu { z-index: $zindex-select-dropdown; } @@ -291,7 +280,7 @@ select.selectpicker { // The selectpicker dropdown .dropdown-menu { min-width: 100%; - @include box-sizing(border-box); + box-sizing: border-box; > .inner:focus { outline: none !important; @@ -350,10 +339,10 @@ select.selectpicker { padding: 3px 5px; background: rgb(245, 245, 245); border: 1px solid rgb(227, 227, 227); - @include box-shadow(inset 0 1px 1px fade(rgb(0, 0, 0), 5)); + box-shadow: inset 0 1px 1px fade(rgb(0, 0, 0), 5%); pointer-events: none; opacity: 0.9; - @include box-sizing(border-box); + box-sizing: border-box; &.fadeOut { animation: 300ms linear 750ms forwards bs-notify-fadeOut; @@ -405,13 +394,23 @@ select.selectpicker { } } - &.selection-indicator-checkbox.show-tick .dropdown-menu { + &.selection-indicator-checkbox.show-tick .dropdown-menu, + &.selection-indicator-radio.show-tick .dropdown-menu { + li a { + padding-left: 2.5rem; + } + + li a span.text { + margin-right: 0; + } + li a span.check-mark { position: absolute; display: inline-flex; align-items: center; justify-content: center; - right: 12px; + left: 0.75rem; + right: auto; top: 50%; width: 1rem; height: 1rem; @@ -422,6 +421,12 @@ select.selectpicker { color: transparent; transition: background-color .15s ease-in-out, border-color .15s ease-in-out, color .15s ease-in-out, box-shadow .15s ease-in-out; } + } + + &.selection-indicator-checkbox.show-tick .dropdown-menu { + li a span.check-mark { + border-radius: 0.25rem; + } .selected span.check-mark { background: var(--bs-primary, #0d6efd); @@ -440,6 +445,25 @@ select.selectpicker { } } + &.selection-indicator-radio.show-tick .dropdown-menu { + li a span.check-mark { + border-radius: 50%; + } + + .selected span.check-mark { + border-color: var(--bs-primary, #0d6efd); + color: var(--bs-primary, #0d6efd); + } + + .selected span.check-mark::after { + content: ''; + width: 0.5rem; + height: 0.5rem; + border-radius: 50%; + background: currentColor; + } + } + // default check mark for use without an icon font .bs-ok-default:after { content: ''; @@ -526,9 +550,40 @@ select.selectpicker { padding: 4px 8px; } +.popover-header { + display: flex; + align-items: center; + gap: 0.75rem; + padding: 0.625rem 0.875rem; + + .popover-header-text { + flex: 1 1 auto; + min-width: 0; + } + + .btn-close, + .close { + flex: 0 0 auto; + margin: 0; + margin-left: auto; + } + + .btn-close { + width: 0.875rem; + height: 0.875rem; + padding: 0.25rem; + background-size: 0.75rem; + } + + .close { + font-size: 0.875rem; + line-height: 1; + } +} + .bs-actionsbox { width: 100%; - @include box-sizing(border-box); + box-sizing: border-box; & .btn-group { display: block; @@ -542,7 +597,7 @@ select.selectpicker { .bs-donebutton { float: left; width: 100%; - @include box-sizing(border-box); + box-sizing: border-box; & .btn-group { display: block; @@ -580,195 +635,195 @@ select.selectpicker { color: var(--bs-primary, #0d6efd); white-space: normal; text-align: left; - - &:hover, - &:focus { - background: rgba(13, 110, 253, 0.12); - color: var(--bs-primary-text-emphasis, var(--bs-primary, #0d6efd)); - } } - .bs-selected-items { - display: flex; - flex-wrap: wrap; - gap: 0.375rem 0.5rem; - margin-top: 0.5rem; + & .bs-create-option:hover, + & .bs-create-option:focus { + background: rgba(13, 110, 253, 0.12); + color: var(--bs-primary-text-emphasis, var(--bs-primary, #0d6efd)); } +} - .bs-selected-items-external { - padding: 0 0.125rem; - } +.bs-selected-items { + display: flex; + flex-wrap: wrap; + gap: 0.375rem 0.5rem; + margin-top: 0.5rem; +} - .bs-selected-item { - display: inline-flex; - align-items: center; - justify-content: space-between; - gap: 0.375rem; - max-width: 100%; - min-height: calc(1.5em + 0.25rem + 2px); - padding: 0.1875rem 0.25rem 0.1875rem 0.625rem; - border: 1px solid var(--bs-border-color, #ced4da); - border-radius: 0.875rem; - background-color: var(--bs-tertiary-bg, #f8f9fa); - color: var(--bs-body-color, inherit); - font-size: 0.8125rem; - line-height: 1.125rem; - text-align: left; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04); - transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - appearance: none; - -webkit-appearance: none; +.bs-selected-items-external { + padding: 0 0.125rem; +} - &:hover, - &:focus { - border-color: rgba(13, 110, 253, 0.35); - background-color: var(--bs-secondary-bg, #e9ecef); - box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.12); - outline: 0; - } - } +.bs-selected-item { + display: inline-flex; + align-items: center; + justify-content: space-between; + gap: 0.375rem; + max-width: 100%; + min-height: calc(1.5em + 0.25rem + 2px); + padding: 0.1875rem 0.25rem 0.1875rem 0.625rem; + border: 1px solid var(--bs-border-color, #ced4da); + border-radius: 0.875rem; + background-color: var(--bs-tertiary-bg, #f8f9fa); + color: var(--bs-body-color, inherit); + font-size: 0.8125rem; + line-height: 1.125rem; + text-align: left; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04); + transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; + appearance: none; + -webkit-appearance: none; +} - .bs-selected-item-content { - display: inline-flex; - align-items: center; - gap: 0.5rem; - min-width: 0; - } +.bs-selected-item-content { + display: inline-flex; + align-items: center; + gap: 0.5rem; + min-width: 0; +} - .bs-selected-item-icon { - flex: 0 0 auto; - } +.bs-selected-item-icon { + flex: 0 0 auto; +} - .bs-selected-item-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } +.bs-selected-item:hover, +.bs-selected-item:focus { + border-color: rgba(13, 110, 253, 0.35); + background-color: var(--bs-secondary-bg, #e9ecef); + box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.12); + outline: 0; +} - .bs-selected-item-remove { - display: inline-flex; - align-items: center; - justify-content: center; - width: 1.125rem; - height: 1.125rem; - border-radius: 999px; - background: rgba(108, 117, 125, 0.14); - color: var(--bs-secondary-color, #6c757d); - font-size: 0.875rem; - font-weight: 900; - line-height: 1; - flex: 0 0 auto; - padding-bottom: 0; - } +.bs-selected-item-label { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} - .bootstrap-select.selected-items-style-list .bs-selected-items { - display: block; - margin-top: 0.5rem; - } +.bs-selected-item-remove { + display: inline-flex; + align-items: center; + justify-content: center; + width: 1.125rem; + height: 1.125rem; + border-radius: 999px; + background: rgba(108, 117, 125, 0.14); + color: var(--bs-secondary-color, #6c757d); + font-size: 0.875rem; + font-weight: 900; + line-height: 1; + flex: 0 0 auto; + padding-bottom: 0; +} - .bootstrap-select.selected-items-style-list .bs-selected-items-external { - padding: 0; - } +.bootstrap-select.selected-items-style-list .bs-selected-items { + display: block; + margin-top: 0.5rem; +} - .bootstrap-select.selected-items-style-list .bs-selected-item { - width: 100%; - min-height: 0; - padding: 0.75rem 1rem; - border: 1px solid var(--bs-list-group-border-color, rgba(0, 0, 0, 0.125)); - border-radius: 0; - background-color: var(--bs-list-group-bg, #fff); - color: var(--bs-list-group-color, inherit); - font-size: 1rem; - line-height: 1.5; - box-shadow: none; - } +.bootstrap-select.selected-items-style-list .bs-selected-items-external { + padding: 0; +} - .bootstrap-select.selected-items-style-list .bs-selected-item:first-child { - border-top-left-radius: var(--bs-list-group-border-radius, 0.375rem); - border-top-right-radius: var(--bs-list-group-border-radius, 0.375rem); - } +.bootstrap-select.selected-items-style-list .bs-selected-item { + width: 100%; + min-height: 0; + padding: 0.75rem 1rem; + border: 1px solid var(--bs-list-group-border-color, rgba(0, 0, 0, 0.125)); + border-radius: 0; + background-color: var(--bs-list-group-bg, #fff); + color: var(--bs-list-group-color, inherit); + font-size: 1rem; + line-height: 1.5; + box-shadow: none; +} - .bootstrap-select.selected-items-style-list .bs-selected-item:last-child { - border-bottom-left-radius: var(--bs-list-group-border-radius, 0.375rem); - border-bottom-right-radius: var(--bs-list-group-border-radius, 0.375rem); - } +.bootstrap-select.selected-items-style-list .bs-selected-item:first-child { + border-top-left-radius: var(--bs-list-group-border-radius, 0.375rem); + border-top-right-radius: var(--bs-list-group-border-radius, 0.375rem); +} - .bootstrap-select.selected-items-style-list .bs-selected-item + .bs-selected-item { - margin-top: -1px; - } +.bootstrap-select.selected-items-style-list .bs-selected-item:last-child { + border-bottom-left-radius: var(--bs-list-group-border-radius, 0.375rem); + border-bottom-right-radius: var(--bs-list-group-border-radius, 0.375rem); +} - .bootstrap-select.selected-items-style-list .bs-selected-item:hover, - .bootstrap-select.selected-items-style-list .bs-selected-item:focus { - border-color: var(--bs-list-group-border-color, rgba(0, 0, 0, 0.125)); - background-color: var(--bs-list-group-action-hover-bg, #f8f9fa); - color: var(--bs-list-group-action-hover-color, inherit); - box-shadow: none; - } +.bootstrap-select.selected-items-style-list .bs-selected-item + .bs-selected-item { + margin-top: -1px; +} - .bootstrap-select.selected-items-style-list .bs-selected-item-content { - flex: 1 1 auto; - } +.bootstrap-select.selected-items-style-list .bs-selected-item:hover, +.bootstrap-select.selected-items-style-list .bs-selected-item:focus { + border-color: var(--bs-list-group-border-color, rgba(0, 0, 0, 0.125)); + background-color: var(--bs-list-group-action-hover-bg, #f8f9fa); + color: var(--bs-list-group-action-hover-color, inherit); + box-shadow: none; +} - .bootstrap-select.selected-items-style-list .bs-selected-item-label { - white-space: normal; +.bootstrap-select.selected-items-style-list .bs-selected-item-content { + flex: 1 1 auto; +} + +.bootstrap-select.selected-items-style-list .bs-selected-item-label { + white-space: normal; +} + +.bootstrap-select.selected-items-style-list .bs-selected-item-remove { + width: auto; + height: auto; + margin-left: auto; + border-radius: 0; + background: transparent; + font-size: 1rem; + color: var(--bs-secondary-color, #6c757d); +} + +.form-floating > .bootstrap-select.show-selected-tags { + position: relative; + min-height: calc(3.5rem + 2px); + border: var(--bs-border-width, 1px) solid var(--bs-border-color, #ced4da); + border-radius: var(--bs-border-radius, 0.375rem); + background-color: var(--bs-body-bg, #fff); + transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; + + &:focus-within, + &.show { + border-color: #86b7fe; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); } - .bootstrap-select.selected-items-style-list .bs-selected-item-remove { - width: auto; + > .dropdown-toggle { + min-height: 0; height: auto; - margin-left: auto; - border-radius: 0; - background: transparent; - font-size: 1rem; - color: var(--bs-secondary-color, #6c757d); + padding-top: 1.375rem; + padding-bottom: 0.25rem; + border: 0; + background-color: transparent; + box-shadow: none; } - .form-floating > .bootstrap-select.show-selected-tags { - position: relative; - min-height: calc(3.5rem + 2px); - border: var(--bs-border-width, 1px) solid var(--bs-border-color, #ced4da); - border-radius: var(--bs-border-radius, 0.375rem); - background-color: var(--bs-body-bg, #fff); - transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; - - &:focus-within, - &.show { - border-color: #86b7fe; - box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); - } - - > .dropdown-toggle { - min-height: 0; - height: auto; - padding-top: 1.375rem; - padding-bottom: 0.25rem; - border: 0; - background-color: transparent; - box-shadow: none; - - &:hover, - &:focus, - &:active { - background-color: transparent; - box-shadow: none; - } - - .filter-option-inner-inner { - opacity: 0; - } - } + > .dropdown-toggle:hover, + > .dropdown-toggle:focus, + > .dropdown-toggle:active { + background-color: transparent; + box-shadow: none; + } - > .bs-selected-items-external { - position: relative; - z-index: 3; - margin: 0 2.25rem 0 0.75rem; - margin-top: 0; - margin-bottom: 0; - padding-bottom: 1.375rem; - } + > .dropdown-toggle .filter-option-inner-inner { + opacity: 0; } - .form-floating > .bootstrap-select.show-selected-tags ~ label { - padding-top: 0.75rem; + > .bs-selected-items-external { + position: relative; + z-index: 3; + margin: 0 2.25rem 0 0.75rem; + margin-top: 0; + margin-bottom: 0; + padding-bottom: 1.375rem; } } + +.form-floating > .bootstrap-select.show-selected-tags ~ label { + padding-top: 0.75rem; +} diff --git a/sass/variables.scss b/sass/variables.scss index 40fb62e..903df2d 100644 --- a/sass/variables.scss +++ b/sass/variables.scss @@ -1,8 +1,8 @@ $color-red-error: rgb(185, 74, 72) !default; -$color-green-success: #28a745; +$color-green-success: #28a745 !default; $color-grey-arrow: rgba(204, 204, 204, 0.2) !default; -$width-default: 220px !default; // 3 960px-grid columns +$width-default: 100% !default; $zindex-select-dropdown: 1060 !default; // must be higher than a modal background (1050) @@ -14,4 +14,4 @@ $input-padding-y-sm: .25rem !default; $input-padding-x-sm: .5rem !default; $input-padding-y-lg: 0.5rem !default; -$input-padding-x-lg: 1rem !default; \ No newline at end of file +$input-padding-x-lg: 1rem !default; diff --git a/scripts/build-css.js b/scripts/build-css.js new file mode 100644 index 0000000..559f821 --- /dev/null +++ b/scripts/build-css.js @@ -0,0 +1,87 @@ +const fs = require('fs/promises'); +const path = require('path'); +const sass = require('sass'); +const postcss = require('postcss'); +const autoprefixer = require('autoprefixer'); +const cssnano = require('cssnano'); + +const packageJson = require('../package.json'); + +const repoRoot = path.resolve(__dirname, '..'); +const sourcePath = path.join(repoRoot, 'sass', 'bootstrap-select.scss'); +const distDir = path.join(repoRoot, 'dist', 'css'); +const expandedCssPath = path.join(distDir, 'bootstrap-select.css'); +const minifiedCssPath = path.join(distDir, 'bootstrap-select.min.css'); +const currentYear = new Date().getFullYear(); +const banner = [ + '/*!', + ` * Bootstrap-select v${packageJson.version} (${packageJson.homepage})`, + ' *', + ' * CrestApps fork (vanilla JavaScript, Bootstrap 5+) of snapappointments/bootstrap-select', + ' * Copyright 2012-2018 SnapAppointments, LLC (original work)', + ` * Fork modifications Copyright 2024-${currentYear} CrestApps`, + ' * Licensed under MIT (https://github.com/CrestApps/bootstrap-select/blob/main/LICENSE)', + ' */' +].join('\n'); + +function writeCssWithMap (cssPath, cssContent, mapContent) { + const sourceMapComment = `/*# sourceMappingURL=${path.basename(cssPath)}.map */`; + return Promise.all([ + fs.writeFile(cssPath, `${cssContent}\n${sourceMapComment}\n`), + fs.writeFile(`${cssPath}.map`, mapContent) + ]); +} + +function insertBanner (cssContent) { + const charsetMatch = cssContent.match(/^@charset "UTF-8";\r?\n?/); + + if (!charsetMatch) { + return `${banner}\n${cssContent}`; + } + + return `${charsetMatch[0]}${banner}\n${cssContent.slice(charsetMatch[0].length)}`; +} + +async function main () { + await fs.mkdir(distDir, { recursive: true }); + + const sassResult = sass.compile(sourcePath, { + style: 'expanded', + sourceMap: true, + sourceMapIncludeSources: true + }); + + const expandedResult = await postcss([ + autoprefixer() + ]).process(sassResult.css, { + from: sourcePath, + to: expandedCssPath, + map: { + prev: sassResult.sourceMap, + inline: false, + annotation: false, + sourcesContent: true + } + }); + + await writeCssWithMap( + expandedCssPath, + insertBanner(expandedResult.css), + expandedResult.map.toString() + ); + + const minifiedResult = await postcss([ + cssnano() + ]).process(expandedResult.css, { + from: expandedCssPath, + to: minifiedCssPath, + map: false + }); + + await fs.writeFile(minifiedCssPath, `${insertBanner(minifiedResult.css)}\n`); +} + +main().catch(function (error) { + console.error(error.message); + process.exitCode = 1; +}); diff --git a/scripts/clean.js b/scripts/clean.js new file mode 100644 index 0000000..7372319 --- /dev/null +++ b/scripts/clean.js @@ -0,0 +1,19 @@ +const fs = require('fs/promises'); +const path = require('path'); + +async function main () { + const targets = process.argv.slice(2); + + if (!targets.length) { + throw new Error('Expected at least one path to clean.'); + } + + await Promise.all(targets.map(function (target) { + return fs.rm(path.resolve(__dirname, '..', target), { recursive: true, force: true }); + })); +} + +main().catch(function (error) { + console.error(error.message); + process.exitCode = 1; +}); diff --git a/scripts/copy-dist-to-docs.js b/scripts/copy-dist-to-docs.js new file mode 100644 index 0000000..bd63d58 --- /dev/null +++ b/scripts/copy-dist-to-docs.js @@ -0,0 +1,17 @@ +const fs = require('fs/promises'); +const path = require('path'); + +const repoRoot = path.resolve(__dirname, '..'); +const sourcePath = path.join(repoRoot, 'dist'); +const targetPath = path.join(repoRoot, 'docs', 'static', 'dist'); + +async function main () { + await fs.rm(targetPath, { recursive: true, force: true }); + await fs.mkdir(path.dirname(targetPath), { recursive: true }); + await fs.cp(sourcePath, targetPath, { recursive: true, force: true }); +} + +main().catch(function (error) { + console.error(error.message); + process.exitCode = 1; +}); diff --git a/scripts/create-dist-archive.js b/scripts/create-dist-archive.js new file mode 100644 index 0000000..16858ed --- /dev/null +++ b/scripts/create-dist-archive.js @@ -0,0 +1,42 @@ +const fs = require('fs'); +const path = require('path'); +const { ZipArchive } = require('archiver'); + +const packageJson = require('../package.json'); + +const repoRoot = path.resolve(__dirname, '..'); +const archiveName = `bootstrap-select-${packageJson.version}.zip`; +const archivePath = path.join(repoRoot, archiveName); +const archiveRoot = `bootstrap-select-${packageJson.version}`; + +async function main () { + await fs.promises.rm(archivePath, { force: true }); + + await new Promise(function (resolve, reject) { + const output = fs.createWriteStream(archivePath); + const archive = new ZipArchive({ + zlib: { + level: 9 + } + }); + + output.on('close', resolve); + output.on('error', reject); + archive.on('error', reject); + archive.pipe(output); + + archive.directory(path.join(repoRoot, 'dist'), `${archiveRoot}/`); + ['bower.json', 'composer.json', 'package.json'].forEach(function (filename) { + archive.file(path.join(repoRoot, filename), { + name: `${archiveRoot}/${filename}` + }); + }); + + archive.finalize().catch(reject); + }); +} + +main().catch(function (error) { + console.error(error.message); + process.exitCode = 1; +}); diff --git a/tests/e2e/module-import.spec.js b/tests/e2e/module-import.spec.js index aedb1c3..0224152 100644 --- a/tests/e2e/module-import.spec.js +++ b/tests/e2e/module-import.spec.js @@ -1,7 +1,7 @@ const { test, expect } = require('@playwright/test'); test('ES module build can be imported and initialized', async ({ page }) => { - await page.goto('/tests/index.html'); + await page.goto('/tests/packaging.html'); await page.evaluate(() => { document.body.innerHTML = ''; @@ -27,6 +27,7 @@ test('ES module build can be imported and initialized', async ({ page }) => { window.esmChecks = { defaultIsFunction: typeof Selectpicker === 'function', namedMatches: Selectpicker === NamedSelectpicker, + globalExposed: typeof window.Selectpicker !== 'undefined', value: picker.val(), instance: Selectpicker.getInstance('#esm-select') === picker, buttonCount: document.querySelectorAll('.bootstrap-select > button').length @@ -39,8 +40,83 @@ test('ES module build can be imported and initialized', async ({ page }) => { await expect.poll(() => page.evaluate(() => window.esmChecks)).toEqual({ defaultIsFunction: true, namedMatches: true, + globalExposed: false, value: 'One', instance: true, buttonCount: 1 }); }); + +test('CommonJS build can be loaded through a require-style shim', async ({ page }) => { + await page.goto('/tests/packaging.html'); + + await page.evaluate(() => { + document.body.innerHTML = ''; + }); + + await page.addScriptTag({ + url: '/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js' + }); + + await page.evaluate(async () => { + const source = await fetch('/dist/js/bootstrap-select.cjs').then(response => response.text()); + const module = { exports: {} }; + const exports = module.exports; + const require = function (name) { + if (name === 'bootstrap') return window.bootstrap; + throw new Error('Unsupported module: ' + name); + }; + const loadCommonJs = new Function('module', 'exports', 'require', source); + loadCommonJs(module, exports, require); + window.cjsModule = module; + }); + + await page.evaluate(() => { + const Selectpicker = window.cjsModule.exports; + const picker = new Selectpicker('#cjs-select'); + + window.cjsChecks = { + defaultMatches: Selectpicker.default === Selectpicker, + namedMatches: Selectpicker.Selectpicker === Selectpicker, + globalExposed: typeof window.Selectpicker !== 'undefined', + value: picker.val(), + instance: Selectpicker.getInstance('#cjs-select') === picker, + buttonCount: document.querySelectorAll('.bootstrap-select > button').length + }; + }); + + await expect.poll(() => page.evaluate(() => window.cjsChecks)).toEqual({ + defaultMatches: true, + namedMatches: true, + globalExposed: false, + value: 'One', + instance: true, + buttonCount: 1 + }); +}); + +test('UMD build still exposes the browser global', async ({ page }) => { + await page.goto('/tests/packaging.html'); + + await page.evaluate(() => { + document.body.innerHTML = ''; + }); + + await page.addScriptTag({ + url: '/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js' + }); + + await page.addScriptTag({ + url: '/dist/js/bootstrap-select.js' + }); + + await page.waitForFunction(() => typeof window.Selectpicker === 'function'); + + await expect.poll(() => page.evaluate(() => ({ + globalIsFunction: typeof window.Selectpicker === 'function', + autoInitialized: document.querySelectorAll('.bootstrap-select > button').length + }))).toEqual({ + globalIsFunction: true, + autoInitialized: 1 + }); +}); diff --git a/tests/e2e/single-select.spec.js b/tests/e2e/single-select.spec.js index add3c4c..4a2cb3e 100644 --- a/tests/e2e/single-select.spec.js +++ b/tests/e2e/single-select.spec.js @@ -96,6 +96,46 @@ test('placeholder attribute and legacy select title both render placeholder text await expect(page.locator('[data-id="with-title"] .filter-option-inner-inner')).toHaveText('Legacy title'); }); +test('selectionIndicator checkbox renders radio-style indicators for single selects', async ({ page }) => { + await page.goto('/tests/index.html'); + await page.waitForFunction(() => window.Selectpicker); + + await page.evaluate(() => { + document.body.innerHTML += ''; + new Selectpicker('#single-radio-indicator', { selectionIndicator: 'checkbox' }); + }); + + const picker = page.locator('.bootstrap-select').filter({ has: page.locator('[data-id="single-radio-indicator"]') }); + + await expect(picker).toHaveClass(/show-tick/); + await expect(picker).toHaveClass(/selection-indicator-radio/); + + await picker.locator('[data-id="single-radio-indicator"]').click(); + + await expect(picker.locator('.dropdown-menu li a .check-mark')).toHaveCount(3); + + await expect.poll(async () => page.evaluate(() => { + const picker = document.querySelector('.bootstrap-select:has([data-id="single-radio-indicator"])'); + const selectedIndicator = picker.querySelector('.dropdown-menu li.selected .check-mark'); + const indicatorStyle = window.getComputedStyle(selectedIndicator); + const dotStyle = window.getComputedStyle(selectedIndicator, '::after'); + + return { + hasRadioClass: picker.classList.contains('selection-indicator-radio'), + borderRadius: indicatorStyle.borderRadius, + dotWidth: dotStyle.width, + dotHeight: dotStyle.height, + dotBackground: dotStyle.backgroundColor + }; + })).toEqual({ + hasRadioClass: true, + borderRadius: '50%', + dotWidth: '8px', + dotHeight: '8px', + dotBackground: 'rgb(13, 110, 253)' + }); +}); + test('data-width fit keeps the picker compact', async ({ page }) => { await page.goto('/tests/index.html'); await page.waitForFunction(() => window.Selectpicker); @@ -110,6 +150,66 @@ test('data-width fit keeps the picker compact', async ({ page }) => { await expect(picker).toHaveClass(/fit-width/); }); +test('menu header renders its close button at the end with compact spacing', async ({ page }) => { + await page.goto('/tests/index.html'); + await page.waitForFunction(() => window.Selectpicker); + + await page.evaluate(() => { + document.body.innerHTML += ''; + new Selectpicker('#with-header', { header: 'Select a condiment' }); + }); + + const picker = page.locator('.bootstrap-select').filter({ has: page.locator('[data-id="with-header"]') }); + + await picker.locator('[data-id="with-header"]').click(); + + const header = picker.locator('.popover-header'); + + await expect(header.locator('.popover-header-text')).toHaveText('Select a condiment'); + + await expect.poll(async () => header.evaluate((el) => { + return { + firstClass: el.firstElementChild && el.firstElementChild.className, + lastClass: el.lastElementChild && el.lastElementChild.className + }; + })).toMatchObject({ + firstClass: 'popover-header-text', + lastClass: 'btn-close' + }); + + await expect.poll(async () => header.locator('.btn-close').evaluate((el) => { + const style = window.getComputedStyle(el); + + return { + width: parseFloat(style.width), + height: parseFloat(style.height), + paddingTop: parseFloat(style.paddingTop), + paddingRight: parseFloat(style.paddingRight) + }; + })).toEqual({ + width: 14, + height: 14, + paddingTop: 4, + paddingRight: 4 + }); + + await expect.poll(async () => header.evaluate((el) => { + const style = window.getComputedStyle(el); + + return { + paddingTop: parseFloat(style.paddingTop), + paddingRight: parseFloat(style.paddingRight), + paddingBottom: parseFloat(style.paddingBottom), + paddingLeft: parseFloat(style.paddingLeft) + }; + })).toEqual({ + paddingTop: 10, + paddingRight: 14, + paddingBottom: 10, + paddingLeft: 14 + }); +}); + test('native bs.select events are emitted on the original select', async ({ page }) => { await page.goto('/tests/index.html'); await page.waitForFunction(() => window.Selectpicker); diff --git a/tests/packaging.html b/tests/packaging.html new file mode 100644 index 0000000..435119c --- /dev/null +++ b/tests/packaging.html @@ -0,0 +1,13 @@ + + + + Bootstrap-select packaging tests + + + + + + + + +