From 5458629874c056914d0b5cd7dd71d557b307a1e9 Mon Sep 17 00:00:00 2001
From: Alvi Khan <55395950+alvi-khan@users.noreply.github.com>
Date: Wed, 3 Jul 2024 22:35:30 +0600
Subject: [PATCH] Production Build v1.5.0.
---
docs/css/app.7539c422.css | 6 ------
docs/css/app.8dd0bc35.css | 6 ++++++
docs/index.html | 2 +-
docs/js/app.d340ae3c.js | 2 ++
docs/js/app.d340ae3c.js.map | 1 +
docs/js/app.d5bdb45a.js | 2 --
docs/js/app.d5bdb45a.js.map | 1 -
docs/js/chunk-vendors.7baf52de.js | 21 ---------------------
docs/js/chunk-vendors.7baf52de.js.map | 1 -
docs/js/chunk-vendors.afb2e4d2.js | 16 ++++++++++++++++
docs/js/chunk-vendors.afb2e4d2.js.map | 1 +
package.json | 2 +-
src-tauri/tauri.conf.json | 2 +-
13 files changed, 29 insertions(+), 34 deletions(-)
delete mode 100644 docs/css/app.7539c422.css
create mode 100644 docs/css/app.8dd0bc35.css
create mode 100644 docs/js/app.d340ae3c.js
create mode 100644 docs/js/app.d340ae3c.js.map
delete mode 100644 docs/js/app.d5bdb45a.js
delete mode 100644 docs/js/app.d5bdb45a.js.map
delete mode 100644 docs/js/chunk-vendors.7baf52de.js
delete mode 100644 docs/js/chunk-vendors.7baf52de.js.map
create mode 100644 docs/js/chunk-vendors.afb2e4d2.js
create mode 100644 docs/js/chunk-vendors.afb2e4d2.js.map
diff --git a/docs/css/app.7539c422.css b/docs/css/app.7539c422.css
deleted file mode 100644
index 532f11e..0000000
--- a/docs/css/app.7539c422.css
+++ /dev/null
@@ -1,6 +0,0 @@
-.token{font-size:large;display:inline-block;line-height:3}mark{padding:.5rem;position:relative;background-color:#deb887;border:1px solid #757575;border-radius:.35rem}.tag{background-color:#f5f5f5;padding:4px 0 4px 8px;border:1px solid gray;border-radius:.35rem;font-size:x-small}.close-btn{cursor:pointer;font-size:small;position:absolute;width:1rem;height:1rem;padding-left:.2rem;border-radius:50%;background-color:#000;color:#fff}.delete{margin-left:10px}.color-box[data-v-22a27cc0]{width:1rem;height:1rem;margin-right:1rem}.is-single-line{width:90%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
-/*!
- * * Quasar Framework v2.14.1
- * * (c) 2015-present Razvan Stoenescu
- * * Released under the MIT License.
- * */*,:after,:before{box-sizing:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);-moz-tap-highlight-color:transparent}#q-app,body,html{width:100%;direction:ltr}body.platform-ios.within-iframe,body.platform-ios.within-iframe #q-app{width:100px;min-width:100%}body,html{margin:0;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}img{border-style:none}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}button,input,optgroup,select,textarea{font:inherit;font-family:inherit;margin:0}optgroup{font-weight:700}button,input,select{overflow:visible;text-transform:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button:-moz-focusring,input:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.q-icon{line-height:1;width:1em;height:1em;flex-shrink:0;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;text-align:center;position:relative;box-sizing:content-box;fill:currentColor}.q-icon:after,.q-icon:before{width:100%;height:100%;display:flex!important;align-items:center;justify-content:center}.q-icon>img,.q-icon>svg{width:100%;height:100%}.material-icons,.material-icons-outlined,.material-icons-round,.material-icons-sharp,.material-symbols-outlined,.material-symbols-rounded,.material-symbols-sharp,.q-icon{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:inherit;font-size:inherit;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.q-panel,.q-panel>div{height:100%;width:100%}.q-panel-parent{overflow:hidden;position:relative}.q-loading-bar{position:fixed;z-index:9998;transition:transform .5s cubic-bezier(0,0,.2,1),opacity .5s;background:#f44336}.q-loading-bar--top{left:0;right:0;top:0;width:100%}.q-loading-bar--bottom{left:0;right:0;bottom:0;width:100%}.q-loading-bar--right{top:0;bottom:0;right:0;height:100%}.q-loading-bar--left{top:0;bottom:0;left:0;height:100%}.q-avatar{position:relative;vertical-align:middle;display:inline-block;border-radius:50%;font-size:48px;height:1em;width:1em}.q-avatar__content{font-size:.5em;line-height:.5em}.q-avatar img:not(.q-icon):not(.q-img__image),.q-avatar__content{border-radius:inherit;height:inherit;width:inherit}.q-avatar--square{border-radius:0}.q-badge{background-color:var(--q-primary);color:#fff;padding:2px 6px;border-radius:4px;font-size:12px;line-height:12px;min-height:12px;font-weight:400;vertical-align:baseline}.q-badge--single-line{white-space:nowrap}.q-badge--multi-line{word-break:break-all;word-wrap:break-word}.q-badge--floating{position:absolute;top:-4px;right:-3px;cursor:inherit}.q-badge--transparent{opacity:.8}.q-badge--outline{background-color:transparent;border:1px solid currentColor}.q-badge--rounded{border-radius:1em}.q-banner{min-height:54px;padding:8px 16px;background:#fff}.q-banner--top-padding{padding-top:14px}.q-banner__avatar{min-width:1px!important}.q-banner__avatar>.q-avatar{font-size:46px}.q-banner__avatar>.q-icon{font-size:40px}.q-banner__actions.col-auto,.q-banner__avatar:not(:empty)+.q-banner__content{padding-left:16px}.q-banner__actions.col-all .q-btn-item{margin:4px 0 0 4px}.q-banner--dense{min-height:32px;padding:8px}.q-banner--dense.q-banner--top-padding{padding-top:12px}.q-banner--dense .q-banner__avatar>.q-avatar,.q-banner--dense .q-banner__avatar>.q-icon{font-size:28px}.q-banner--dense .q-banner__actions.col-auto,.q-banner--dense .q-banner__avatar:not(:empty)+.q-banner__content{padding-left:8px}.q-bar{background:rgba(0,0,0,.2)}.q-bar>.q-icon{margin-left:2px}.q-bar>div,.q-bar>div+.q-icon{margin-left:8px}.q-bar>.q-btn{margin-left:2px}.q-bar>.q-btn:first-child,.q-bar>.q-icon:first-child,.q-bar>div:first-child{margin-left:0}.q-bar--standard{padding:0 12px;height:32px;font-size:18px}.q-bar--standard>div{font-size:16px}.q-bar--standard .q-btn{font-size:11px}.q-bar--dense{padding:0 8px;height:24px;font-size:14px}.q-bar--dense .q-btn{font-size:8px}.q-bar--dark{background:hsla(0,0%,100%,.15)}.q-breadcrumbs__el{color:inherit}.q-breadcrumbs__el-icon{font-size:125%}.q-breadcrumbs__el-icon--with-label{margin-right:8px}[dir=rtl] .q-breadcrumbs__separator .q-icon{transform:scaleX(-1)}.q-btn{display:inline-flex;flex-direction:column;align-items:stretch;position:relative;outline:0;border:0;vertical-align:middle;font-size:14px;line-height:1.715em;text-decoration:none;color:inherit;background:transparent;font-weight:500;text-transform:uppercase;text-align:center;width:auto;height:auto;cursor:default;padding:4px 16px;min-height:2.572em}.q-btn .q-icon,.q-btn .q-spinner{font-size:1.715em}.q-btn.disabled{opacity:.7!important}.q-btn:before{content:"";display:block;position:absolute;left:0;right:0;top:0;bottom:0;border-radius:inherit;box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12)}.q-btn--actionable{cursor:pointer}.q-btn--actionable.q-btn--standard:before{transition:box-shadow .3s cubic-bezier(.25,.8,.5,1)}.q-btn--actionable.q-btn--standard.q-btn--active:before,.q-btn--actionable.q-btn--standard:active:before{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px rgba(0,0,0,.14),0 1px 14px rgba(0,0,0,.12)}.q-btn--no-uppercase{text-transform:none}.q-btn--rectangle{border-radius:3px}.q-btn--outline{background:transparent!important}.q-btn--outline:before{border:1px solid currentColor}.q-btn--push{border-radius:7px}.q-btn--push:before{border-bottom:3px solid rgba(0,0,0,.15)}.q-btn--push.q-btn--actionable{transition:transform .3s cubic-bezier(.25,.8,.5,1)}.q-btn--push.q-btn--actionable:before{transition:border-width .3s cubic-bezier(.25,.8,.5,1)}.q-btn--push.q-btn--actionable.q-btn--active,.q-btn--push.q-btn--actionable:active{transform:translateY(2px)}.q-btn--push.q-btn--actionable.q-btn--active:before,.q-btn--push.q-btn--actionable:active:before{border-bottom-width:0}.q-btn--rounded{border-radius:28px}.q-btn--round{border-radius:50%;padding:0;min-width:3em;min-height:3em}.q-btn--square{border-radius:0}.q-btn--flat:before,.q-btn--outline:before,.q-btn--unelevated:before{box-shadow:none}.q-btn--dense{padding:.285em;min-height:2em}.q-btn--dense.q-btn--round{padding:0;min-height:2.4em;min-width:2.4em}.q-btn--dense .on-left{margin-right:6px}.q-btn--dense .on-right{margin-left:6px}.q-btn--fab .q-icon,.q-btn--fab-mini .q-icon{font-size:24px}.q-btn--fab{padding:16px;min-height:56px;min-width:56px}.q-btn--fab .q-icon{margin:auto}.q-btn--fab-mini{padding:8px;min-height:40px;min-width:40px}.q-btn__content{transition:opacity .3s;z-index:0}.q-btn__content--hidden{opacity:0;pointer-events:none}.q-btn__progress{border-radius:inherit;z-index:0}.q-btn__progress-indicator{z-index:-1;transform:translateX(-100%);background:hsla(0,0%,100%,.25)}.q-btn__progress--dark .q-btn__progress-indicator{background:rgba(0,0,0,.2)}.q-btn--flat .q-btn__progress-indicator,.q-btn--outline .q-btn__progress-indicator{opacity:.2;background:currentColor}.q-btn-dropdown--split .q-btn-dropdown__arrow-container{padding:0 4px}.q-btn-dropdown--split .q-btn-dropdown__arrow-container.q-btn--outline{border-left:1px solid currentColor}.q-btn-dropdown--split .q-btn-dropdown__arrow-container:not(.q-btn--outline){border-left:1px solid hsla(0,0%,100%,.3)}.q-btn-dropdown--simple *+.q-btn-dropdown__arrow{margin-left:8px}.q-btn-dropdown__arrow{transition:transform .28s}.q-btn-dropdown--current{flex-grow:1}.q-btn-group{border-radius:3px;box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);vertical-align:middle}.q-btn-group>.q-btn-item{border-radius:inherit;align-self:stretch}.q-btn-group>.q-btn-item:before{box-shadow:none}.q-btn-group>.q-btn-item .q-badge--floating{right:0}.q-btn-group>.q-btn-group{box-shadow:none}.q-btn-group>.q-btn-group:first-child>.q-btn:first-child{border-top-left-radius:inherit;border-bottom-left-radius:inherit}.q-btn-group>.q-btn-group:last-child>.q-btn:last-child{border-top-right-radius:inherit;border-bottom-right-radius:inherit}.q-btn-group>.q-btn-group:not(:first-child)>.q-btn:first-child:before{border-left:0}.q-btn-group>.q-btn-group:not(:last-child)>.q-btn:last-child:before{border-right:0}.q-btn-group>.q-btn-item:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.q-btn-group>.q-btn-item:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.q-btn-group>.q-btn-item.q-btn--standard:before{z-index:-1}.q-btn-group--push{border-radius:7px}.q-btn-group--push>.q-btn--push.q-btn--actionable{transform:none}.q-btn-group--push>.q-btn--push.q-btn--actionable .q-btn__content{transition:margin-top .3s cubic-bezier(.25,.8,.5,1),margin-bottom .3s cubic-bezier(.25,.8,.5,1)}.q-btn-group--push>.q-btn--push.q-btn--actionable.q-btn--active .q-btn__content,.q-btn-group--push>.q-btn--push.q-btn--actionable:active .q-btn__content{margin-top:2px;margin-bottom:-2px}.q-btn-group--rounded{border-radius:28px}.q-btn-group--square{border-radius:0}.q-btn-group--flat,.q-btn-group--outline,.q-btn-group--unelevated{box-shadow:none}.q-btn-group--outline>.q-separator{display:none}.q-btn-group--outline>.q-btn-item+.q-btn-item:before{border-left:0}.q-btn-group--outline>.q-btn-item:not(:last-child):before{border-right:0}.q-btn-group--stretch{align-self:stretch;border-radius:0}.q-btn-group--glossy>.q-btn-item{background-image:linear-gradient(180deg,hsla(0,0%,100%,.3),hsla(0,0%,100%,0) 50%,rgba(0,0,0,.12) 51%,rgba(0,0,0,.04))!important}.q-btn-group--spread>.q-btn-group{display:flex!important}.q-btn-group--spread>.q-btn-group>.q-btn-item:not(.q-btn-dropdown__arrow-container),.q-btn-group--spread>.q-btn-item{width:auto;min-width:0;max-width:100%;flex:10000 1 0%}.q-btn-toggle,.q-card{position:relative}.q-card{box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);border-radius:4px;vertical-align:top;background:#fff}.q-card>div:first-child,.q-card>img:first-child{border-top:0;border-top-left-radius:inherit;border-top-right-radius:inherit}.q-card>div:last-child,.q-card>img:last-child{border-bottom:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.q-card>div:not(:first-child),.q-card>img:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.q-card>div:not(:last-child),.q-card>img:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.q-card>div{border-left:0;border-right:0;box-shadow:none}.q-card--bordered{border:1px solid rgba(0,0,0,.12)}.q-card--dark{border-color:hsla(0,0%,100%,.28);box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}.q-card__section{position:relative}.q-card__section--vert{padding:16px}.q-card__section--horiz>div:first-child,.q-card__section--horiz>img:first-child{border-top-left-radius:inherit;border-bottom-left-radius:inherit}.q-card__section--horiz>div:last-child,.q-card__section--horiz>img:last-child{border-top-right-radius:inherit;border-bottom-right-radius:inherit}.q-card__section--horiz>div:not(:first-child),.q-card__section--horiz>img:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.q-card__section--horiz>div:not(:last-child),.q-card__section--horiz>img:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.q-card__section--horiz>div{border-top:0;border-bottom:0;box-shadow:none}.q-card__actions{padding:8px;align-items:center}.q-card__actions .q-btn--rectangle{padding:0 8px}.q-card__actions--horiz>.q-btn-group+.q-btn-item,.q-card__actions--horiz>.q-btn-item+.q-btn-group,.q-card__actions--horiz>.q-btn-item+.q-btn-item{margin-left:8px}.q-card__actions--vert>.q-btn-item.q-btn--round{align-self:center}.q-card__actions--vert>.q-btn-group+.q-btn-item,.q-card__actions--vert>.q-btn-item+.q-btn-group,.q-card__actions--vert>.q-btn-item+.q-btn-item{margin-top:4px}.q-card__actions--vert>.q-btn-group>.q-btn-item{flex-grow:1}.q-card>img{display:block;width:100%;max-width:100%;border:0}.q-carousel{background-color:#fff;height:400px}.q-carousel__slide{min-height:100%;background-size:cover;background-position:50%}.q-carousel .q-carousel--padding,.q-carousel__slide{padding:16px}.q-carousel__slides-container{height:100%}.q-carousel__control{color:#fff}.q-carousel__arrow{pointer-events:none}.q-carousel__arrow .q-icon{font-size:28px}.q-carousel__arrow .q-btn{pointer-events:all}.q-carousel__next-arrow--horizontal,.q-carousel__prev-arrow--horizontal{top:16px;bottom:16px}.q-carousel__prev-arrow--horizontal{left:16px}.q-carousel__next-arrow--horizontal{right:16px}.q-carousel__next-arrow--vertical,.q-carousel__prev-arrow--vertical{left:16px;right:16px}.q-carousel__prev-arrow--vertical{top:16px}.q-carousel__next-arrow--vertical{bottom:16px}.q-carousel__navigation--bottom,.q-carousel__navigation--top{left:16px;right:16px;overflow-x:auto;overflow-y:hidden}.q-carousel__navigation--top{top:16px}.q-carousel__navigation--bottom{bottom:16px}.q-carousel__navigation--left,.q-carousel__navigation--right{top:16px;bottom:16px;overflow-x:hidden;overflow-y:auto}.q-carousel__navigation--left>.q-carousel__navigation-inner,.q-carousel__navigation--right>.q-carousel__navigation-inner{flex-direction:column}.q-carousel__navigation--left{left:16px}.q-carousel__navigation--right{right:16px}.q-carousel__navigation-inner{flex:1 1 auto}.q-carousel__navigation .q-btn{margin:6px 4px;padding:5px}.q-carousel__navigation-icon--inactive{opacity:.7}.q-carousel .q-carousel__thumbnail{margin:2px;height:50px;width:auto;display:inline-block;cursor:pointer;border:1px solid transparent;border-radius:4px;vertical-align:middle;opacity:.7;transition:opacity .3s}.q-carousel .q-carousel__thumbnail--active,.q-carousel .q-carousel__thumbnail:hover{opacity:1}.q-carousel .q-carousel__thumbnail--active{border-color:currentColor;cursor:default}.q-carousel--arrows-vertical .q-carousel--padding,.q-carousel--arrows-vertical.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-top .q-carousel--padding,.q-carousel--navigation-top.q-carousel--with-padding .q-carousel__slide{padding-top:60px}.q-carousel--arrows-vertical .q-carousel--padding,.q-carousel--arrows-vertical.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-bottom .q-carousel--padding,.q-carousel--navigation-bottom.q-carousel--with-padding .q-carousel__slide{padding-bottom:60px}.q-carousel--arrows-horizontal .q-carousel--padding,.q-carousel--arrows-horizontal.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-left .q-carousel--padding,.q-carousel--navigation-left.q-carousel--with-padding .q-carousel__slide{padding-left:60px}.q-carousel--arrows-horizontal .q-carousel--padding,.q-carousel--arrows-horizontal.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-right .q-carousel--padding,.q-carousel--navigation-right.q-carousel--with-padding .q-carousel__slide{padding-right:60px}.q-carousel.fullscreen{height:100%}.q-message-label,.q-message-name,.q-message-stamp{font-size:small}.q-message-label{margin:24px 0;text-align:center}.q-message-stamp{color:inherit;margin-top:4px;opacity:.6;display:none}.q-message-avatar{border-radius:50%;width:48px;height:48px;min-width:48px}.q-message{margin-bottom:8px}.q-message:first-child .q-message-label{margin-top:0}.q-message-avatar--received{margin-right:8px}.q-message-text--received{color:#81c784;border-radius:4px 4px 4px 0}.q-message-text--received:last-child:before{right:100%;border-right:0 solid transparent;border-left:8px solid transparent;border-bottom:8px solid currentColor}.q-message-text-content--received{color:#000}.q-message-name--sent{text-align:right}.q-message-avatar--sent{margin-left:8px}.q-message-container--sent{flex-direction:row-reverse}.q-message-text--sent{color:#e0e0e0;border-radius:4px 4px 0 4px}.q-message-text--sent:last-child:before{left:100%;border-left:0 solid transparent;border-right:8px solid transparent;border-bottom:8px solid currentColor}.q-message-text-content--sent{color:#000}.q-message-text{background:currentColor;padding:8px;line-height:1.2;word-break:break-word;position:relative}.q-message-text+.q-message-text{margin-top:3px}.q-message-text:last-child{min-height:48px}.q-message-text:last-child .q-message-stamp{display:block}.q-message-text:last-child:before{content:"";position:absolute;bottom:0;width:0;height:0}.q-checkbox{vertical-align:middle}.q-checkbox__native{width:1px;height:1px}.q-checkbox__bg,.q-checkbox__icon-container{-webkit-user-select:none;-moz-user-select:none;user-select:none}.q-checkbox__bg{top:25%;left:25%;width:50%;height:50%;border:2px solid currentColor;border-radius:2px;transition:background .22s cubic-bezier(0,0,.2,1) 0ms;-webkit-print-color-adjust:exact}.q-checkbox__icon{color:currentColor;font-size:.5em}.q-checkbox__svg{color:#fff}.q-checkbox__truthy{stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.78334;stroke-dasharray:29.78334}.q-checkbox__indet{fill:currentColor;transform-origin:50% 50%;transform:rotate(-280deg) scale(0)}.q-checkbox__inner{font-size:40px;width:1em;min-width:1em;height:1em;outline:0;border-radius:50%;color:rgba(0,0,0,.54)}.q-checkbox__inner--indet,.q-checkbox__inner--truthy{color:var(--q-primary)}.q-checkbox__inner--indet .q-checkbox__bg,.q-checkbox__inner--truthy .q-checkbox__bg{background:currentColor}.q-checkbox__inner--truthy path{stroke-dashoffset:0;transition:stroke-dashoffset .18s cubic-bezier(.4,0,.6,1) 0ms}.q-checkbox__inner--indet .q-checkbox__indet{transform:rotate(0) scale(1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}.q-checkbox.disabled{opacity:.75!important}.q-checkbox--dark .q-checkbox__inner{color:hsla(0,0%,100%,.7)}.q-checkbox--dark .q-checkbox__inner:before{opacity:.32!important}.q-checkbox--dark .q-checkbox__inner--indet,.q-checkbox--dark .q-checkbox__inner--truthy{color:var(--q-primary)}.q-checkbox--dense .q-checkbox__inner{width:.5em;min-width:.5em;height:.5em}.q-checkbox--dense .q-checkbox__bg{left:5%;top:5%;width:90%;height:90%}.q-checkbox--dense .q-checkbox__label{padding-left:.5em}.q-checkbox--dense.reverse .q-checkbox__label{padding-left:0;padding-right:.5em}body.desktop .q-checkbox:not(.disabled) .q-checkbox__inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1)}body.desktop .q-checkbox:not(.disabled):focus .q-checkbox__inner:before,body.desktop .q-checkbox:not(.disabled):hover .q-checkbox__inner:before{transform:scaleX(1)}body.desktop .q-checkbox--dense:not(.disabled):focus .q-checkbox__inner:before,body.desktop .q-checkbox--dense:not(.disabled):hover .q-checkbox__inner:before{transform:scale3d(1.4,1.4,1)}.q-chip{vertical-align:middle;border-radius:16px;outline:0;position:relative;height:2em;max-width:100%;margin:4px;background:#e0e0e0;color:rgba(0,0,0,.87);font-size:14px;padding:.5em .9em}.q-chip--colored .q-chip__icon,.q-chip--dark .q-chip__icon{color:inherit}.q-chip--outline{background:transparent!important;border:1px solid currentColor}.q-chip .q-avatar{font-size:2em;margin-left:-.45em;margin-right:.2em;border-radius:16px}.q-chip--selected .q-avatar{display:none}.q-chip__icon{color:rgba(0,0,0,.54);font-size:1.5em;margin:-.2em}.q-chip__icon--left{margin-right:.2em}.q-chip__icon--right{margin-left:.2em}.q-chip__icon--remove{margin-left:.1em;margin-right:-.5em;opacity:.6;outline:0}.q-chip__icon--remove:focus,.q-chip__icon--remove:hover{opacity:1}.q-chip__content{white-space:nowrap}.q-chip--dense{border-radius:12px;padding:0 .4em;height:1.5em}.q-chip--dense .q-avatar{font-size:1.5em;margin-left:-.27em;margin-right:.1em;border-radius:12px}.q-chip--dense .q-chip__icon{font-size:1.25em}.q-chip--dense .q-chip__icon--left{margin-right:.195em}.q-chip--dense .q-chip__icon--remove{margin-right:-.25em}.q-chip--square{border-radius:4px}.q-chip--square .q-avatar{border-radius:3px 0 0 3px}body.desktop .q-chip--clickable:focus{box-shadow:0 1px 3px rgba(0,0,0,.2),0 1px 1px rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}body.desktop.body--dark .q-chip--clickable:focus{box-shadow:0 1px 3px hsla(0,0%,100%,.2),0 1px 1px hsla(0,0%,100%,.14),0 2px 1px -1px hsla(0,0%,100%,.12)}.q-circular-progress{display:inline-block;position:relative;vertical-align:middle;width:1em;height:1em;line-height:1}.q-circular-progress.q-focusable{border-radius:50%}.q-circular-progress__svg{width:100%;height:100%}.q-circular-progress__text{font-size:.25em}.q-circular-progress--indeterminate .q-circular-progress__svg{transform-origin:50% 50%;animation:q-spin 2s linear infinite}.q-circular-progress--indeterminate .q-circular-progress__circle{stroke-dasharray:1 400;stroke-dashoffset:0;animation:q-circular-progress-circle 1.5s ease-in-out infinite}@keyframes q-circular-progress-circle{0%{stroke-dasharray:1,400;stroke-dashoffset:0}50%{stroke-dasharray:400,400;stroke-dashoffset:-100}to{stroke-dasharray:400,400;stroke-dashoffset:-300}}.q-color-picker{overflow:hidden;background:#fff;max-width:350px;vertical-align:top;min-width:180px;border-radius:4px;box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12)}.q-color-picker .q-tab{padding:0!important}.q-color-picker--bordered{border:1px solid rgba(0,0,0,.12)}.q-color-picker__header-tabs{height:32px}.q-color-picker__header input{line-height:24px;border:0}.q-color-picker__header .q-tab{min-height:32px!important;height:32px!important}.q-color-picker__header .q-tab--inactive{background:linear-gradient(0deg,rgba(0,0,0,.3) 0,rgba(0,0,0,.15) 25%,rgba(0,0,0,.1))}.q-color-picker__error-icon{bottom:2px;right:2px;font-size:24px;opacity:0;transition:opacity .3s ease-in}.q-color-picker__header-content{position:relative;background:#fff}.q-color-picker__header-content--light{color:#000}.q-color-picker__header-content--dark{color:#fff}.q-color-picker__header-content--dark .q-tab--inactive:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:hsla(0,0%,100%,.2)}.q-color-picker__header-banner{height:36px}.q-color-picker__header-bg{background:#fff;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg==)!important}.q-color-picker__footer{height:36px}.q-color-picker__footer .q-tab{min-height:36px!important;height:36px!important}.q-color-picker__footer .q-tab--inactive{background:linear-gradient(180deg,rgba(0,0,0,.3) 0,rgba(0,0,0,.15) 25%,rgba(0,0,0,.1))}.q-color-picker__spectrum{width:100%;height:100%}.q-color-picker__spectrum-tab{padding:0!important}.q-color-picker__spectrum-white{background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.q-color-picker__spectrum-black{background:linear-gradient(0deg,#000,transparent)}.q-color-picker__spectrum-circle{width:10px;height:10px;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;transform:translate(-5px,-5px)}.q-color-picker__hue .q-slider__track{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)!important;opacity:1}.q-color-picker__alpha .q-slider__track-container{padding-top:0}.q-color-picker__alpha .q-slider__track:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(90deg,hsla(0,0%,100%,0),#757575)}.q-color-picker__sliders{padding:0 16px}.q-color-picker__sliders .q-slider__thumb{color:#424242}.q-color-picker__sliders .q-slider__thumb path{stroke-width:2px;fill:transparent}.q-color-picker__sliders .q-slider--active path{stroke-width:3px}.q-color-picker__tune-tab .q-slider{margin-left:18px;margin-right:18px}.q-color-picker__tune-tab input{font-size:11px;border:1px solid #e0e0e0;border-radius:4px;width:3.5em}.q-color-picker__palette-tab{padding:0!important}.q-color-picker__palette-rows--editable .q-color-picker__cube{cursor:pointer}.q-color-picker__cube{padding-bottom:10%;width:10%!important}.q-color-picker input{color:inherit;background:transparent;outline:0;text-align:center}.q-color-picker .q-tabs{overflow:hidden}.q-color-picker .q-tab--active{box-shadow:0 0 14px 3px rgba(0,0,0,.2)}.q-color-picker .q-tab--active .q-focus-helper,.q-color-picker .q-tab__indicator{display:none}.q-color-picker .q-tab-panels{background:inherit}.q-color-picker--dark{box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}.q-color-picker--dark .q-color-picker__tune-tab input{border:1px solid hsla(0,0%,100%,.3)}.q-color-picker--dark .q-slider__thumb{color:#fafafa}.q-date{display:inline-flex;box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);border-radius:4px;background:#fff;width:290px;min-width:290px;max-width:100%}.q-date--bordered{border:1px solid rgba(0,0,0,.12)}.q-date__header{border-top-left-radius:inherit;color:#fff;background-color:var(--q-primary);padding:16px}.q-date__actions{padding:0 16px 16px}.q-date__content,.q-date__main{outline:0}.q-date__content .q-btn{font-weight:400}.q-date__header-link{opacity:.64;outline:0;transition:opacity .3s ease-out}.q-date__header-link--active,.q-date__header-link:focus,.q-date__header-link:hover{opacity:1}.q-date__header-subtitle{font-size:14px;line-height:1.75;letter-spacing:.00938em}.q-date__header-title-label{font-size:24px;line-height:1.2;letter-spacing:.00735em}.q-date__view{height:100%;width:100%;min-height:290px;padding:16px}.q-date__navigation{height:12.5%}.q-date__navigation>div:first-child{width:8%;min-width:24px;justify-content:flex-end}.q-date__navigation>div:last-child{width:8%;min-width:24px;justify-content:flex-start}.q-date__calendar-weekdays{height:12.5%}.q-date__calendar-weekdays>div{opacity:.38;font-size:12px}.q-date__calendar-item{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:14.285%!important;height:12.5%!important;position:relative;padding:1px}.q-date__calendar-item:after{content:"";position:absolute;pointer-events:none;top:1px;right:0;bottom:1px;left:0;border-style:dashed;border-color:transparent;border-width:1px}.q-date__calendar-item button,.q-date__calendar-item>div{width:30px;height:30px;border-radius:50%}.q-date__calendar-item>div{line-height:30px;text-align:center}.q-date__calendar-item>button{line-height:22px}.q-date__calendar-item--out{opacity:.18}.q-date__calendar-item--fill{visibility:hidden}.q-date__range-from:before,.q-date__range-to:before,.q-date__range:before{content:"";background-color:currentColor;position:absolute;top:1px;bottom:1px;left:0;right:0;opacity:.3}.q-date__range-from:nth-child(7n-6):before,.q-date__range-to:nth-child(7n-6):before,.q-date__range:nth-child(7n-6):before{border-top-left-radius:0;border-bottom-left-radius:0}.q-date__range-from:nth-child(7n):before,.q-date__range-to:nth-child(7n):before,.q-date__range:nth-child(7n):before{border-top-right-radius:0;border-bottom-right-radius:0}.q-date__range-from:before{left:50%}.q-date__range-to:before{right:50%}.q-date__edit-range:after{border-color:currentColor transparent}.q-date__edit-range:nth-child(7n-6):after{border-top-left-radius:0;border-bottom-left-radius:0}.q-date__edit-range:nth-child(7n):after{border-top-right-radius:0;border-bottom-right-radius:0}.q-date__edit-range-from-to:after,.q-date__edit-range-from:after{left:4px;border-left-color:currentColor;border-top-color:currentColor;border-bottom-color:currentColor;border-top-left-radius:28px;border-bottom-left-radius:28px}.q-date__edit-range-from-to:after,.q-date__edit-range-to:after{right:4px;border-right-color:currentColor;border-top-color:currentColor;border-bottom-color:currentColor;border-top-right-radius:28px;border-bottom-right-radius:28px}.q-date__calendar-days-container{height:75%;min-height:192px}.q-date__calendar-days>div{height:16.66%!important}.q-date__event{position:absolute;bottom:2px;left:50%;height:5px;width:8px;border-radius:5px;background-color:var(--q-secondary);transform:translate3d(-50%,0,0)}.q-date__today{box-shadow:0 0 1px 0 currentColor}.q-date__years-content{padding:0 8px}.q-date__months-item,.q-date__years-item{flex:0 0 33.3333%}.q-date--readonly .q-date__content,.q-date--readonly .q-date__header,.q-date.disabled .q-date__content,.q-date.disabled .q-date__header{pointer-events:none}.q-date--readonly .q-date__navigation{display:none}.q-date--portrait{flex-direction:column}.q-date--portrait-standard .q-date__content{height:calc(100% - 86px)}.q-date--portrait-standard .q-date__header{border-top-right-radius:inherit;height:86px}.q-date--portrait-standard .q-date__header-title{align-items:center;height:30px}.q-date--portrait-minimal .q-date__content{height:100%}.q-date--landscape{flex-direction:row;align-items:stretch;min-width:420px}.q-date--landscape>div{display:flex;flex-direction:column}.q-date--landscape .q-date__content{height:100%}.q-date--landscape-standard{min-width:420px}.q-date--landscape-standard .q-date__header{border-bottom-left-radius:inherit;min-width:110px;width:110px}.q-date--landscape-standard .q-date__header-title{flex-direction:column}.q-date--landscape-standard .q-date__header-today{margin-top:12px;margin-left:-8px}.q-date--landscape-minimal{width:310px}.q-date--dark{box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.28)}.q-dialog__title{font-size:1.25rem;font-weight:500;line-height:2rem;letter-spacing:.0125em}.q-dialog__progress{font-size:4rem}.q-dialog__inner{outline:0}.q-dialog__inner>div{pointer-events:all;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position;border-radius:4px}.q-dialog__inner--square>div{border-radius:0!important}.q-dialog__inner>.q-card>.q-card__actions .q-btn--rectangle{min-width:64px}.q-dialog__inner--minimized{padding:24px}.q-dialog__inner--minimized>div{max-height:calc(100vh - 48px)}.q-dialog__inner--maximized>div{height:100%;width:100%;max-height:100vh;max-width:100vw;border-radius:0!important;top:0!important;left:0!important}.q-dialog__inner--bottom,.q-dialog__inner--top{padding-top:0!important;padding-bottom:0!important}.q-dialog__inner--left,.q-dialog__inner--right{padding-right:0!important;padding-left:0!important}.q-dialog__inner--left:not(.q-dialog__inner--animating)>div,.q-dialog__inner--top:not(.q-dialog__inner--animating)>div{border-top-left-radius:0}.q-dialog__inner--right:not(.q-dialog__inner--animating)>div,.q-dialog__inner--top:not(.q-dialog__inner--animating)>div{border-top-right-radius:0}.q-dialog__inner--bottom:not(.q-dialog__inner--animating)>div,.q-dialog__inner--left:not(.q-dialog__inner--animating)>div{border-bottom-left-radius:0}.q-dialog__inner--bottom:not(.q-dialog__inner--animating)>div,.q-dialog__inner--right:not(.q-dialog__inner--animating)>div{border-bottom-right-radius:0}.q-dialog__inner--fullwidth>div{width:100%!important;max-width:100%!important}.q-dialog__inner--fullheight>div{height:100%!important;max-height:100%!important}.q-dialog__backdrop{z-index:-1;pointer-events:all;outline:0;background:rgba(0,0,0,.4)}body.platform-android:not(.native-mobile) .q-dialog__inner--minimized>div,body.platform-ios .q-dialog__inner--minimized>div{max-height:calc(100vh - 108px)}body.q-ios-padding .q-dialog__inner{padding-top:20px!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}body.q-ios-padding .q-dialog__inner>div{max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important}@media(max-width:599.98px){.q-dialog__inner--bottom,.q-dialog__inner--top{padding-left:0;padding-right:0}.q-dialog__inner--bottom>div,.q-dialog__inner--top>div{width:100%!important}}@media(min-width:600px){.q-dialog__inner--minimized>div{max-width:560px}}.q-body--dialog{overflow:hidden}.q-bottom-sheet{padding-bottom:8px}.q-bottom-sheet__avatar{border-radius:50%}.q-bottom-sheet--list{width:400px}.q-bottom-sheet--list .q-icon,.q-bottom-sheet--list img{font-size:24px;width:24px;height:24px}.q-bottom-sheet--grid{width:700px}.q-bottom-sheet--grid .q-bottom-sheet__item{padding:8px;text-align:center;min-width:100px}.q-bottom-sheet--grid .q-bottom-sheet__empty-icon,.q-bottom-sheet--grid .q-icon,.q-bottom-sheet--grid img{font-size:48px;width:48px;height:48px;margin-bottom:8px}.q-bottom-sheet--grid .q-separator{margin:12px 0}.q-bottom-sheet__item{flex:0 0 33.3333%}@media(min-width:600px){.q-bottom-sheet__item{flex:0 0 25%}}.q-dialog-plugin{width:400px}.q-dialog-plugin__form{max-height:50vh}.q-dialog-plugin .q-card__section+.q-card__section{padding-top:0}.q-dialog-plugin--progress{text-align:center}.q-editor{border:1px solid rgba(0,0,0,.12);border-radius:4px;background-color:#fff}.q-editor.disabled{border-style:dashed}.q-editor>div:first-child,.q-editor__toolbars-container,.q-editor__toolbars-container>div:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-editor__content{outline:0;padding:10px;min-height:10em;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;overflow:auto;max-width:100%}.q-editor__content pre{white-space:pre-wrap}.q-editor__content hr{border:0;outline:0;margin:1px;height:1px;background:rgba(0,0,0,.12)}.q-editor__content:empty:not(:focus):before{content:attr(placeholder);opacity:.7}.q-editor__toolbar{border-bottom:1px solid rgba(0,0,0,.12);min-height:32px}.q-editor__toolbars-container{max-width:100%}.q-editor .q-btn{margin:4px}.q-editor__toolbar-group{position:relative;margin:0 4px}.q-editor__toolbar-group+.q-editor__toolbar-group:before{content:"";position:absolute;left:-4px;top:4px;bottom:4px;width:1px;background:rgba(0,0,0,.12)}.q-editor__link-input{color:inherit;text-decoration:none;text-transform:none;border:none;border-radius:0;background:none;outline:0}.q-editor--flat,.q-editor--flat .q-editor__toolbar{border:0}.q-editor--dense .q-editor__toolbar-group{display:flex;align-items:center;flex-wrap:nowrap}.q-editor--dark{border-color:hsla(0,0%,100%,.28)}.q-editor--dark .q-editor__content hr{background:hsla(0,0%,100%,.28)}.q-editor--dark .q-editor__toolbar{border-color:hsla(0,0%,100%,.28)}.q-editor--dark .q-editor__toolbar-group+.q-editor__toolbar-group:before{background:hsla(0,0%,100%,.28)}.q-expansion-item__border{opacity:0}.q-expansion-item__toggle-icon{position:relative;transition:transform .3s}.q-expansion-item__toggle-icon--rotated{transform:rotate(180deg)}.q-expansion-item__toggle-focus{width:1em!important;height:1em!important;position:relative!important}.q-expansion-item__toggle-focus+.q-expansion-item__toggle-icon{margin-top:-1em}.q-expansion-item--standard.q-expansion-item--expanded>div>.q-expansion-item__border{opacity:1}.q-expansion-item--popup{transition:padding .5s}.q-expansion-item--popup>.q-expansion-item__container{border:1px solid rgba(0,0,0,.12)}.q-expansion-item--popup>.q-expansion-item__container>.q-separator{display:none}.q-expansion-item--popup.q-expansion-item--collapsed{padding:0 15px}.q-expansion-item--popup.q-expansion-item--expanded{padding:15px 0}.q-expansion-item--popup.q-expansion-item--expanded+.q-expansion-item--popup.q-expansion-item--expanded{padding-top:0}.q-expansion-item--popup.q-expansion-item--collapsed:not(:first-child)>.q-expansion-item__container{border-top-width:0}.q-expansion-item--popup.q-expansion-item--expanded+.q-expansion-item--popup.q-expansion-item--collapsed>.q-expansion-item__container{border-top-width:1px}.q-expansion-item__content>.q-card{box-shadow:none;border-radius:0}.q-expansion-item--expanded+.q-expansion-item--expanded>div>.q-expansion-item__border--top,.q-expansion-item:first-child>div>.q-expansion-item__border--top,.q-expansion-item:last-child>div>.q-expansion-item__border--bottom{opacity:0}.q-expansion-item--expanded .q-textarea--autogrow textarea{animation:q-expansion-done 0s}@keyframes q-expansion-done{0%{--q-exp-done:1}}.z-fab{z-index:990}.q-fab{position:relative;vertical-align:middle}.q-fab>.q-btn{width:100%}.q-fab--form-rounded{border-radius:28px}.q-fab--form-square{border-radius:4px}.q-fab__active-icon,.q-fab__icon{transition:opacity .4s,transform .4s}.q-fab__icon{opacity:1;transform:rotate(0deg)}.q-fab__active-icon{opacity:0;transform:rotate(-180deg)}.q-fab__label--external{position:absolute;padding:0 8px;transition:opacity .18s cubic-bezier(.65,.815,.735,.395)}.q-fab__label--external-hidden{opacity:0;pointer-events:none}.q-fab__label--external-left{top:50%;left:-12px;transform:translate(-100%,-50%)}.q-fab__label--external-right{top:50%;right:-12px;transform:translate(100%,-50%)}.q-fab__label--external-bottom{bottom:-12px;left:50%;transform:translate(-50%,100%)}.q-fab__label--external-top{top:-12px;left:50%;transform:translate(-50%,-100%)}.q-fab__label--internal{padding:0;transition:font-size .12s cubic-bezier(.65,.815,.735,.395),max-height .12s cubic-bezier(.65,.815,.735,.395),opacity .07s cubic-bezier(.65,.815,.735,.395);max-height:30px}.q-fab__label--internal-hidden{font-size:0;opacity:0}.q-fab__label--internal-top{padding-bottom:.12em}.q-fab__label--internal-bottom{padding-top:.12em}.q-fab__label--internal-bottom.q-fab__label--internal-hidden,.q-fab__label--internal-top.q-fab__label--internal-hidden{max-height:0}.q-fab__label--internal-left{padding-left:.285em;padding-right:.571em}.q-fab__label--internal-right{padding-right:.285em;padding-left:.571em}.q-fab__icon-holder{min-width:24px;min-height:24px;position:relative}.q-fab__icon-holder--opened .q-fab__icon{transform:rotate(180deg);opacity:0}.q-fab__icon-holder--opened .q-fab__active-icon{transform:rotate(0deg);opacity:1}.q-fab__actions{position:absolute;opacity:0;transition:transform .18s ease-in,opacity .18s ease-in;pointer-events:none;align-items:center;justify-content:center;align-self:center;padding:3px}.q-fab__actions .q-btn{margin:5px}.q-fab__actions--right{transform-origin:0 50%;transform:scale(.4) translateX(-62px);height:56px;left:100%;margin-left:9px}.q-fab__actions--left{transform-origin:100% 50%;transform:scale(.4) translateX(62px);height:56px;right:100%;margin-right:9px;flex-direction:row-reverse}.q-fab__actions--up{transform-origin:50% 100%;transform:scale(.4) translateY(62px);width:56px;bottom:100%;margin-bottom:9px;flex-direction:column-reverse}.q-fab__actions--down{transform-origin:50% 0;transform:scale(.4) translateY(-62px);width:56px;top:100%;margin-top:9px;flex-direction:column}.q-fab__actions--down,.q-fab__actions--up{left:50%;margin-left:-28px}.q-fab__actions--opened{opacity:1;transform:scale(1) translate(.1px);pointer-events:all}.q-fab--align-left>.q-fab__actions--down,.q-fab--align-left>.q-fab__actions--up{align-items:flex-start;left:28px}.q-fab--align-right>.q-fab__actions--down,.q-fab--align-right>.q-fab__actions--up{align-items:flex-end;left:auto;right:0}.q-field{font-size:14px}.q-field ::-ms-clear,.q-field ::-ms-reveal{display:none}.q-field--with-bottom{padding-bottom:20px}.q-field__marginal{height:56px;color:rgba(0,0,0,.54);font-size:24px}.q-field__marginal>*+*{margin-left:2px}.q-field__marginal .q-avatar{font-size:32px}.q-field__before,.q-field__prepend{padding-right:12px}.q-field__after,.q-field__append{padding-left:12px}.q-field__after:empty,.q-field__append:empty{display:none}.q-field__append+.q-field__append{padding-left:2px}.q-field__inner{text-align:left}.q-field__bottom{font-size:12px;min-height:20px;line-height:1;color:rgba(0,0,0,.54);padding:8px 12px 0;backface-visibility:hidden}.q-field__bottom--animated{transform:translateY(100%);position:absolute;left:0;right:0;bottom:0}.q-field__messages{line-height:1}.q-field__messages>div{word-break:break-word;word-wrap:break-word;overflow-wrap:break-word}.q-field__messages>div+div{margin-top:4px}.q-field__counter{padding-left:8px;line-height:1}.q-field--item-aligned{padding:8px 16px}.q-field--item-aligned .q-field__before{min-width:56px}.q-field__control-container{height:inherit}.q-field__control{color:var(--q-primary);height:56px;max-width:100%;outline:none}.q-field__control:after,.q-field__control:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.q-field__control:before{border-radius:inherit}.q-field__shadow{top:8px;opacity:0;overflow:hidden;white-space:pre-wrap;transition:opacity .36s cubic-bezier(.4,0,.2,1)}.q-field__shadow+.q-field__native::-moz-placeholder{-moz-transition:opacity .36s cubic-bezier(.4,0,.2,1);transition:opacity .36s cubic-bezier(.4,0,.2,1)}.q-field__shadow+.q-field__native::placeholder{transition:opacity .36s cubic-bezier(.4,0,.2,1)}.q-field__shadow+.q-field__native:focus::-moz-placeholder{opacity:0}.q-field__shadow+.q-field__native:focus::placeholder{opacity:0}.q-field__input,.q-field__native,.q-field__prefix,.q-field__suffix{font-weight:400;line-height:28px;letter-spacing:.00937em;text-decoration:inherit;text-transform:inherit;border:none;border-radius:0;background:none;color:rgba(0,0,0,.87);outline:0;padding:6px 0}.q-field__input,.q-field__native{width:100%;min-width:0;outline:0!important;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.q-field__input:-webkit-autofill,.q-field__native:-webkit-autofill{-webkit-animation-name:q-autofill;-webkit-animation-fill-mode:both}.q-field__input:-webkit-autofill+.q-field__label,.q-field__native:-webkit-autofill+.q-field__label{transform:translateY(-40%) scale(.75)}.q-field__input[type=color]+.q-field__label,.q-field__input[type=date]+.q-field__label,.q-field__input[type=datetime-local]+.q-field__label,.q-field__input[type=month]+.q-field__label,.q-field__input[type=time]+.q-field__label,.q-field__input[type=week]+.q-field__label,.q-field__native[type=color]+.q-field__label,.q-field__native[type=date]+.q-field__label,.q-field__native[type=datetime-local]+.q-field__label,.q-field__native[type=month]+.q-field__label,.q-field__native[type=time]+.q-field__label,.q-field__native[type=week]+.q-field__label{transform:translateY(-40%) scale(.75)}.q-field__input:invalid,.q-field__native:invalid{box-shadow:none}.q-field__native[type=file]{line-height:1em}.q-field__input{padding:0;height:0;min-height:24px;line-height:24px}.q-field__prefix,.q-field__suffix{transition:opacity .36s cubic-bezier(.4,0,.2,1);white-space:nowrap}.q-field__prefix{padding-right:4px}.q-field__suffix{padding-left:4px}.q-field--disabled .q-placeholder,.q-field--readonly .q-placeholder{opacity:1!important}.q-field--readonly.q-field--labeled .q-field__input,.q-field--readonly.q-field--labeled .q-field__native{cursor:default}.q-field--readonly.q-field--float .q-field__input,.q-field--readonly.q-field--float .q-field__native{cursor:text}.q-field--disabled .q-field__inner{cursor:not-allowed}.q-field--disabled .q-field__control{pointer-events:none}.q-field--disabled .q-field__control>div{opacity:.6!important}.q-field--disabled .q-field__control>div,.q-field--disabled .q-field__control>div *{outline:0!important}.q-field__label{left:0;top:18px;max-width:100%;color:rgba(0,0,0,.6);font-size:16px;line-height:20px;font-weight:400;letter-spacing:.00937em;text-decoration:inherit;text-transform:inherit;transform-origin:left top;transition:transform .36s cubic-bezier(.4,0,.2,1),max-width .324s cubic-bezier(.4,0,.2,1);backface-visibility:hidden}.q-field--float .q-field__label{max-width:133%;transform:translateY(-40%) scale(.75);transition:transform .36s cubic-bezier(.4,0,.2,1),max-width .396s cubic-bezier(.4,0,.2,1)}.q-field--highlighted .q-field__label{color:currentColor}.q-field--highlighted .q-field__shadow{opacity:.5}.q-field--filled .q-field__control{padding:0 12px;background:rgba(0,0,0,.05);border-radius:4px 4px 0 0}.q-field--filled .q-field__control:before{background:rgba(0,0,0,.05);border-bottom:1px solid rgba(0,0,0,.42);opacity:0;transition:opacity .36s cubic-bezier(.4,0,.2,1),background .36s cubic-bezier(.4,0,.2,1)}.q-field--filled .q-field__control:hover:before{opacity:1}.q-field--filled .q-field__control:after{height:2px;top:auto;transform-origin:center bottom;transform:scaleX(0);background:currentColor;transition:transform .36s cubic-bezier(.4,0,.2,1)}.q-field--filled.q-field--rounded .q-field__control{border-radius:28px 28px 0 0}.q-field--filled.q-field--highlighted .q-field__control:before{opacity:1;background:rgba(0,0,0,.12)}.q-field--filled.q-field--highlighted .q-field__control:after{transform:scaleX(1)}.q-field--filled.q-field--dark .q-field__control,.q-field--filled.q-field--dark .q-field__control:before{background:hsla(0,0%,100%,.07)}.q-field--filled.q-field--dark.q-field--highlighted .q-field__control:before{background:hsla(0,0%,100%,.1)}.q-field--filled.q-field--readonly .q-field__control:before{opacity:1;background:transparent;border-bottom-style:dashed}.q-field--outlined .q-field__control{border-radius:4px;padding:0 12px}.q-field--outlined .q-field__control:before{border:1px solid rgba(0,0,0,.24);transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--outlined .q-field__control:hover:before{border-color:#000}.q-field--outlined .q-field__control:after{height:inherit;border-radius:inherit;border:2px solid transparent;transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--outlined .q-field__input:-webkit-autofill,.q-field--outlined .q-field__native:-webkit-autofill{margin-top:1px;margin-bottom:1px}.q-field--outlined.q-field--rounded .q-field__control{border-radius:28px}.q-field--outlined.q-field--highlighted .q-field__control:hover:before{border-color:transparent}.q-field--outlined.q-field--highlighted .q-field__control:after{border-color:currentColor;border-width:2px;transform:scaleX(1)}.q-field--outlined.q-field--readonly .q-field__control:before{border-style:dashed}.q-field--standard .q-field__control:before{border-bottom:1px solid rgba(0,0,0,.24);transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--standard .q-field__control:hover:before{border-color:#000}.q-field--standard .q-field__control:after{height:2px;top:auto;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;transform-origin:center bottom;transform:scaleX(0);background:currentColor;transition:transform .36s cubic-bezier(.4,0,.2,1)}.q-field--standard.q-field--highlighted .q-field__control:after{transform:scaleX(1)}.q-field--standard.q-field--readonly .q-field__control:before{border-bottom-style:dashed}.q-field--dark .q-field__control:before{border-color:hsla(0,0%,100%,.6)}.q-field--dark .q-field__control:hover:before{border-color:#fff}.q-field--dark .q-field__input,.q-field--dark .q-field__native,.q-field--dark .q-field__prefix,.q-field--dark .q-field__suffix{color:#fff}.q-field--dark .q-field__bottom,.q-field--dark .q-field__marginal,.q-field--dark:not(.q-field--highlighted) .q-field__label{color:hsla(0,0%,100%,.7)}.q-field--standout .q-field__control{padding:0 12px;background:rgba(0,0,0,.05);border-radius:4px;transition:box-shadow .36s cubic-bezier(.4,0,.2,1),background-color .36s cubic-bezier(.4,0,.2,1)}.q-field--standout .q-field__control:before{background:rgba(0,0,0,.07);opacity:0;transition:opacity .36s cubic-bezier(.4,0,.2,1),background .36s cubic-bezier(.4,0,.2,1)}.q-field--standout .q-field__control:hover:before{opacity:1}.q-field--standout.q-field--rounded .q-field__control{border-radius:28px}.q-field--standout.q-field--highlighted .q-field__control{box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);background:#000}.q-field--standout.q-field--highlighted .q-field__append,.q-field--standout.q-field--highlighted .q-field__input,.q-field--standout.q-field--highlighted .q-field__native,.q-field--standout.q-field--highlighted .q-field__prefix,.q-field--standout.q-field--highlighted .q-field__prepend,.q-field--standout.q-field--highlighted .q-field__suffix{color:#fff}.q-field--standout.q-field--readonly .q-field__control:before{opacity:1;background:transparent;border:1px dashed rgba(0,0,0,.24)}.q-field--standout.q-field--dark .q-field__control,.q-field--standout.q-field--dark .q-field__control:before{background:hsla(0,0%,100%,.07)}.q-field--standout.q-field--dark.q-field--highlighted .q-field__control{background:#fff}.q-field--standout.q-field--dark.q-field--highlighted .q-field__append,.q-field--standout.q-field--dark.q-field--highlighted .q-field__input,.q-field--standout.q-field--dark.q-field--highlighted .q-field__native,.q-field--standout.q-field--dark.q-field--highlighted .q-field__prefix,.q-field--standout.q-field--dark.q-field--highlighted .q-field__prepend,.q-field--standout.q-field--dark.q-field--highlighted .q-field__suffix{color:#000}.q-field--standout.q-field--dark.q-field--readonly .q-field__control:before{border-color:hsla(0,0%,100%,.24)}.q-field--labeled .q-field__native,.q-field--labeled .q-field__prefix,.q-field--labeled .q-field__suffix{line-height:24px;padding-top:24px;padding-bottom:8px}.q-field--labeled .q-field__shadow{top:0}.q-field--labeled:not(.q-field--float) .q-field__prefix,.q-field--labeled:not(.q-field--float) .q-field__suffix{opacity:0}.q-field--labeled:not(.q-field--float) .q-field__input::-moz-placeholder,.q-field--labeled:not(.q-field--float) .q-field__native::-moz-placeholder{color:transparent}.q-field--labeled:not(.q-field--float) .q-field__input::placeholder,.q-field--labeled:not(.q-field--float) .q-field__native::placeholder{color:transparent}.q-field--labeled.q-field--dense .q-field__native,.q-field--labeled.q-field--dense .q-field__prefix,.q-field--labeled.q-field--dense .q-field__suffix{padding-top:14px;padding-bottom:2px}.q-field--dense .q-field__shadow{top:0}.q-field--dense .q-field__control,.q-field--dense .q-field__marginal{height:40px}.q-field--dense .q-field__bottom{font-size:11px}.q-field--dense .q-field__label{font-size:14px;top:10px}.q-field--dense .q-field__before,.q-field--dense .q-field__prepend{padding-right:6px}.q-field--dense .q-field__after,.q-field--dense .q-field__append{padding-left:6px}.q-field--dense .q-field__append+.q-field__append{padding-left:2px}.q-field--dense .q-field__marginal .q-avatar{font-size:24px}.q-field--dense.q-field--float .q-field__label{transform:translateY(-30%) scale(.75)}.q-field--dense .q-field__input:-webkit-autofill+.q-field__label,.q-field--dense .q-field__native:-webkit-autofill+.q-field__label{transform:translateY(-30%) scale(.75)}.q-field--dense .q-field__input[type=color]+.q-field__label,.q-field--dense .q-field__input[type=date]+.q-field__label,.q-field--dense .q-field__input[type=datetime-local]+.q-field__label,.q-field--dense .q-field__input[type=month]+.q-field__label,.q-field--dense .q-field__input[type=time]+.q-field__label,.q-field--dense .q-field__input[type=week]+.q-field__label,.q-field--dense .q-field__native[type=color]+.q-field__label,.q-field--dense .q-field__native[type=date]+.q-field__label,.q-field--dense .q-field__native[type=datetime-local]+.q-field__label,.q-field--dense .q-field__native[type=month]+.q-field__label,.q-field--dense .q-field__native[type=time]+.q-field__label,.q-field--dense .q-field__native[type=week]+.q-field__label{transform:translateY(-30%) scale(.75)}.q-field--borderless .q-field__bottom,.q-field--borderless.q-field--dense .q-field__control,.q-field--standard .q-field__bottom,.q-field--standard.q-field--dense .q-field__control{padding-left:0;padding-right:0}.q-field--error .q-field__label{animation:q-field-label .36s}.q-field--error .q-field__bottom{color:var(--q-negative)}.q-field__focusable-action{opacity:.6;cursor:pointer;outline:0!important;border:0;color:inherit;background:transparent;padding:0}.q-field__focusable-action:focus,.q-field__focusable-action:hover{opacity:1}.q-field--auto-height .q-field__control{height:auto}.q-field--auto-height .q-field__control,.q-field--auto-height .q-field__native{min-height:56px}.q-field--auto-height .q-field__native{align-items:center}.q-field--auto-height .q-field__control-container{padding-top:0}.q-field--auto-height .q-field__native,.q-field--auto-height .q-field__prefix,.q-field--auto-height .q-field__suffix{line-height:18px}.q-field--auto-height.q-field--labeled .q-field__control-container{padding-top:24px}.q-field--auto-height.q-field--labeled .q-field__shadow{top:24px}.q-field--auto-height.q-field--labeled .q-field__native,.q-field--auto-height.q-field--labeled .q-field__prefix,.q-field--auto-height.q-field--labeled .q-field__suffix{padding-top:0}.q-field--auto-height.q-field--labeled .q-field__native{min-height:24px}.q-field--auto-height.q-field--dense .q-field__control,.q-field--auto-height.q-field--dense .q-field__native{min-height:40px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__control-container{padding-top:14px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__shadow{top:14px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__native{min-height:24px}.q-field--square .q-field__control{border-radius:0!important}.q-transition--field-message-enter-active,.q-transition--field-message-leave-active{transition:transform .6s cubic-bezier(.86,0,.07,1),opacity .6s cubic-bezier(.86,0,.07,1)}.q-transition--field-message-enter-from,.q-transition--field-message-leave-to{opacity:0;transform:translateY(-10px)}.q-transition--field-message-leave-active,.q-transition--field-message-leave-from{position:absolute}@keyframes q-field-label{40%{margin-left:2px}60%,80%{margin-left:-2px}70%,90%{margin-left:2px}}@keyframes q-autofill{to{background:transparent;color:inherit}}.q-file .q-field__native{word-break:break-all;overflow:hidden}.q-file .q-field__input{opacity:0!important}.q-file .q-field__input::-webkit-file-upload-button{cursor:pointer}.q-file__filler{visibility:hidden;width:100%;border:none;padding:0}.q-file__dnd{outline:1px dashed currentColor;outline-offset:-4px}.q-form,.q-img{position:relative}.q-img{width:100%;display:inline-block;vertical-align:middle;overflow:hidden}.q-img__loading .q-spinner{font-size:50px}.q-img__container{border-radius:inherit;font-size:0}.q-img__image{border-radius:inherit;width:100%;height:100%;opacity:0}.q-img__image--with-transition{transition:opacity .28s ease-in}.q-img__image--loaded{opacity:1}.q-img__content{border-radius:inherit;pointer-events:none}.q-img__content>div{pointer-events:all;position:absolute;padding:16px;color:#fff;background:rgba(0,0,0,.47)}.q-img--no-menu .q-img__image,.q-img--no-menu .q-img__placeholder{pointer-events:none}.q-inner-loading{background:hsla(0,0%,100%,.6)}.q-inner-loading--dark{background:rgba(0,0,0,.4)}.q-inner-loading__label{margin-top:8px}.q-textarea .q-field__control{min-height:56px;height:auto}.q-textarea .q-field__control-container{padding-top:2px;padding-bottom:2px}.q-textarea .q-field__shadow{top:2px;bottom:2px}.q-textarea .q-field__native,.q-textarea .q-field__prefix,.q-textarea .q-field__suffix{line-height:18px}.q-textarea .q-field__native{resize:vertical;padding-top:17px;min-height:52px}.q-textarea.q-field--labeled .q-field__control-container{padding-top:26px}.q-textarea.q-field--labeled .q-field__shadow{top:26px}.q-textarea.q-field--labeled .q-field__native,.q-textarea.q-field--labeled .q-field__prefix,.q-textarea.q-field--labeled .q-field__suffix{padding-top:0}.q-textarea.q-field--labeled .q-field__native{min-height:26px;padding-top:1px}.q-textarea--autogrow .q-field__native{resize:none}.q-textarea.q-field--dense .q-field__control,.q-textarea.q-field--dense .q-field__native{min-height:36px}.q-textarea.q-field--dense .q-field__native{padding-top:9px}.q-textarea.q-field--dense.q-field--labeled .q-field__control-container{padding-top:14px}.q-textarea.q-field--dense.q-field--labeled .q-field__shadow{top:14px}.q-textarea.q-field--dense.q-field--labeled .q-field__native{min-height:24px;padding-top:3px}.q-textarea.q-field--dense.q-field--labeled .q-field__prefix,.q-textarea.q-field--dense.q-field--labeled .q-field__suffix{padding-top:2px}.q-textarea.disabled .q-field__native,body.mobile .q-textarea .q-field__native{resize:none}.q-intersection{position:relative}.q-item{min-height:48px;padding:8px 16px;color:inherit;transition:color .3s,background-color .3s}.q-item__section--side{color:#757575;align-items:flex-start;padding-right:16px;width:auto;min-width:0;max-width:100%}.q-item__section--side>.q-icon{font-size:24px}.q-item__section--side>.q-avatar{font-size:40px}.q-item__section--avatar{color:inherit;min-width:56px}.q-item__section--thumbnail img{width:100px;height:56px}.q-item__section--nowrap{white-space:nowrap}.q-item>.q-focus-helper+.q-item__section--thumbnail,.q-item>.q-item__section--thumbnail:first-child{margin-left:-16px}.q-item>.q-item__section--thumbnail:last-of-type{margin-right:-16px}.q-item__label{line-height:1.2em!important;max-width:100%}.q-item__label--overline{color:rgba(0,0,0,.7)}.q-item__label--caption{color:rgba(0,0,0,.54)}.q-item__label--header{color:#757575;padding:16px;font-size:.875rem;line-height:1.25rem;letter-spacing:.01786em}.q-list--padding .q-item__label--header,.q-separator--spaced+.q-item__label--header{padding-top:8px}.q-item__label+.q-item__label{margin-top:4px}.q-item__section--main{width:auto;min-width:0;max-width:100%;flex:10000 1 0%}.q-item__section--main+.q-item__section--main{margin-left:8px}.q-item__section--main~.q-item__section--side{align-items:flex-end;padding-right:0;padding-left:16px}.q-item__section--main.q-item__section--thumbnail{margin-left:0;margin-right:-16px}.q-list--bordered{border:1px solid rgba(0,0,0,.12)}.q-list--separator>.q-item-type+.q-item-type,.q-list--separator>.q-virtual-scroll__content>.q-item-type+.q-item-type{border-top:1px solid rgba(0,0,0,.12)}.q-list--padding{padding:8px 0}.q-item--dense,.q-list--dense>.q-item{min-height:32px;padding:2px 16px}.q-list--dark.q-list--separator>.q-item-type+.q-item-type,.q-list--dark.q-list--separator>.q-virtual-scroll__content>.q-item-type+.q-item-type{border-top-color:hsla(0,0%,100%,.28)}.q-item--dark,.q-list--dark{color:#fff;border-color:hsla(0,0%,100%,.28)}.q-item--dark .q-item__section--side:not(.q-item__section--avatar),.q-list--dark .q-item__section--side:not(.q-item__section--avatar){color:hsla(0,0%,100%,.7)}.q-item--dark .q-item__label--header,.q-list--dark .q-item__label--header{color:hsla(0,0%,100%,.64)}.q-item--dark .q-item__label--caption,.q-item--dark .q-item__label--overline,.q-list--dark .q-item__label--caption,.q-list--dark .q-item__label--overline{color:hsla(0,0%,100%,.8)}.q-item{position:relative}.q-item--active,.q-item.q-router-link--active{color:var(--q-primary)}.q-knob{font-size:48px}.q-knob--editable{cursor:pointer;outline:0}.q-knob--editable:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:none;transition:box-shadow .24s ease-in-out}.q-knob--editable:focus:before{box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12)}body.body--dark .q-knob--editable:focus:before{box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}.q-layout{width:100%;outline:0}.q-layout-container{position:relative;width:100%;height:100%}.q-layout-container .q-layout{min-height:100%}.q-layout-container>div{transform:translateZ(0)}.q-layout-container>div>div{min-height:0;max-height:100%}.q-layout__shadow{width:100%}.q-layout__shadow:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:0 0 10px 2px rgba(0,0,0,.2),0 0 10px rgba(0,0,0,.24)}.q-layout__section--marginal{background-color:var(--q-primary);color:#fff}.q-header--hidden{transform:translateY(-110%)}.q-header--bordered{border-bottom:1px solid rgba(0,0,0,.12)}.q-header .q-layout__shadow{bottom:-10px}.q-header .q-layout__shadow:after{bottom:10px}.q-footer--hidden{transform:translateY(110%)}.q-footer--bordered{border-top:1px solid rgba(0,0,0,.12)}.q-footer .q-layout__shadow{top:-10px}.q-footer .q-layout__shadow:after{top:10px}.q-footer,.q-header{z-index:2000}.q-drawer{position:absolute;top:0;bottom:0;background:#fff;z-index:1000}.q-drawer--on-top{z-index:3000}.q-drawer--left{left:0;transform:translateX(-100%)}.q-drawer--left.q-drawer--bordered{border-right:1px solid rgba(0,0,0,.12)}.q-drawer--left .q-layout__shadow{left:10px;right:-10px}.q-drawer--left .q-layout__shadow:after{right:10px}.q-drawer--right{right:0;transform:translateX(100%)}.q-drawer--right.q-drawer--bordered{border-left:1px solid rgba(0,0,0,.12)}.q-drawer--right .q-layout__shadow{left:-10px}.q-drawer--right .q-layout__shadow:after{left:10px}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini{padding:0!important}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section{text-align:center;justify-content:center;padding-left:0;padding-right:0;min-width:0}.q-drawer--mini .q-expansion-item__content,.q-drawer--mini .q-mini-drawer-hide,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__label,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section--main,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section--side~.q-item__section--side{display:none}.q-drawer--mini-animate .q-drawer__content{overflow-x:hidden!important;white-space:nowrap}.q-drawer--mobile .q-mini-drawer-hide,.q-drawer--mobile .q-mini-drawer-only,.q-drawer--standard .q-mini-drawer-only{display:none}.q-drawer__backdrop{z-index:2999!important;will-change:background-color}.q-drawer__opener{z-index:2001;height:100%;width:15px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.q-footer,.q-header,.q-layout,.q-page{position:relative}.q-page-sticky--shrink{pointer-events:none}.q-page-sticky--shrink>div{display:inline-block;pointer-events:auto}body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content,body.q-ios-padding .q-layout--standard .q-header>.q-tabs:first-child .q-tabs-head,body.q-ios-padding .q-layout--standard .q-header>.q-toolbar:first-child{padding-top:20px;min-height:70px;padding-top:env(safe-area-inset-top);min-height:calc(env(safe-area-inset-top) + 50px)}body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content,body.q-ios-padding .q-layout--standard .q-footer>.q-tabs:last-child .q-tabs-head,body.q-ios-padding .q-layout--standard .q-footer>.q-toolbar:last-child{padding-bottom:env(safe-area-inset-bottom);min-height:calc(env(safe-area-inset-bottom) + 50px)}.q-body--layout-animate .q-drawer__backdrop{transition:background-color .12s!important}.q-body--layout-animate .q-drawer{transition:transform .12s,width .12s,top .12s,bottom .12s!important}.q-body--layout-animate .q-layout__section--marginal{transition:transform .12s,left .12s,right .12s!important}.q-body--layout-animate .q-page-container{transition:padding-top .12s,padding-right .12s,padding-bottom .12s,padding-left .12s!important}.q-body--layout-animate .q-page-sticky{transition:transform .12s,left .12s,right .12s,top .12s,bottom .12s!important}body:not(.q-body--layout-animate) .q-layout--prevent-focus{visibility:hidden}.q-body--drawer-toggle{overflow-x:hidden!important}@media(max-width:599.98px){.q-layout-padding{padding:8px}}@media(min-width:600px)and (max-width:1439.98px){.q-layout-padding{padding:16px}}@media(min-width:1440px){.q-layout-padding{padding:24px}}body.body--dark .q-drawer,body.body--dark .q-footer,body.body--dark .q-header{border-color:hsla(0,0%,100%,.28)}body.body--dark .q-layout__shadow:after{box-shadow:0 0 10px 2px hsla(0,0%,100%,.2),0 0 10px hsla(0,0%,100%,.24)}body.platform-ios .q-layout--containerized{position:unset!important}.q-linear-progress{--q-linear-progress-speed:.3s;position:relative;width:100%;overflow:hidden;font-size:4px;height:1em;color:var(--q-primary);transform:scaleX(1)}.q-linear-progress__model,.q-linear-progress__track{transform-origin:0 0}.q-linear-progress__model--with-transition,.q-linear-progress__track--with-transition{transition:transform var(--q-linear-progress-speed)}.q-linear-progress--reverse .q-linear-progress__model,.q-linear-progress--reverse .q-linear-progress__track{transform-origin:0 100%}.q-linear-progress__model--determinate{background:currentColor}.q-linear-progress__model--indeterminate,.q-linear-progress__model--query{transition:none}.q-linear-progress__model--indeterminate:after,.q-linear-progress__model--indeterminate:before,.q-linear-progress__model--query:after,.q-linear-progress__model--query:before{background:currentColor;content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0}.q-linear-progress__model--indeterminate:before,.q-linear-progress__model--query:before{animation:q-linear-progress--indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.q-linear-progress__model--indeterminate:after,.q-linear-progress__model--query:after{transform:translate3d(-101%,0,0) scaleX(1);animation:q-linear-progress--indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}.q-linear-progress__track{opacity:.4}.q-linear-progress__track--light{background:rgba(0,0,0,.26)}.q-linear-progress__track--dark{background:hsla(0,0%,100%,.6)}.q-linear-progress__stripe{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,0) 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,0))!important;background-size:40px 40px!important}.q-linear-progress__stripe--with-transition{transition:width var(--q-linear-progress-speed)}@keyframes q-linear-progress--indeterminate{0%{transform:translate3d(-35%,0,0) scaleX(.35)}60%{transform:translate3d(100%,0,0) scaleX(.9)}to{transform:translate3d(100%,0,0) scaleX(.9)}}@keyframes q-linear-progress--indeterminate-short{0%{transform:translate3d(-101%,0,0) scaleX(1)}60%{transform:translate3d(107%,0,0) scaleX(.01)}to{transform:translate3d(107%,0,0) scaleX(.01)}}.q-menu{position:fixed!important;display:inline-block;max-width:95vw;box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);background:#fff;border-radius:4px;overflow-y:auto;overflow-x:hidden;outline:0;max-height:65vh;z-index:6000}.q-menu--square{border-radius:0}.q-menu--dark{box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}.q-option-group--inline>div{display:inline-block}.q-pagination input{text-align:center;-moz-appearance:textfield}.q-pagination input::-webkit-inner-spin-button,.q-pagination input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.q-pagination__content{--q-pagination-gutter-parent:-2px;--q-pagination-gutter-child:2px;margin-top:var(--q-pagination-gutter-parent);margin-left:var(--q-pagination-gutter-parent)}.q-pagination__content>.q-btn,.q-pagination__content>.q-input,.q-pagination__middle>.q-btn{margin-top:var(--q-pagination-gutter-child);margin-left:var(--q-pagination-gutter-child)}.q-parallax{position:relative;width:100%;overflow:hidden;border-radius:inherit}.q-parallax__media>img,.q-parallax__media>video{position:absolute;left:50%;bottom:0;min-width:100%;min-height:100%;will-change:transform;display:none}.q-popup-edit{padding:8px 16px}.q-popup-edit__buttons{margin-top:8px}.q-popup-edit__buttons .q-btn+.q-btn{margin-left:8px}.q-pull-to-refresh{position:relative}.q-pull-to-refresh__puller{border-radius:50%;width:40px;height:40px;color:var(--q-primary);background:#fff;box-shadow:0 0 4px 0 rgba(0,0,0,.3)}.q-pull-to-refresh__puller--animating{transition:transform .3s,opacity .3s}.q-radio{vertical-align:middle}.q-radio__native{width:1px;height:1px}.q-radio__bg,.q-radio__icon-container{-webkit-user-select:none;-moz-user-select:none;user-select:none}.q-radio__bg{top:25%;left:25%;width:50%;height:50%;-webkit-print-color-adjust:exact}.q-radio__bg path{fill:currentColor}.q-radio__icon{color:currentColor;font-size:.5em}.q-radio__check{transform-origin:50% 50%;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}.q-radio__inner{font-size:40px;width:1em;min-width:1em;height:1em;outline:0;border-radius:50%;color:rgba(0,0,0,.54)}.q-radio__inner--truthy{color:var(--q-primary)}.q-radio__inner--truthy .q-radio__check{transform:scaleX(1)}.q-radio.disabled{opacity:.75!important}.q-radio--dark .q-radio__inner{color:hsla(0,0%,100%,.7)}.q-radio--dark .q-radio__inner:before{opacity:.32!important}.q-radio--dark .q-radio__inner--truthy{color:var(--q-primary)}.q-radio--dense .q-radio__inner{width:.5em;min-width:.5em;height:.5em}.q-radio--dense .q-radio__bg{left:0;top:0;width:100%;height:100%}.q-radio--dense .q-radio__label{padding-left:.5em}.q-radio--dense.reverse .q-radio__label{padding-left:0;padding-right:.5em}body.desktop .q-radio:not(.disabled) .q-radio__inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}body.desktop .q-radio:not(.disabled):focus .q-radio__inner:before,body.desktop .q-radio:not(.disabled):hover .q-radio__inner:before{transform:scaleX(1)}body.desktop .q-radio--dense:not(.disabled):focus .q-radio__inner:before,body.desktop .q-radio--dense:not(.disabled):hover .q-radio__inner:before{transform:scale3d(1.5,1.5,1)}.q-rating{color:#ffeb3b;vertical-align:middle}.q-rating__icon-container{height:1em;outline:0}.q-rating__icon-container+.q-rating__icon-container{margin-left:2px}.q-rating__icon{color:currentColor;text-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);position:relative;opacity:.4;transition:transform .2s ease-in,opacity .2s ease-in}.q-rating__icon--hovered{transform:scale(1.3)}.q-rating__icon--active{opacity:1}.q-rating__icon--exselected{opacity:.7}.q-rating--no-dimming .q-rating__icon{opacity:1}.q-rating--editable .q-rating__icon-container{cursor:pointer}.q-responsive{position:relative;max-width:100%;max-height:100%}.q-responsive__filler{width:inherit;max-width:inherit;height:inherit;max-height:inherit}.q-responsive__content{border-radius:inherit}.q-responsive__content>*{width:100%!important;height:100%!important;max-height:100%!important;max-width:100%!important}.q-scrollarea{position:relative;contain:strict}.q-scrollarea__bar,.q-scrollarea__thumb{opacity:.2;transition:opacity .3s;will-change:opacity;cursor:grab}.q-scrollarea__bar--v,.q-scrollarea__thumb--v{right:0;width:10px}.q-scrollarea__bar--h,.q-scrollarea__thumb--h{bottom:0;height:10px}.q-scrollarea__bar--invisible,.q-scrollarea__thumb--invisible{opacity:0!important;pointer-events:none}.q-scrollarea__thumb{background:#000;border-radius:3px}.q-scrollarea__thumb:hover{opacity:.3}.q-scrollarea__thumb:active{opacity:.5}.q-scrollarea__content{min-height:100%;min-width:100%}.q-scrollarea--dark .q-scrollarea__thumb{background:#fff}.q-select--without-input .q-field__control{cursor:pointer}.q-select--with-input .q-field__control{cursor:text}.q-select .q-field__input{min-width:50px!important;cursor:text}.q-select .q-field__input--padding{padding-left:4px}.q-select__autocomplete-input,.q-select__focus-target{position:absolute;outline:0!important;width:1px;height:1px;padding:0;border:0;opacity:0}.q-select__dropdown-icon{cursor:pointer;transition:transform .28s}.q-select.q-field--readonly .q-field__control,.q-select.q-field--readonly .q-select__dropdown-icon{cursor:default}.q-select__dialog{width:90vw!important;max-width:90vw!important;max-height:calc(100vh - 70px)!important;background:#fff;display:flex;flex-direction:column}.q-select__dialog>.scroll{position:relative;background:inherit}body.mobile:not(.native-mobile) .q-select__dialog{max-height:calc(100vh - 108px)!important}body.platform-android.native-mobile .q-dialog__inner--top .q-select__dialog{max-height:calc(100vh - 24px)!important}body.platform-android:not(.native-mobile) .q-dialog__inner--top .q-select__dialog{max-height:calc(100vh - 80px)!important}body.platform-ios.native-mobile .q-dialog__inner--top>div{border-radius:4px}body.platform-ios.native-mobile .q-dialog__inner--top .q-select__dialog--focused{max-height:47vh!important}body.platform-ios:not(.native-mobile) .q-dialog__inner--top .q-select__dialog--focused{max-height:50vh!important}.q-separator{border:0;background:rgba(0,0,0,.12);margin:0;transition:background .3s,opacity .3s;flex-shrink:0}.q-separator--dark{background:hsla(0,0%,100%,.28)}.q-separator--horizontal{display:block;height:1px}.q-separator--horizontal-inset{margin-left:16px;margin-right:16px}.q-separator--horizontal-item-inset{margin-left:72px;margin-right:0}.q-separator--horizontal-item-thumbnail-inset{margin-left:116px;margin-right:0}.q-separator--vertical{width:1px;height:auto;align-self:stretch}.q-separator--vertical-inset{margin-top:8px;margin-bottom:8px}.q-skeleton{--q-skeleton-speed:1500ms;background:rgba(0,0,0,.12);border-radius:4px;box-sizing:border-box}.q-skeleton--anim{cursor:wait}.q-skeleton:before{content:" "}.q-skeleton--type-text{transform:scaleY(.5)}.q-skeleton--type-QAvatar,.q-skeleton--type-circle{height:48px;width:48px;border-radius:50%}.q-skeleton--type-QBtn{width:90px;height:36px}.q-skeleton--type-QBadge{width:70px;height:16px}.q-skeleton--type-QChip{width:90px;height:28px;border-radius:16px}.q-skeleton--type-QToolbar{height:50px}.q-skeleton--type-QCheckbox,.q-skeleton--type-QRadio{width:40px;height:40px;border-radius:50%}.q-skeleton--type-QToggle{width:56px;height:40px;border-radius:7px}.q-skeleton--type-QRange,.q-skeleton--type-QSlider{height:40px}.q-skeleton--type-QInput{height:56px}.q-skeleton--bordered{border:1px solid rgba(0,0,0,.05)}.q-skeleton--square{border-radius:0}.q-skeleton--anim-fade{animation:q-skeleton--fade var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--anim-pulse{animation:q-skeleton--pulse var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-pulse-x{animation:q-skeleton--pulse-x var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-pulse-y{animation:q-skeleton--pulse-y var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-blink,.q-skeleton--anim-pop,.q-skeleton--anim-wave{position:relative;overflow:hidden;z-index:1}.q-skeleton--anim-blink:after,.q-skeleton--anim-pop:after,.q-skeleton--anim-wave:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.q-skeleton--anim-blink:after{background:hsla(0,0%,100%,.7);animation:q-skeleton--fade var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--anim-wave:after{background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.5),hsla(0,0%,100%,0));animation:q-skeleton--wave var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--dark{background:hsla(0,0%,100%,.05)}.q-skeleton--dark.q-skeleton--bordered{border:1px solid hsla(0,0%,100%,.25)}.q-skeleton--dark.q-skeleton--anim-wave:after{background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.1),hsla(0,0%,100%,0))}.q-skeleton--dark.q-skeleton--anim-blink:after{background:hsla(0,0%,100%,.2)}@keyframes q-skeleton--fade{0%{opacity:1}50%{opacity:.4}to{opacity:1}}@keyframes q-skeleton--pulse{0%{transform:scale(1)}50%{transform:scale(.85)}to{transform:scale(1)}}@keyframes q-skeleton--pulse-x{0%{transform:scaleX(1)}50%{transform:scaleX(.75)}to{transform:scaleX(1)}}@keyframes q-skeleton--pulse-y{0%{transform:scaleY(1)}50%{transform:scaleY(.75)}to{transform:scaleY(1)}}@keyframes q-skeleton--wave{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.q-slide-item{position:relative;background:#fff}.q-slide-item__bottom,.q-slide-item__left,.q-slide-item__right,.q-slide-item__top{visibility:hidden;font-size:14px;color:#fff}.q-slide-item__bottom .q-icon,.q-slide-item__left .q-icon,.q-slide-item__right .q-icon,.q-slide-item__top .q-icon{font-size:1.714em}.q-slide-item__left{background:#4caf50;padding:8px 16px}.q-slide-item__left>div{transform-origin:left center}.q-slide-item__right{background:#ff9800;padding:8px 16px}.q-slide-item__right>div{transform-origin:right center}.q-slide-item__top{background:#2196f3;padding:16px 8px}.q-slide-item__top>div{transform-origin:top center}.q-slide-item__bottom{background:#9c27b0;padding:16px 8px}.q-slide-item__bottom>div{transform-origin:bottom center}.q-slide-item__content{background:inherit;transition:transform .2s ease-in;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}.q-slider{position:relative}.q-slider--h{width:100%}.q-slider--v{height:200px}.q-slider--editable .q-slider__track-container{cursor:grab}.q-slider__track-container{outline:0}.q-slider__track-container--h{width:100%;padding:12px 0}.q-slider__track-container--h .q-slider__selection{will-change:width,left}.q-slider__track-container--v{height:100%;padding:0 12px}.q-slider__track-container--v .q-slider__selection{will-change:height,top}.q-slider__track{color:var(--q-primary);background:rgba(0,0,0,.1);border-radius:4px;width:inherit;height:inherit}.q-slider__inner{background:rgba(0,0,0,.1)}.q-slider__inner,.q-slider__selection{border-radius:inherit;width:100%;height:100%}.q-slider__selection{background:currentColor}.q-slider__markers{color:rgba(0,0,0,.3);border-radius:inherit;width:100%;height:100%}.q-slider__markers:after{content:"";position:absolute;background:currentColor}.q-slider__markers--h{background-image:repeating-linear-gradient(90deg,currentColor,currentColor 2px,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,0))}.q-slider__markers--h:after{height:100%;width:2px;top:0;right:0}.q-slider__markers--v{background-image:repeating-linear-gradient(180deg,currentColor,currentColor 2px,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,0))}.q-slider__markers--v:after{width:100%;height:2px;left:0;bottom:0}.q-slider__marker-labels-container{position:relative;width:100%;height:100%;min-height:24px;min-width:24px}.q-slider__marker-labels{position:absolute}.q-slider__marker-labels--h-standard{top:0}.q-slider__marker-labels--h-switched{bottom:0}.q-slider__marker-labels--h-ltr{transform:translateX(-50%)}.q-slider__marker-labels--h-rtl{transform:translateX(50%)}.q-slider__marker-labels--v-standard{left:4px}.q-slider__marker-labels--v-switched{right:4px}.q-slider__marker-labels--v-ltr{transform:translateY(-50%)}.q-slider__marker-labels--v-rtl{transform:translateY(50%)}.q-slider__thumb{z-index:1;outline:0;color:var(--q-primary);transition:transform .18s ease-out,fill .18s ease-out,stroke .18s ease-out}.q-slider__thumb.q-slider--focus{opacity:1!important}.q-slider__thumb--h{top:50%;will-change:left}.q-slider__thumb--h-ltr{transform:scale(1) translate(-50%,-50%)}.q-slider__thumb--h-rtl{transform:scale(1) translate(50%,-50%)}.q-slider__thumb--v{left:50%;will-change:top}.q-slider__thumb--v-ltr{transform:scale(1) translate(-50%,-50%)}.q-slider__thumb--v-rtl{transform:scale(1) translate(-50%,50%)}.q-slider__thumb-shape{top:0;left:0;stroke-width:3.5;stroke:currentColor;transition:transform .28s}.q-slider__thumb-shape path{stroke:currentColor;fill:currentColor}.q-slider__focus-ring{border-radius:50%;opacity:0;transition:transform .26667s ease-out,opacity .26667s ease-out,background-color .26667s ease-out;transition-delay:.14s}.q-slider__pin{opacity:0;white-space:nowrap;transition:opacity .28s ease-out;transition-delay:.14s}.q-slider__pin:before{content:"";width:0;height:0;position:absolute}.q-slider__pin--h:before{border-left:6px solid transparent;border-right:6px solid transparent;left:50%;transform:translateX(-50%)}.q-slider__pin--h-standard{bottom:100%}.q-slider__pin--h-standard:before{bottom:2px;border-top:6px solid currentColor}.q-slider__pin--h-switched{top:100%}.q-slider__pin--h-switched:before{top:2px;border-bottom:6px solid currentColor}.q-slider__pin--v{top:0}.q-slider__pin--v:before{top:50%;transform:translateY(-50%);border-top:6px solid transparent;border-bottom:6px solid transparent}.q-slider__pin--v-standard{left:100%}.q-slider__pin--v-standard:before{left:2px;border-right:6px solid currentColor}.q-slider__pin--v-switched{right:100%}.q-slider__pin--v-switched:before{right:2px;border-left:6px solid currentColor}.q-slider__label{z-index:1;white-space:nowrap;position:absolute}.q-slider__label--h{left:50%;transform:translateX(-50%)}.q-slider__label--h-standard{bottom:7px}.q-slider__label--h-switched{top:7px}.q-slider__label--v{top:50%;transform:translateY(-50%)}.q-slider__label--v-standard{left:7px}.q-slider__label--v-switched{right:7px}.q-slider__text-container{min-height:25px;padding:2px 8px;border-radius:4px;background:currentColor;position:relative;text-align:center}.q-slider__text{color:#fff;font-size:12px}.q-slider--no-value .q-slider__inner,.q-slider--no-value .q-slider__selection,.q-slider--no-value .q-slider__thumb{opacity:0}.q-slider--focus .q-slider__focus-ring,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__focus-ring{background:currentColor;transform:scale3d(1.55,1.55,1);opacity:.25}.q-slider--focus .q-slider__inner,.q-slider--focus .q-slider__selection,.q-slider--focus .q-slider__thumb,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__inner,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__selection,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__thumb{opacity:1}.q-slider--inactive .q-slider__thumb--h{transition:left .28s,right .28s}.q-slider--inactive .q-slider__thumb--v{transition:top .28s,bottom .28s}.q-slider--inactive .q-slider__selection{transition:width .28s,left .28s,right .28s,height .28s,top .28s,bottom .28s}.q-slider--inactive .q-slider__text-container{transition:transform .28s}.q-slider--active{cursor:grabbing}.q-slider--active .q-slider__thumb-shape{transform:scale(1.5)}.q-slider--active .q-slider__focus-ring,.q-slider--active.q-slider--label .q-slider__thumb-shape{transform:scale(0)!important}.q-slider--label .q-slider--focus .q-slider__pin,.q-slider--label.q-slider--active .q-slider__pin,.q-slider--label.q-slider--label-always .q-slider__pin,body.desktop .q-slider.q-slider--enabled .q-slider__track-container:hover .q-slider__pin{opacity:1}.q-slider--dark .q-slider__inner,.q-slider--dark .q-slider__track{background:hsla(0,0%,100%,.1)}.q-slider--dark .q-slider__markers{color:hsla(0,0%,100%,.3)}.q-slider--dense .q-slider__track-container--h{padding:6px 0}.q-slider--dense .q-slider__track-container--v{padding:0 6px}.q-space{flex-grow:1!important}.q-spinner{vertical-align:middle}.q-spinner-mat{animation:q-spin 2s linear infinite;transform-origin:center center}.q-spinner-mat .path{stroke-dasharray:1,200;stroke-dashoffset:0;animation:q-mat-dash 1.5s ease-in-out infinite}@keyframes q-spin{0%{transform:rotate(0deg)}25%{transform:rotate(90deg)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg)}to{transform:rotate(359deg)}}@keyframes q-mat-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.q-splitter__panel{position:relative;z-index:0}.q-splitter__panel>.q-splitter{width:100%;height:100%}.q-splitter__separator{background-color:rgba(0,0,0,.12);-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;z-index:1}.q-splitter__separator-area>*{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.q-splitter--dark .q-splitter__separator{background-color:hsla(0,0%,100%,.28)}.q-splitter--vertical>.q-splitter__panel{height:100%}.q-splitter--vertical.q-splitter--active{cursor:col-resize}.q-splitter--vertical>.q-splitter__separator{width:1px}.q-splitter--vertical>.q-splitter__separator>div{left:-6px;right:-6px}.q-splitter--vertical.q-splitter--workable>.q-splitter__separator{cursor:col-resize}.q-splitter--horizontal>.q-splitter__panel{width:100%}.q-splitter--horizontal.q-splitter--active{cursor:row-resize}.q-splitter--horizontal>.q-splitter__separator{height:1px}.q-splitter--horizontal>.q-splitter__separator>div{top:-6px;bottom:-6px}.q-splitter--horizontal.q-splitter--workable>.q-splitter__separator{cursor:row-resize}.q-splitter__after,.q-splitter__before{overflow:auto}.q-stepper{box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);border-radius:4px;background:#fff}.q-stepper__title{font-size:14px;line-height:18px;letter-spacing:.1px}.q-stepper__caption{font-size:12px;line-height:14px}.q-stepper__dot{contain:layout;margin-right:8px;font-size:14px;width:24px;min-width:24px;height:24px;border-radius:50%;background:currentColor}.q-stepper__dot span{color:#fff}.q-stepper__tab{padding:8px 24px;font-size:14px;color:#9e9e9e;flex-direction:row}.q-stepper--dark{box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}.q-stepper--dark .q-stepper__dot span{color:#000}.q-stepper__tab--navigation{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}.q-stepper__tab--active,.q-stepper__tab--done{color:var(--q-primary)}.q-stepper__tab--active .q-stepper__dot,.q-stepper__tab--active .q-stepper__label,.q-stepper__tab--done .q-stepper__dot,.q-stepper__tab--done .q-stepper__label{text-shadow:0 0 0 currentColor}.q-stepper__tab--disabled .q-stepper__dot{background:rgba(0,0,0,.22)}.q-stepper__tab--disabled .q-stepper__label{color:rgba(0,0,0,.32)}.q-stepper__tab--error{color:var(--q-negative)}.q-stepper__tab--error-with-icon .q-stepper__dot{background:transparent!important}.q-stepper__tab--error-with-icon .q-stepper__dot span{color:currentColor;font-size:24px}.q-stepper__header{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-stepper__header--border{border-bottom:1px solid rgba(0,0,0,.12)}.q-stepper__header--standard-labels .q-stepper__tab{min-height:72px;justify-content:center}.q-stepper__header--standard-labels .q-stepper__tab:first-child{justify-content:flex-start}.q-stepper__header--standard-labels .q-stepper__tab:last-child{justify-content:flex-end}.q-stepper__header--standard-labels .q-stepper__tab:only-child{justify-content:center}.q-stepper__header--standard-labels .q-stepper__dot:after{display:none}.q-stepper__header--alternative-labels .q-stepper__tab{min-height:104px;padding:24px 32px;flex-direction:column;justify-content:flex-start}.q-stepper__header--alternative-labels .q-stepper__dot{margin-right:0}.q-stepper__header--alternative-labels .q-stepper__label{margin-top:8px;text-align:center}.q-stepper__header--alternative-labels .q-stepper__label:after,.q-stepper__header--alternative-labels .q-stepper__label:before{display:none}.q-stepper__header--contracted,.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab{min-height:72px}.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab:first-child{align-items:flex-start}.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab:last-child{align-items:flex-end}.q-stepper__header--contracted .q-stepper__tab{padding:24px 0}.q-stepper__header--contracted .q-stepper__tab:first-child .q-stepper__dot{transform:translateX(24px)}.q-stepper__header--contracted .q-stepper__tab:last-child .q-stepper__dot{transform:translateX(-24px)}.q-stepper__header--contracted .q-stepper__tab:not(:last-child) .q-stepper__dot:after{display:block!important}.q-stepper__header--contracted .q-stepper__dot{margin:0}.q-stepper__header--contracted .q-stepper__label{display:none}.q-stepper__nav{padding-top:24px}.q-stepper--flat{box-shadow:none}.q-stepper--bordered{border:1px solid rgba(0,0,0,.12)}.q-stepper--horizontal .q-stepper__step-inner{padding:24px}.q-stepper--horizontal .q-stepper__tab:first-child{border-top-left-radius:inherit}.q-stepper--horizontal .q-stepper__tab:last-child{border-top-right-radius:inherit}.q-stepper--horizontal .q-stepper__tab:first-child .q-stepper__dot:before,.q-stepper--horizontal .q-stepper__tab:last-child .q-stepper__dot:after,.q-stepper--horizontal .q-stepper__tab:last-child .q-stepper__label:after{display:none}.q-stepper--horizontal .q-stepper__tab{overflow:hidden}.q-stepper--horizontal .q-stepper__line{contain:layout}.q-stepper--horizontal .q-stepper__line:after,.q-stepper--horizontal .q-stepper__line:before{position:absolute;top:50%;height:1px;width:100vw;background:rgba(0,0,0,.12)}.q-stepper--horizontal .q-stepper__dot:after,.q-stepper--horizontal .q-stepper__label:after{content:"";left:100%;margin-left:8px}.q-stepper--horizontal .q-stepper__dot:before{content:"";right:100%;margin-right:8px}.q-stepper--horizontal>.q-stepper__nav{padding:0 24px 24px}.q-stepper--vertical{padding:16px 0}.q-stepper--vertical .q-stepper__tab{padding:12px 24px}.q-stepper--vertical .q-stepper__title{line-height:18px}.q-stepper--vertical .q-stepper__step-inner{padding:0 24px 32px 60px}.q-stepper--vertical>.q-stepper__nav{padding:24px 24px 0}.q-stepper--vertical .q-stepper__step{overflow:hidden}.q-stepper--vertical .q-stepper__dot{margin-right:12px}.q-stepper--vertical .q-stepper__dot:after,.q-stepper--vertical .q-stepper__dot:before{content:"";position:absolute;left:50%;width:1px;height:99999px;background:rgba(0,0,0,.12)}.q-stepper--vertical .q-stepper__dot:before{bottom:100%;margin-bottom:8px}.q-stepper--vertical .q-stepper__dot:after{top:100%;margin-top:8px}.q-stepper--vertical .q-stepper__step:first-child .q-stepper__dot:before,.q-stepper--vertical .q-stepper__step:last-child .q-stepper__dot:after{display:none}.q-stepper--vertical .q-stepper__step:last-child .q-stepper__step-inner{padding-bottom:8px}.q-stepper--dark .q-stepper__header--border,.q-stepper--dark.q-stepper--bordered{border-color:hsla(0,0%,100%,.28)}.q-stepper--dark.q-stepper--horizontal .q-stepper__line:after,.q-stepper--dark.q-stepper--horizontal .q-stepper__line:before,.q-stepper--dark.q-stepper--vertical .q-stepper__dot:after,.q-stepper--dark.q-stepper--vertical .q-stepper__dot:before{background:hsla(0,0%,100%,.28)}.q-stepper--dark .q-stepper__tab--disabled{color:hsla(0,0%,100%,.28)}.q-stepper--dark .q-stepper__tab--disabled .q-stepper__dot{background:hsla(0,0%,100%,.28)}.q-stepper--dark .q-stepper__tab--disabled .q-stepper__label{color:hsla(0,0%,100%,.54)}.q-tab-panels{background:#fff}.q-tab-panel{padding:16px}.q-markup-table{overflow:auto;background:#fff}.q-table{width:100%;max-width:100%;border-collapse:separate;border-spacing:0}.q-table tbody td,.q-table thead tr{height:48px}.q-table th{font-weight:500;font-size:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.q-table th.sortable{cursor:pointer}.q-table th.sortable:hover .q-table__sort-icon{opacity:.64}.q-table th.sorted .q-table__sort-icon{opacity:.86!important}.q-table th.sort-desc .q-table__sort-icon{transform:rotate(180deg)}.q-table td,.q-table th{padding:7px 16px;background-color:inherit}.q-table td,.q-table th,.q-table thead{border-style:solid;border-width:0}.q-table tbody td{font-size:13px}.q-table__card{color:#000;background-color:#fff;border-radius:4px;box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12)}.q-table__card .q-table__middle{flex:1 1 auto}.q-table__card .q-table__bottom,.q-table__card .q-table__top{flex:0 0 auto}.q-table__container{position:relative}.q-table__container>div:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-table__container>div:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.q-table__container>.q-inner-loading{border-radius:inherit!important}.q-table__top{padding:12px 16px}.q-table__top .q-table__control{flex-wrap:wrap}.q-table__title{font-size:20px;letter-spacing:.005em;font-weight:400}.q-table__separator{min-width:8px!important}.q-table__progress{height:0!important}.q-table__progress th{padding:0!important;border:0!important}.q-table__progress .q-linear-progress{position:absolute;bottom:0}.q-table__middle{max-width:100%}.q-table__bottom{min-height:50px;padding:4px 14px 4px 16px;font-size:12px}.q-table__bottom .q-table__control{min-height:24px}.q-table__bottom-nodata-icon{font-size:200%;margin-right:8px}.q-table__bottom-item{margin-right:16px}.q-table__control{display:flex;align-items:center}.q-table__sort-icon{transition:transform .3s cubic-bezier(.25,.8,.5,1);opacity:0;font-size:120%}.q-table__sort-icon--center,.q-table__sort-icon--left{margin-left:4px}.q-table__sort-icon--right{margin-right:4px}.q-table--col-auto-width{width:1px}.q-table--dark,.q-table__card--dark{box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}.q-table--flat{box-shadow:none}.q-table--bordered{border:1px solid rgba(0,0,0,.12)}.q-table--square{border-radius:0}.q-table__linear-progress{height:2px}.q-table--no-wrap td,.q-table--no-wrap th{white-space:nowrap}.q-table--grid{box-shadow:none;border-radius:4px}.q-table--grid .q-table__top{padding-bottom:4px}.q-table--grid .q-table__middle{min-height:2px;margin-bottom:4px}.q-table--grid .q-table__middle thead,.q-table--grid .q-table__middle thead th{border:0!important}.q-table--grid .q-table__linear-progress{bottom:0}.q-table--grid .q-table__bottom{border-top:0}.q-table--grid .q-table__grid-content{flex:1 1 auto}.q-table--grid.fullscreen{background:inherit}.q-table__grid-item-card{vertical-align:top;padding:12px}.q-table__grid-item-card .q-separator{margin:12px 0}.q-table__grid-item-row+.q-table__grid-item-row{margin-top:8px}.q-table__grid-item-title{opacity:.54;font-weight:500;font-size:12px}.q-table__grid-item-value{font-size:13px}.q-table__grid-item{padding:4px;transition:transform .3s cubic-bezier(.25,.8,.5,1)}.q-table__grid-item--selected{transform:scale(.95)}.q-table--cell-separator tbody tr:not(:last-child)>td,.q-table--cell-separator thead th,.q-table--horizontal-separator tbody tr:not(:last-child)>td,.q-table--horizontal-separator thead th{border-bottom-width:1px}.q-table--cell-separator td,.q-table--cell-separator th,.q-table--vertical-separator td,.q-table--vertical-separator th{border-left-width:1px}.q-table--cell-separator thead tr:last-child th,.q-table--cell-separator.q-table--loading tr:nth-last-child(2) th,.q-table--vertical-separator thead tr:last-child th,.q-table--vertical-separator.q-table--loading tr:nth-last-child(2) th{border-bottom-width:1px}.q-table--cell-separator td:first-child,.q-table--cell-separator th:first-child,.q-table--vertical-separator td:first-child,.q-table--vertical-separator th:first-child{border-left:0}.q-table--cell-separator .q-table__top,.q-table--vertical-separator .q-table__top{border-bottom:1px solid rgba(0,0,0,.12)}.q-table--dense .q-table__top{padding:6px 16px}.q-table--dense .q-table__bottom{min-height:33px}.q-table--dense .q-table__sort-icon{font-size:110%}.q-table--dense .q-table td,.q-table--dense .q-table th{padding:4px 8px}.q-table--dense .q-table tbody td,.q-table--dense .q-table tbody tr,.q-table--dense .q-table thead tr{height:28px}.q-table--dense .q-table td:first-child,.q-table--dense .q-table th:first-child{padding-left:16px}.q-table--dense .q-table td:last-child,.q-table--dense .q-table th:last-child{padding-right:16px}.q-table--dense .q-table__bottom-item{margin-right:8px}.q-table--dense .q-table__select .q-field__control,.q-table--dense .q-table__select .q-field__native{min-height:24px;padding:0}.q-table--dense .q-table__select .q-field__marginal{height:24px}.q-table__bottom{border-top:1px solid rgba(0,0,0,.12)}.q-table td,.q-table th,.q-table thead,.q-table tr{border-color:rgba(0,0,0,.12)}.q-table tbody td{position:relative}.q-table tbody td:after,.q-table tbody td:before{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.q-table tbody td:before{background:rgba(0,0,0,.03)}.q-table tbody td:after{background:rgba(0,0,0,.06)}.q-table tbody tr.selected td:after,body.desktop .q-table>tbody>tr:not(.q-tr--no-hover):hover>td:not(.q-td--no-hover):before{content:""}.q-table--dark,.q-table--dark .q-table__bottom,.q-table--dark td,.q-table--dark th,.q-table--dark thead,.q-table--dark tr,.q-table__card--dark{border-color:hsla(0,0%,100%,.28)}.q-table--dark tbody td:before{background:hsla(0,0%,100%,.07)}.q-table--dark tbody td:after{background:hsla(0,0%,100%,.1)}.q-table--dark.q-table--cell-separator .q-table__top,.q-table--dark.q-table--vertical-separator .q-table__top{border-color:hsla(0,0%,100%,.28)}.q-tab{padding:0 16px;min-height:48px;transition:color .3s,background-color .3s;text-transform:uppercase;white-space:nowrap;color:inherit;text-decoration:none}.q-tab--full{min-height:72px}.q-tab--no-caps{text-transform:none}.q-tab__content{height:inherit;padding:4px 0;min-width:40px}.q-tab__content--inline .q-tab__icon+.q-tab__label{padding-left:8px}.q-tab__content .q-chip--floating{top:0;right:-16px}.q-tab__icon{width:24px;height:24px;font-size:24px}.q-tab__label{font-size:14px;line-height:1.715em;font-weight:500}.q-tab .q-badge{top:3px;right:-12px}.q-tab__alert,.q-tab__alert-icon{position:absolute}.q-tab__alert{top:7px;right:-9px;height:10px;width:10px;border-radius:50%;background:currentColor}.q-tab__alert-icon{top:2px;right:-12px;font-size:18px}.q-tab__indicator{opacity:0;height:2px;background:currentColor}.q-tab--active .q-tab__indicator{opacity:1;transform-origin:left}.q-tab--inactive{opacity:.85}.q-tabs{position:relative;transition:color .3s,background-color .3s}.q-tabs--scrollable.q-tabs__arrows--outside.q-tabs--horizontal{padding-left:36px;padding-right:36px}.q-tabs--scrollable.q-tabs__arrows--outside.q-tabs--vertical{padding-top:36px;padding-bottom:36px}.q-tabs--scrollable.q-tabs__arrows--outside .q-tabs__arrow--faded{opacity:.3;pointer-events:none}.q-tabs--scrollable.q-tabs__arrows--inside .q-tabs__arrow--faded{display:none}.q-tabs--not-scrollable.q-tabs__arrows--outside,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows.q-tabs__arrows--outside{padding-left:0;padding-right:0}.q-tabs--not-scrollable .q-tabs__arrow,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows .q-tabs__arrow{display:none}.q-tabs--not-scrollable .q-tabs__content,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows .q-tabs__content{border-radius:inherit}.q-tabs__arrow{cursor:pointer;font-size:32px;min-width:36px;text-shadow:0 0 3px #fff,0 0 1px #fff,0 0 1px #000;transition:opacity .3s}.q-tabs__content{overflow:hidden;flex:1 1 auto}.q-tabs__content--align-center{justify-content:center}.q-tabs__content--align-right{justify-content:flex-end}.q-tabs__content--align-justify .q-tab{flex:1 1 auto}.q-tabs__offset{display:none}.q-tabs--horizontal .q-tabs__arrow{height:100%}.q-tabs--horizontal .q-tabs__arrow--left{top:0;left:0;bottom:0}.q-tabs--horizontal .q-tabs__arrow--right{top:0;right:0;bottom:0}.q-tabs--vertical,.q-tabs--vertical .q-tabs__content{display:block!important;height:100%}.q-tabs--vertical .q-tabs__arrow{width:100%;height:36px;text-align:center}.q-tabs--vertical .q-tabs__arrow--left{top:0;left:0;right:0}.q-tabs--vertical .q-tabs__arrow--right{left:0;right:0;bottom:0}.q-tabs--vertical .q-tab{padding:0 8px}.q-tabs--vertical .q-tab__indicator{height:unset;width:2px}.q-tabs--vertical.q-tabs--not-scrollable .q-tabs__content{height:100%}.q-tabs--vertical.q-tabs--dense .q-tab__content{min-width:24px}.q-tabs--dense .q-tab{min-height:36px}.q-tabs--dense .q-tab--full{min-height:52px}.q-time{box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);border-radius:4px;background:#fff;outline:0;width:290px;min-width:290px;max-width:100%}.q-time--bordered{border:1px solid rgba(0,0,0,.12)}.q-time__header{border-top-left-radius:inherit;color:#fff;background-color:var(--q-primary);padding:16px;font-weight:300}.q-time__actions{padding:0 16px 16px}.q-time__header-label{font-size:28px;line-height:1;letter-spacing:-.00833em}.q-time__header-label>div+div{margin-left:4px}.q-time__link{opacity:.56;outline:0;transition:opacity .3s ease-out}.q-time__link--active,.q-time__link:focus,.q-time__link:hover{opacity:1}.q-time__header-ampm{font-size:16px;letter-spacing:.1em}.q-time__content{padding:16px}.q-time__content:before{content:"";display:block;padding-bottom:100%}.q-time__container-parent{padding:16px}.q-time__container-child{border-radius:50%;background:rgba(0,0,0,.12)}.q-time__clock{padding:24px;width:100%;height:100%;max-width:100%;max-height:100%;font-size:14px}.q-time__clock-circle{position:relative}.q-time__clock-center{height:6px;width:6px;margin:auto;border-radius:50%;min-height:0;background:currentColor}.q-time__clock-pointer{width:2px;height:50%;transform-origin:0 0;min-height:0;position:absolute;left:50%;right:0;bottom:0;color:var(--q-primary);background:currentColor;transform:translateX(-50%)}.q-time__clock-pointer:after,.q-time__clock-pointer:before{content:"";position:absolute;left:50%;border-radius:50%;background:currentColor;transform:translateX(-50%)}.q-time__clock-pointer:before{bottom:-4px;width:8px;height:8px}.q-time__clock-pointer:after{top:-3px;height:6px;width:6px}.q-time__clock-position{position:absolute;min-height:32px;width:32px;height:32px;font-size:12px;line-height:32px;margin:0;padding:0;transform:translate(-50%,-50%);border-radius:50%}.q-time__clock-position--disable{opacity:.4}.q-time__clock-position--active{background-color:var(--q-primary);color:#fff}.q-time__clock-pos-0{top:0;left:50%}.q-time__clock-pos-1{top:6.7%;left:75%}.q-time__clock-pos-2{top:25%;left:93.3%}.q-time__clock-pos-3{top:50%;left:100%}.q-time__clock-pos-4{top:75%;left:93.3%}.q-time__clock-pos-5{top:93.3%;left:75%}.q-time__clock-pos-6{top:100%;left:50%}.q-time__clock-pos-7{top:93.3%;left:25%}.q-time__clock-pos-8{top:75%;left:6.7%}.q-time__clock-pos-9{top:50%;left:0}.q-time__clock-pos-10{top:25%;left:6.7%}.q-time__clock-pos-11{top:6.7%;left:25%}.q-time__clock-pos-12{top:15%;left:50%}.q-time__clock-pos-13{top:19.69%;left:67.5%}.q-time__clock-pos-14{top:32.5%;left:80.31%}.q-time__clock-pos-15{top:50%;left:85%}.q-time__clock-pos-16{top:67.5%;left:80.31%}.q-time__clock-pos-17{top:80.31%;left:67.5%}.q-time__clock-pos-18{top:85%;left:50%}.q-time__clock-pos-19{top:80.31%;left:32.5%}.q-time__clock-pos-20{top:67.5%;left:19.69%}.q-time__clock-pos-21{top:50%;left:15%}.q-time__clock-pos-22{top:32.5%;left:19.69%}.q-time__clock-pos-23{top:19.69%;left:32.5%}.q-time__now-button{background-color:var(--q-primary);color:#fff;top:12px;right:12px}.q-time--readonly .q-time__content,.q-time--readonly .q-time__header-ampm,.q-time.disabled .q-time__content,.q-time.disabled .q-time__header-ampm{pointer-events:none}.q-time--portrait{display:inline-flex;flex-direction:column}.q-time--portrait .q-time__header{border-top-right-radius:inherit;min-height:86px}.q-time--portrait .q-time__header-ampm{margin-left:12px}.q-time--portrait.q-time--bordered .q-time__content{margin:1px 0}.q-time--landscape{display:inline-flex;align-items:stretch;min-width:420px}.q-time--landscape>div{display:flex;flex-direction:column;justify-content:center}.q-time--landscape .q-time__header{border-bottom-left-radius:inherit;min-width:156px}.q-time--landscape .q-time__header-ampm{margin-top:12px}.q-time--dark{border-color:hsla(0,0%,100%,.28);box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}.q-timeline{padding:0;width:100%;list-style:none}.q-timeline h6{line-height:inherit}.q-timeline--dark{color:#fff}.q-timeline--dark .q-timeline__subtitle{opacity:.7}.q-timeline__content{padding-bottom:24px}.q-timeline__title{margin-top:0;margin-bottom:16px}.q-timeline__subtitle{font-size:12px;margin-bottom:8px;opacity:.6;text-transform:uppercase;letter-spacing:1px;font-weight:700}.q-timeline__dot{position:absolute;top:0;bottom:0;width:15px}.q-timeline__dot:after,.q-timeline__dot:before{content:"";background:currentColor;display:block;position:absolute}.q-timeline__dot:before{border:3px solid transparent;border-radius:100%;height:15px;width:15px;top:4px;left:0;transition:background .3s ease-in-out,border .3s ease-in-out}.q-timeline__dot:after{width:3px;opacity:.4;top:24px;bottom:0;left:6px}.q-timeline__dot .q-icon{position:absolute;top:0;left:0;right:0;font-size:16px;height:38px;line-height:38px;width:100%;color:#fff}.q-timeline__dot .q-icon>img,.q-timeline__dot .q-icon>svg{width:1em;height:1em}.q-timeline__dot-img{position:absolute;top:4px;left:0;right:0;height:31px;width:31px;background:currentColor;border-radius:50%}.q-timeline__heading{position:relative}.q-timeline__heading:first-child .q-timeline__heading-title{padding-top:0}.q-timeline__heading:last-child .q-timeline__heading-title{padding-bottom:0}.q-timeline__heading-title{padding:32px 0;margin:0}.q-timeline__entry{position:relative;line-height:22px}.q-timeline__entry:last-child{padding-bottom:0!important}.q-timeline__entry:last-child .q-timeline__dot:after{content:none}.q-timeline__entry--icon .q-timeline__dot{width:31px}.q-timeline__entry--icon .q-timeline__dot:before{height:31px;width:31px}.q-timeline__entry--icon .q-timeline__dot:after{top:41px;left:14px}.q-timeline__entry--icon .q-timeline__subtitle{padding-top:8px}.q-timeline--dense--right .q-timeline__entry{padding-left:40px}.q-timeline--dense--right .q-timeline__entry--icon .q-timeline__dot{left:-8px}.q-timeline--dense--right .q-timeline__dot{left:0}.q-timeline--dense--left .q-timeline__heading{text-align:right}.q-timeline--dense--left .q-timeline__entry{padding-right:40px}.q-timeline--dense--left .q-timeline__entry--icon .q-timeline__dot{right:-8px}.q-timeline--dense--left .q-timeline__content,.q-timeline--dense--left .q-timeline__subtitle,.q-timeline--dense--left .q-timeline__title{text-align:right}.q-timeline--dense--left .q-timeline__dot{right:0}.q-timeline--comfortable{display:table}.q-timeline--comfortable .q-timeline__heading{display:table-row;font-size:200%}.q-timeline--comfortable .q-timeline__heading>div{display:table-cell}.q-timeline--comfortable .q-timeline__entry{display:table-row;padding:0}.q-timeline--comfortable .q-timeline__entry--icon .q-timeline__content{padding-top:8px}.q-timeline--comfortable .q-timeline__content,.q-timeline--comfortable .q-timeline__dot,.q-timeline--comfortable .q-timeline__subtitle{display:table-cell;vertical-align:top}.q-timeline--comfortable .q-timeline__subtitle{width:35%}.q-timeline--comfortable .q-timeline__dot{position:relative;min-width:31px}.q-timeline--comfortable--right .q-timeline__heading .q-timeline__heading-title{margin-left:-50px}.q-timeline--comfortable--right .q-timeline__subtitle{text-align:right;padding-right:30px}.q-timeline--comfortable--right .q-timeline__content{padding-left:30px}.q-timeline--comfortable--right .q-timeline__entry--icon .q-timeline__dot{left:-8px}.q-timeline--comfortable--left .q-timeline__heading{text-align:right}.q-timeline--comfortable--left .q-timeline__heading .q-timeline__heading-title{margin-right:-50px}.q-timeline--comfortable--left .q-timeline__subtitle{padding-left:30px}.q-timeline--comfortable--left .q-timeline__content{padding-right:30px}.q-timeline--comfortable--left .q-timeline__content,.q-timeline--comfortable--left .q-timeline__title{text-align:right}.q-timeline--comfortable--left .q-timeline__entry--icon .q-timeline__dot{right:0}.q-timeline--comfortable--left .q-timeline__dot{right:-8px}.q-timeline--loose .q-timeline__heading-title{text-align:center;margin-left:0}.q-timeline--loose .q-timeline__content,.q-timeline--loose .q-timeline__dot,.q-timeline--loose .q-timeline__entry,.q-timeline--loose .q-timeline__subtitle{display:block;margin:0;padding:0}.q-timeline--loose .q-timeline__dot{position:absolute;left:50%;margin-left:-7.15px}.q-timeline--loose .q-timeline__entry{padding-bottom:24px;overflow:hidden}.q-timeline--loose .q-timeline__entry--icon .q-timeline__dot{margin-left:-15px}.q-timeline--loose .q-timeline__entry--icon .q-timeline__subtitle{line-height:38px}.q-timeline--loose .q-timeline__entry--icon .q-timeline__content{padding-top:8px}.q-timeline--loose .q-timeline__entry--left .q-timeline__content,.q-timeline--loose .q-timeline__entry--right .q-timeline__subtitle{float:left;padding-right:30px;text-align:right}.q-timeline--loose .q-timeline__entry--left .q-timeline__subtitle,.q-timeline--loose .q-timeline__entry--right .q-timeline__content{float:right;text-align:left;padding-left:30px}.q-timeline--loose .q-timeline__content,.q-timeline--loose .q-timeline__subtitle{width:50%}.q-toggle{vertical-align:middle}.q-toggle__native{width:1px;height:1px}.q-toggle__track{height:.35em;border-radius:.175em;opacity:.38;background:currentColor}.q-toggle__thumb{top:.25em;left:.25em;width:.5em;height:.5em;transition:left .22s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0}.q-toggle__thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#fff;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.q-toggle__thumb .q-icon{font-size:.3em;min-width:1em;color:#000;opacity:.54;z-index:1}.q-toggle__inner{font-size:40px;width:1.4em;min-width:1.4em;height:1em;padding:.325em .3em;-webkit-print-color-adjust:exact}.q-toggle__inner--indet .q-toggle__thumb{left:.45em}.q-toggle__inner--truthy{color:var(--q-primary)}.q-toggle__inner--truthy .q-toggle__track{opacity:.54}.q-toggle__inner--truthy .q-toggle__thumb{left:.65em}.q-toggle__inner--truthy .q-toggle__thumb:after{background-color:currentColor}.q-toggle__inner--truthy .q-toggle__thumb .q-icon{color:#fff;opacity:1}.q-toggle.disabled{opacity:.75!important}.q-toggle--dark .q-toggle__inner{color:#fff}.q-toggle--dark .q-toggle__inner--truthy{color:var(--q-primary)}.q-toggle--dark .q-toggle__thumb:after{box-shadow:none}.q-toggle--dark .q-toggle__thumb:before{opacity:.32!important}.q-toggle--dense .q-toggle__inner{width:.8em;min-width:.8em;height:.5em;padding:.07625em 0}.q-toggle--dense .q-toggle__thumb{top:0;left:0}.q-toggle--dense .q-toggle__inner--indet .q-toggle__thumb{left:.15em}.q-toggle--dense .q-toggle__inner--truthy .q-toggle__thumb{left:.3em}.q-toggle--dense .q-toggle__label{padding-left:.5em}.q-toggle--dense.reverse .q-toggle__label{padding-left:0;padding-right:.5em}body.desktop .q-toggle:not(.disabled) .q-toggle__thumb:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1)}body.desktop .q-toggle:not(.disabled):focus .q-toggle__thumb:before,body.desktop .q-toggle:not(.disabled):hover .q-toggle__thumb:before{transform:scale3d(2,2,1)}body.desktop .q-toggle--dense:not(.disabled):focus .q-toggle__thumb:before,body.desktop .q-toggle--dense:not(.disabled):hover .q-toggle__thumb:before{transform:scale3d(1.5,1.5,1)}.q-toolbar{position:relative;padding:0 12px;min-height:50px;width:100%}.q-toolbar--inset{padding-left:58px}.q-toolbar .q-avatar{font-size:38px}.q-toolbar__title{flex:1 1 0%;min-width:1px;max-width:100%;font-size:21px;font-weight:400;letter-spacing:.01em;padding:0 12px}.q-toolbar__title:first-child{padding-left:0}.q-toolbar__title:last-child{padding-right:0}.q-tooltip--style{font-size:10px;color:#fafafa;background:#757575;border-radius:4px;text-transform:none;font-weight:400}.q-tooltip{z-index:9000;position:fixed!important;overflow-y:auto;overflow-x:hidden;padding:6px 10px}@media(max-width:599.98px){.q-tooltip{font-size:14px;padding:8px 16px}}.q-tree{position:relative;color:#9e9e9e}.q-tree__node{padding:0 0 3px 22px}.q-tree__node:after{content:"";position:absolute;top:-3px;bottom:0;width:2px;right:auto;left:-13px;border-left:1px solid currentColor}.q-tree__node:last-child:after{display:none}.q-tree__node--disabled{pointer-events:none}.q-tree__node--disabled .disabled{opacity:1!important}.q-tree__node--disabled>.disabled,.q-tree__node--disabled>div,.q-tree__node--disabled>i{opacity:.6!important}.q-tree__node--disabled>.disabled .q-tree__node--disabled>.disabled,.q-tree__node--disabled>.disabled .q-tree__node--disabled>div,.q-tree__node--disabled>.disabled .q-tree__node--disabled>i,.q-tree__node--disabled>div .q-tree__node--disabled>.disabled,.q-tree__node--disabled>div .q-tree__node--disabled>div,.q-tree__node--disabled>div .q-tree__node--disabled>i,.q-tree__node--disabled>i .q-tree__node--disabled>.disabled,.q-tree__node--disabled>i .q-tree__node--disabled>div,.q-tree__node--disabled>i .q-tree__node--disabled>i{opacity:1!important}.q-tree__node-header:before{content:"";position:absolute;top:-3px;bottom:50%;width:31px;left:-35px;border-left:1px solid currentColor;border-bottom:1px solid currentColor}.q-tree__children{padding-left:25px}.q-tree__node-body{padding:5px 0 8px 5px}.q-tree__node--parent{padding-left:2px}.q-tree__node--parent>.q-tree__node-header:before{width:15px;left:-15px}.q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body{padding:5px 0 8px 27px}.q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body:after{content:"";position:absolute;top:0;width:2px;height:100%;right:auto;left:12px;border-left:1px solid currentColor;bottom:50px}.q-tree__node--link{cursor:pointer}.q-tree__node-header{padding:4px;margin-top:3px;border-radius:4px;outline:0}.q-tree__node-header-content{color:#000;transition:color .3s}.q-tree__node--selected .q-tree__node-header-content{color:#9e9e9e}.q-tree__icon,.q-tree__node-header-content .q-icon{font-size:21px}.q-tree__img{height:42px;border-radius:2px}.q-tree__avatar,.q-tree__node-header-content .q-avatar{font-size:28px;border-radius:50%;width:28px;height:28px}.q-tree__arrow,.q-tree__spinner{font-size:16px;margin-right:4px}.q-tree__arrow{transition:transform .3s}.q-tree__arrow--rotate{transform:rotate(90deg)}.q-tree__tickbox{margin-right:4px}.q-tree>.q-tree__node{padding:0}.q-tree>.q-tree__node:after,.q-tree>.q-tree__node>.q-tree__node-header:before{display:none}.q-tree>.q-tree__node--child>.q-tree__node-header{padding-left:24px}.q-tree--dark .q-tree__node-header-content{color:#fff}.q-tree--no-connectors .q-tree__node-body:after,.q-tree--no-connectors .q-tree__node-header:before,.q-tree--no-connectors .q-tree__node:after{display:none!important}.q-tree--dense>.q-tree__node--child>.q-tree__node-header{padding-left:1px}.q-tree--dense .q-tree__arrow,.q-tree--dense .q-tree__spinner{margin-right:1px}.q-tree--dense .q-tree__img{height:32px}.q-tree--dense .q-tree__tickbox{margin-right:3px}.q-tree--dense .q-tree__node{padding:0}.q-tree--dense .q-tree__node:after{top:0;left:-8px}.q-tree--dense .q-tree__node-header{margin-top:0;padding:1px}.q-tree--dense .q-tree__node-header:before{top:0;left:-8px;width:8px}.q-tree--dense .q-tree__node--child{padding-left:17px}.q-tree--dense .q-tree__node--child>.q-tree__node-header:before{left:-25px;width:21px}.q-tree--dense .q-tree__node-body{padding:0 0 2px}.q-tree--dense .q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body{padding:0 0 2px 20px}.q-tree--dense .q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body:after{left:8px}.q-tree--dense .q-tree__children{padding-left:16px}[dir=rtl] .q-tree__arrow{transform:rotate(180deg)}[dir=rtl] .q-tree__arrow--rotate{transform:rotate(90deg)}.q-uploader{box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);border-radius:4px;vertical-align:top;background:#fff;position:relative;width:320px;max-height:320px}.q-uploader--bordered{border:1px solid rgba(0,0,0,.12)}.q-uploader__input{opacity:0;width:100%;height:100%;cursor:pointer!important;z-index:1}.q-uploader__input::-webkit-file-upload-button{cursor:pointer}.q-uploader__file:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:currentColor;opacity:.04}.q-uploader__file:before,.q-uploader__header{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-uploader__header{position:relative;background-color:var(--q-primary);color:#fff;width:100%}.q-uploader__spinner{font-size:24px;margin-right:4px}.q-uploader__header-content{padding:8px}.q-uploader__dnd{outline:1px dashed currentColor;outline-offset:-4px;background:hsla(0,0%,100%,.6)}.q-uploader__overlay{font-size:36px;color:#000;background-color:hsla(0,0%,100%,.6)}.q-uploader__list{position:relative;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;padding:8px;min-height:60px;flex:1 1 auto}.q-uploader__file{border-radius:4px 4px 0 0;border:1px solid rgba(0,0,0,.12)}.q-uploader__file .q-circular-progress{font-size:24px}.q-uploader__file--img{color:#fff;height:200px;min-width:200px;background-position:50% 50%;background-size:cover;background-repeat:no-repeat}.q-uploader__file--img:before{content:none}.q-uploader__file--img .q-circular-progress{color:#fff}.q-uploader__file--img .q-uploader__file-header{padding-bottom:24px;background:linear-gradient(180deg,rgba(0,0,0,.7) 20%,hsla(0,0%,100%,0))}.q-uploader__file+.q-uploader__file{margin-top:8px}.q-uploader__file-header{position:relative;padding:4px 8px;border-top-left-radius:inherit;border-top-right-radius:inherit}.q-uploader__file-header-content{padding-right:8px}.q-uploader__file-status{font-size:24px;margin-right:4px}.q-uploader__title{font-size:14px;font-weight:700;line-height:18px;word-break:break-word}.q-uploader__subtitle{font-size:12px;line-height:18px}.q-uploader--disable .q-uploader__header,.q-uploader--disable .q-uploader__list{pointer-events:none}.q-uploader--dark{box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}.q-uploader--dark,.q-uploader--dark .q-uploader__file{border-color:hsla(0,0%,100%,.28)}.q-uploader--dark .q-uploader__dnd,.q-uploader--dark .q-uploader__overlay{background:hsla(0,0%,100%,.3)}.q-uploader--dark .q-uploader__overlay{color:#fff}.q-video{position:relative;overflow:hidden;border-radius:inherit}.q-video embed,.q-video iframe,.q-video object{width:100%;height:100%}.q-video--responsive{height:0}.q-video--responsive embed,.q-video--responsive iframe,.q-video--responsive object{position:absolute;top:0;left:0}.q-virtual-scroll:focus{outline:0}.q-virtual-scroll__content{outline:none;contain:content}.q-virtual-scroll__content>*{overflow-anchor:none}.q-virtual-scroll__content>[data-q-vs-anchor]{overflow-anchor:auto}.q-virtual-scroll__padding{background:linear-gradient(hsla(0,0%,100%,0),hsla(0,0%,100%,0) 20%,hsla(0,0%,50%,.03) 0,hsla(0,0%,50%,.08) 50%,hsla(0,0%,50%,.03) 80%,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,0));background-size:var(--q-virtual-scroll-item-width,100%) var(--q-virtual-scroll-item-height,50px)}.q-table .q-virtual-scroll__padding tr{height:0!important}.q-table .q-virtual-scroll__padding td{padding:0!important}.q-virtual-scroll--horizontal{align-items:stretch}.q-virtual-scroll--horizontal,.q-virtual-scroll--horizontal .q-virtual-scroll__content{display:flex;flex-direction:row;flex-wrap:nowrap}.q-virtual-scroll--horizontal .q-virtual-scroll__content,.q-virtual-scroll--horizontal .q-virtual-scroll__content>*,.q-virtual-scroll--horizontal .q-virtual-scroll__padding{flex:0 0 auto}.q-virtual-scroll--horizontal .q-virtual-scroll__padding{background:linear-gradient(270deg,hsla(0,0%,100%,0),hsla(0,0%,100%,0) 20%,hsla(0,0%,50%,.03) 0,hsla(0,0%,50%,.08) 50%,hsla(0,0%,50%,.03) 80%,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,0));background-size:var(--q-virtual-scroll-item-width,50px) var(--q-virtual-scroll-item-height,100%)}.q-ripple{width:100%;height:100%;border-radius:inherit;z-index:0;overflow:hidden;contain:strict}.q-ripple,.q-ripple__inner{position:absolute;top:0;left:0;color:inherit;pointer-events:none}.q-ripple__inner{opacity:0;border-radius:50%;background:currentColor;will-change:transform,opacity}.q-ripple__inner--enter{transition:transform .225s cubic-bezier(.4,0,.2,1),opacity .1s cubic-bezier(.4,0,.2,1)}.q-ripple__inner--leave{transition:opacity .25s cubic-bezier(.4,0,.2,1)}.q-morph--internal,.q-morph--invisible{opacity:0!important;pointer-events:none!important;position:fixed!important;right:200vw!important;bottom:200vh!important}.q-loading{color:#000;position:fixed!important}.q-loading__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;opacity:.5;z-index:-1;background-color:#000;transition:background-color .28s}.q-loading__box{border-radius:4px;padding:18px;color:#fff;max-width:450px}.q-loading__message{margin:40px 20px 0;text-align:center}.q-notifications__list{z-index:9500;pointer-events:none;left:0;right:0;margin-bottom:10px;position:relative}.q-notifications__list--center{top:0;bottom:0}.q-notifications__list--top{top:0}.q-notifications__list--bottom{bottom:0}body.q-ios-padding .q-notifications__list--center,body.q-ios-padding .q-notifications__list--top{top:20px;top:env(safe-area-inset-top)}body.q-ios-padding .q-notifications__list--bottom,body.q-ios-padding .q-notifications__list--center{bottom:env(safe-area-inset-bottom)}.q-notification{box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);border-radius:4px;pointer-events:all;display:inline-flex;margin:10px 10px 0;transition:transform 1s,opacity 1s;z-index:9500;flex-shrink:0;max-width:95vw;background:#323232;color:#fff;font-size:14px}.q-notification__icon{font-size:24px;flex:0 0 1em}.q-notification__icon--additional{margin-right:16px}.q-notification__avatar{font-size:32px}.q-notification__avatar--additional{margin-right:8px}.q-notification__spinner{font-size:32px}.q-notification__spinner--additional{margin-right:8px}.q-notification__message{padding:8px 0}.q-notification__caption{font-size:.9em;opacity:.7}.q-notification__actions{color:var(--q-primary)}.q-notification__badge{animation:q-notif-badge .42s;padding:4px 8px;position:absolute;box-shadow:0 1px 3px rgba(0,0,0,.2),0 1px 1px rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);background-color:var(--q-negative);color:#fff;border-radius:4px;font-size:12px;line-height:12px}.q-notification__badge--top-left,.q-notification__badge--top-right{top:-6px}.q-notification__badge--bottom-left,.q-notification__badge--bottom-right{bottom:-6px}.q-notification__badge--bottom-left,.q-notification__badge--top-left{left:-22px}.q-notification__badge--bottom-right,.q-notification__badge--top-right{right:-22px}.q-notification__progress{z-index:-1;position:absolute;height:3px;bottom:0;left:-10px;right:-10px;animation:q-notif-progress linear;background:currentColor;opacity:.3;border-radius:4px 4px 0 0;transform-origin:0 50%;transform:scaleX(0)}.q-notification--standard{padding:0 16px;min-height:48px}.q-notification--standard .q-notification__actions{padding:6px 0 6px 8px;margin-right:-8px}.q-notification--multi-line{min-height:68px;padding:8px 16px}.q-notification--multi-line .q-notification__badge--top-left,.q-notification--multi-line .q-notification__badge--top-right{top:-15px}.q-notification--multi-line .q-notification__badge--bottom-left,.q-notification--multi-line .q-notification__badge--bottom-right{bottom:-15px}.q-notification--multi-line .q-notification__progress{bottom:-8px}.q-notification--multi-line .q-notification__actions{padding:0}.q-notification--multi-line .q-notification__actions--with-media{padding-left:25px}.q-notification--top-enter-from,.q-notification--top-leave-to,.q-notification--top-left-enter-from,.q-notification--top-left-leave-to,.q-notification--top-right-enter-from,.q-notification--top-right-leave-to{opacity:0;transform:translateY(-50px);z-index:9499}.q-notification--center-enter-from,.q-notification--center-leave-to,.q-notification--left-enter-from,.q-notification--left-leave-to,.q-notification--right-enter-from,.q-notification--right-leave-to{opacity:0;transform:rotateX(90deg);z-index:9499}.q-notification--bottom-enter-from,.q-notification--bottom-leave-to,.q-notification--bottom-left-enter-from,.q-notification--bottom-left-leave-to,.q-notification--bottom-right-enter-from,.q-notification--bottom-right-leave-to{opacity:0;transform:translateY(50px);z-index:9499}.q-notification--bottom-leave-active,.q-notification--bottom-left-leave-active,.q-notification--bottom-right-leave-active,.q-notification--center-leave-active,.q-notification--left-leave-active,.q-notification--right-leave-active,.q-notification--top-leave-active,.q-notification--top-left-leave-active,.q-notification--top-right-leave-active{position:absolute;z-index:9499;margin-left:0;margin-right:0}.q-notification--center-leave-active,.q-notification--top-leave-active{top:0}.q-notification--bottom-leave-active,.q-notification--bottom-left-leave-active,.q-notification--bottom-right-leave-active{bottom:0}@media(min-width:600px){.q-notification{max-width:65vw}}@keyframes q-notif-badge{15%{transform:translate3d(-25%,0,0) rotate(-5deg)}30%{transform:translate3d(20%,0,0) rotate(3deg)}45%{transform:translate3d(-15%,0,0) rotate(-3deg)}60%{transform:translate3d(10%,0,0) rotate(2deg)}75%{transform:translate3d(-5%,0,0) rotate(-1deg)}}@keyframes q-notif-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}:root{--animate-duration:0.3s;--animate-delay:0.3s;--animate-repeat:1}.animated{animation-duration:var(--animate-duration);animation-fill-mode:both}.animated.infinite{animation-iteration-count:infinite}.animated.hinge{animation-duration:2s}.animated.repeat-1{animation-iteration-count:var(--animate-repeat)}.animated.repeat-2{animation-iteration-count:calc(var(--animate-repeat)*2)}.animated.repeat-3{animation-iteration-count:calc(var(--animate-repeat)*3)}.animated.delay-1s{animation-delay:var(--animate-delay)}.animated.delay-2s{animation-delay:calc(var(--animate-delay)*2)}.animated.delay-3s{animation-delay:calc(var(--animate-delay)*3)}.animated.delay-4s{animation-delay:calc(var(--animate-delay)*4)}.animated.delay-5s{animation-delay:calc(var(--animate-delay)*5)}.animated.faster{animation-duration:calc(var(--animate-duration)/2)}.animated.fast{animation-duration:calc(var(--animate-duration)*.8)}.animated.slow{animation-duration:calc(var(--animate-duration)*2)}.animated.slower{animation-duration:calc(var(--animate-duration)*3)}@media (prefers-reduced-motion:reduce),print{.animated{animation-duration:1ms!important;transition-duration:1ms!important;animation-iteration-count:1!important}.animated[class*=Out]{opacity:0}}.q-animate--scale{animation:q-scale .15s;animation-timing-function:cubic-bezier(.25,.8,.25,1)}@keyframes q-scale{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.q-animate--fade{animation:q-fade .2s}@keyframes q-fade{0%{opacity:0}to{opacity:1}}:root{--q-primary:#027be3;--q-secondary:#26a69a;--q-accent:#9c27b0;--q-positive:#21ba45;--q-negative:#c10015;--q-info:#31ccec;--q-warning:#f2c037;--q-dark:#1d1d1d;--q-dark-page:#121212}.text-dark{color:var(--q-dark)!important}.bg-dark{background:var(--q-dark)!important}.text-primary{color:var(--q-primary)!important}.bg-primary{background:var(--q-primary)!important}.text-secondary{color:var(--q-secondary)!important}.bg-secondary{background:var(--q-secondary)!important}.text-accent{color:var(--q-accent)!important}.bg-accent{background:var(--q-accent)!important}.text-positive{color:var(--q-positive)!important}.bg-positive{background:var(--q-positive)!important}.text-negative{color:var(--q-negative)!important}.bg-negative{background:var(--q-negative)!important}.text-info{color:var(--q-info)!important}.bg-info{background:var(--q-info)!important}.text-warning{color:var(--q-warning)!important}.bg-warning{background:var(--q-warning)!important}.text-white{color:#fff!important}.bg-white{background:#fff!important}.text-black{color:#000!important}.bg-black{background:#000!important}.text-transparent{color:transparent!important}.bg-transparent{background:transparent!important}.text-separator{color:rgba(0,0,0,.12)!important}.bg-separator{background:rgba(0,0,0,.12)!important}.text-dark-separator{color:hsla(0,0%,100%,.28)!important}.bg-dark-separator{background:hsla(0,0%,100%,.28)!important}.text-red{color:#f44336!important}.text-red-1{color:#ffebee!important}.text-red-2{color:#ffcdd2!important}.text-red-3{color:#ef9a9a!important}.text-red-4{color:#e57373!important}.text-red-5{color:#ef5350!important}.text-red-6{color:#f44336!important}.text-red-7{color:#e53935!important}.text-red-8{color:#d32f2f!important}.text-red-9{color:#c62828!important}.text-red-10{color:#b71c1c!important}.text-red-11{color:#ff8a80!important}.text-red-12{color:#ff5252!important}.text-red-13{color:#ff1744!important}.text-red-14{color:#d50000!important}.text-pink{color:#e91e63!important}.text-pink-1{color:#fce4ec!important}.text-pink-2{color:#f8bbd0!important}.text-pink-3{color:#f48fb1!important}.text-pink-4{color:#f06292!important}.text-pink-5{color:#ec407a!important}.text-pink-6{color:#e91e63!important}.text-pink-7{color:#d81b60!important}.text-pink-8{color:#c2185b!important}.text-pink-9{color:#ad1457!important}.text-pink-10{color:#880e4f!important}.text-pink-11{color:#ff80ab!important}.text-pink-12{color:#ff4081!important}.text-pink-13{color:#f50057!important}.text-pink-14{color:#c51162!important}.text-purple{color:#9c27b0!important}.text-purple-1{color:#f3e5f5!important}.text-purple-2{color:#e1bee7!important}.text-purple-3{color:#ce93d8!important}.text-purple-4{color:#ba68c8!important}.text-purple-5{color:#ab47bc!important}.text-purple-6{color:#9c27b0!important}.text-purple-7{color:#8e24aa!important}.text-purple-8{color:#7b1fa2!important}.text-purple-9{color:#6a1b9a!important}.text-purple-10{color:#4a148c!important}.text-purple-11{color:#ea80fc!important}.text-purple-12{color:#e040fb!important}.text-purple-13{color:#d500f9!important}.text-purple-14{color:#a0f!important}.text-deep-purple{color:#673ab7!important}.text-deep-purple-1{color:#ede7f6!important}.text-deep-purple-2{color:#d1c4e9!important}.text-deep-purple-3{color:#b39ddb!important}.text-deep-purple-4{color:#9575cd!important}.text-deep-purple-5{color:#7e57c2!important}.text-deep-purple-6{color:#673ab7!important}.text-deep-purple-7{color:#5e35b1!important}.text-deep-purple-8{color:#512da8!important}.text-deep-purple-9{color:#4527a0!important}.text-deep-purple-10{color:#311b92!important}.text-deep-purple-11{color:#b388ff!important}.text-deep-purple-12{color:#7c4dff!important}.text-deep-purple-13{color:#651fff!important}.text-deep-purple-14{color:#6200ea!important}.text-indigo{color:#3f51b5!important}.text-indigo-1{color:#e8eaf6!important}.text-indigo-2{color:#c5cae9!important}.text-indigo-3{color:#9fa8da!important}.text-indigo-4{color:#7986cb!important}.text-indigo-5{color:#5c6bc0!important}.text-indigo-6{color:#3f51b5!important}.text-indigo-7{color:#3949ab!important}.text-indigo-8{color:#303f9f!important}.text-indigo-9{color:#283593!important}.text-indigo-10{color:#1a237e!important}.text-indigo-11{color:#8c9eff!important}.text-indigo-12{color:#536dfe!important}.text-indigo-13{color:#3d5afe!important}.text-indigo-14{color:#304ffe!important}.text-blue{color:#2196f3!important}.text-blue-1{color:#e3f2fd!important}.text-blue-2{color:#bbdefb!important}.text-blue-3{color:#90caf9!important}.text-blue-4{color:#64b5f6!important}.text-blue-5{color:#42a5f5!important}.text-blue-6{color:#2196f3!important}.text-blue-7{color:#1e88e5!important}.text-blue-8{color:#1976d2!important}.text-blue-9{color:#1565c0!important}.text-blue-10{color:#0d47a1!important}.text-blue-11{color:#82b1ff!important}.text-blue-12{color:#448aff!important}.text-blue-13{color:#2979ff!important}.text-blue-14{color:#2962ff!important}.text-light-blue{color:#03a9f4!important}.text-light-blue-1{color:#e1f5fe!important}.text-light-blue-2{color:#b3e5fc!important}.text-light-blue-3{color:#81d4fa!important}.text-light-blue-4{color:#4fc3f7!important}.text-light-blue-5{color:#29b6f6!important}.text-light-blue-6{color:#03a9f4!important}.text-light-blue-7{color:#039be5!important}.text-light-blue-8{color:#0288d1!important}.text-light-blue-9{color:#0277bd!important}.text-light-blue-10{color:#01579b!important}.text-light-blue-11{color:#80d8ff!important}.text-light-blue-12{color:#40c4ff!important}.text-light-blue-13{color:#00b0ff!important}.text-light-blue-14{color:#0091ea!important}.text-cyan{color:#00bcd4!important}.text-cyan-1{color:#e0f7fa!important}.text-cyan-2{color:#b2ebf2!important}.text-cyan-3{color:#80deea!important}.text-cyan-4{color:#4dd0e1!important}.text-cyan-5{color:#26c6da!important}.text-cyan-6{color:#00bcd4!important}.text-cyan-7{color:#00acc1!important}.text-cyan-8{color:#0097a7!important}.text-cyan-9{color:#00838f!important}.text-cyan-10{color:#006064!important}.text-cyan-11{color:#84ffff!important}.text-cyan-12{color:#18ffff!important}.text-cyan-13{color:#00e5ff!important}.text-cyan-14{color:#00b8d4!important}.text-teal{color:#009688!important}.text-teal-1{color:#e0f2f1!important}.text-teal-2{color:#b2dfdb!important}.text-teal-3{color:#80cbc4!important}.text-teal-4{color:#4db6ac!important}.text-teal-5{color:#26a69a!important}.text-teal-6{color:#009688!important}.text-teal-7{color:#00897b!important}.text-teal-8{color:#00796b!important}.text-teal-9{color:#00695c!important}.text-teal-10{color:#004d40!important}.text-teal-11{color:#a7ffeb!important}.text-teal-12{color:#64ffda!important}.text-teal-13{color:#1de9b6!important}.text-teal-14{color:#00bfa5!important}.text-green{color:#4caf50!important}.text-green-1{color:#e8f5e9!important}.text-green-2{color:#c8e6c9!important}.text-green-3{color:#a5d6a7!important}.text-green-4{color:#81c784!important}.text-green-5{color:#66bb6a!important}.text-green-6{color:#4caf50!important}.text-green-7{color:#43a047!important}.text-green-8{color:#388e3c!important}.text-green-9{color:#2e7d32!important}.text-green-10{color:#1b5e20!important}.text-green-11{color:#b9f6ca!important}.text-green-12{color:#69f0ae!important}.text-green-13{color:#00e676!important}.text-green-14{color:#00c853!important}.text-light-green{color:#8bc34a!important}.text-light-green-1{color:#f1f8e9!important}.text-light-green-2{color:#dcedc8!important}.text-light-green-3{color:#c5e1a5!important}.text-light-green-4{color:#aed581!important}.text-light-green-5{color:#9ccc65!important}.text-light-green-6{color:#8bc34a!important}.text-light-green-7{color:#7cb342!important}.text-light-green-8{color:#689f38!important}.text-light-green-9{color:#558b2f!important}.text-light-green-10{color:#33691e!important}.text-light-green-11{color:#ccff90!important}.text-light-green-12{color:#b2ff59!important}.text-light-green-13{color:#76ff03!important}.text-light-green-14{color:#64dd17!important}.text-lime{color:#cddc39!important}.text-lime-1{color:#f9fbe7!important}.text-lime-2{color:#f0f4c3!important}.text-lime-3{color:#e6ee9c!important}.text-lime-4{color:#dce775!important}.text-lime-5{color:#d4e157!important}.text-lime-6{color:#cddc39!important}.text-lime-7{color:#c0ca33!important}.text-lime-8{color:#afb42b!important}.text-lime-9{color:#9e9d24!important}.text-lime-10{color:#827717!important}.text-lime-11{color:#f4ff81!important}.text-lime-12{color:#eeff41!important}.text-lime-13{color:#c6ff00!important}.text-lime-14{color:#aeea00!important}.text-yellow{color:#ffeb3b!important}.text-yellow-1{color:#fffde7!important}.text-yellow-2{color:#fff9c4!important}.text-yellow-3{color:#fff59d!important}.text-yellow-4{color:#fff176!important}.text-yellow-5{color:#ffee58!important}.text-yellow-6{color:#ffeb3b!important}.text-yellow-7{color:#fdd835!important}.text-yellow-8{color:#fbc02d!important}.text-yellow-9{color:#f9a825!important}.text-yellow-10{color:#f57f17!important}.text-yellow-11{color:#ffff8d!important}.text-yellow-12{color:#ff0!important}.text-yellow-13{color:#ffea00!important}.text-yellow-14{color:#ffd600!important}.text-amber{color:#ffc107!important}.text-amber-1{color:#fff8e1!important}.text-amber-2{color:#ffecb3!important}.text-amber-3{color:#ffe082!important}.text-amber-4{color:#ffd54f!important}.text-amber-5{color:#ffca28!important}.text-amber-6{color:#ffc107!important}.text-amber-7{color:#ffb300!important}.text-amber-8{color:#ffa000!important}.text-amber-9{color:#ff8f00!important}.text-amber-10{color:#ff6f00!important}.text-amber-11{color:#ffe57f!important}.text-amber-12{color:#ffd740!important}.text-amber-13{color:#ffc400!important}.text-amber-14{color:#ffab00!important}.text-orange{color:#ff9800!important}.text-orange-1{color:#fff3e0!important}.text-orange-2{color:#ffe0b2!important}.text-orange-3{color:#ffcc80!important}.text-orange-4{color:#ffb74d!important}.text-orange-5{color:#ffa726!important}.text-orange-6{color:#ff9800!important}.text-orange-7{color:#fb8c00!important}.text-orange-8{color:#f57c00!important}.text-orange-9{color:#ef6c00!important}.text-orange-10{color:#e65100!important}.text-orange-11{color:#ffd180!important}.text-orange-12{color:#ffab40!important}.text-orange-13{color:#ff9100!important}.text-orange-14{color:#ff6d00!important}.text-deep-orange{color:#ff5722!important}.text-deep-orange-1{color:#fbe9e7!important}.text-deep-orange-2{color:#ffccbc!important}.text-deep-orange-3{color:#ffab91!important}.text-deep-orange-4{color:#ff8a65!important}.text-deep-orange-5{color:#ff7043!important}.text-deep-orange-6{color:#ff5722!important}.text-deep-orange-7{color:#f4511e!important}.text-deep-orange-8{color:#e64a19!important}.text-deep-orange-9{color:#d84315!important}.text-deep-orange-10{color:#bf360c!important}.text-deep-orange-11{color:#ff9e80!important}.text-deep-orange-12{color:#ff6e40!important}.text-deep-orange-13{color:#ff3d00!important}.text-deep-orange-14{color:#dd2c00!important}.text-brown{color:#795548!important}.text-brown-1{color:#efebe9!important}.text-brown-2{color:#d7ccc8!important}.text-brown-3{color:#bcaaa4!important}.text-brown-4{color:#a1887f!important}.text-brown-5{color:#8d6e63!important}.text-brown-6{color:#795548!important}.text-brown-7{color:#6d4c41!important}.text-brown-8{color:#5d4037!important}.text-brown-9{color:#4e342e!important}.text-brown-10{color:#3e2723!important}.text-brown-11{color:#d7ccc8!important}.text-brown-12{color:#bcaaa4!important}.text-brown-13{color:#8d6e63!important}.text-brown-14{color:#5d4037!important}.text-grey{color:#9e9e9e!important}.text-grey-1{color:#fafafa!important}.text-grey-2{color:#f5f5f5!important}.text-grey-3{color:#eee!important}.text-grey-4{color:#e0e0e0!important}.text-grey-5{color:#bdbdbd!important}.text-grey-6{color:#9e9e9e!important}.text-grey-7{color:#757575!important}.text-grey-8{color:#616161!important}.text-grey-9{color:#424242!important}.text-grey-10{color:#212121!important}.text-grey-11{color:#f5f5f5!important}.text-grey-12{color:#eee!important}.text-grey-13{color:#bdbdbd!important}.text-grey-14{color:#616161!important}.text-blue-grey{color:#607d8b!important}.text-blue-grey-1{color:#eceff1!important}.text-blue-grey-2{color:#cfd8dc!important}.text-blue-grey-3{color:#b0bec5!important}.text-blue-grey-4{color:#90a4ae!important}.text-blue-grey-5{color:#78909c!important}.text-blue-grey-6{color:#607d8b!important}.text-blue-grey-7{color:#546e7a!important}.text-blue-grey-8{color:#455a64!important}.text-blue-grey-9{color:#37474f!important}.text-blue-grey-10{color:#263238!important}.text-blue-grey-11{color:#cfd8dc!important}.text-blue-grey-12{color:#b0bec5!important}.text-blue-grey-13{color:#78909c!important}.text-blue-grey-14{color:#455a64!important}.bg-red{background:#f44336!important}.bg-red-1{background:#ffebee!important}.bg-red-2{background:#ffcdd2!important}.bg-red-3{background:#ef9a9a!important}.bg-red-4{background:#e57373!important}.bg-red-5{background:#ef5350!important}.bg-red-6{background:#f44336!important}.bg-red-7{background:#e53935!important}.bg-red-8{background:#d32f2f!important}.bg-red-9{background:#c62828!important}.bg-red-10{background:#b71c1c!important}.bg-red-11{background:#ff8a80!important}.bg-red-12{background:#ff5252!important}.bg-red-13{background:#ff1744!important}.bg-red-14{background:#d50000!important}.bg-pink{background:#e91e63!important}.bg-pink-1{background:#fce4ec!important}.bg-pink-2{background:#f8bbd0!important}.bg-pink-3{background:#f48fb1!important}.bg-pink-4{background:#f06292!important}.bg-pink-5{background:#ec407a!important}.bg-pink-6{background:#e91e63!important}.bg-pink-7{background:#d81b60!important}.bg-pink-8{background:#c2185b!important}.bg-pink-9{background:#ad1457!important}.bg-pink-10{background:#880e4f!important}.bg-pink-11{background:#ff80ab!important}.bg-pink-12{background:#ff4081!important}.bg-pink-13{background:#f50057!important}.bg-pink-14{background:#c51162!important}.bg-purple{background:#9c27b0!important}.bg-purple-1{background:#f3e5f5!important}.bg-purple-2{background:#e1bee7!important}.bg-purple-3{background:#ce93d8!important}.bg-purple-4{background:#ba68c8!important}.bg-purple-5{background:#ab47bc!important}.bg-purple-6{background:#9c27b0!important}.bg-purple-7{background:#8e24aa!important}.bg-purple-8{background:#7b1fa2!important}.bg-purple-9{background:#6a1b9a!important}.bg-purple-10{background:#4a148c!important}.bg-purple-11{background:#ea80fc!important}.bg-purple-12{background:#e040fb!important}.bg-purple-13{background:#d500f9!important}.bg-purple-14{background:#a0f!important}.bg-deep-purple{background:#673ab7!important}.bg-deep-purple-1{background:#ede7f6!important}.bg-deep-purple-2{background:#d1c4e9!important}.bg-deep-purple-3{background:#b39ddb!important}.bg-deep-purple-4{background:#9575cd!important}.bg-deep-purple-5{background:#7e57c2!important}.bg-deep-purple-6{background:#673ab7!important}.bg-deep-purple-7{background:#5e35b1!important}.bg-deep-purple-8{background:#512da8!important}.bg-deep-purple-9{background:#4527a0!important}.bg-deep-purple-10{background:#311b92!important}.bg-deep-purple-11{background:#b388ff!important}.bg-deep-purple-12{background:#7c4dff!important}.bg-deep-purple-13{background:#651fff!important}.bg-deep-purple-14{background:#6200ea!important}.bg-indigo{background:#3f51b5!important}.bg-indigo-1{background:#e8eaf6!important}.bg-indigo-2{background:#c5cae9!important}.bg-indigo-3{background:#9fa8da!important}.bg-indigo-4{background:#7986cb!important}.bg-indigo-5{background:#5c6bc0!important}.bg-indigo-6{background:#3f51b5!important}.bg-indigo-7{background:#3949ab!important}.bg-indigo-8{background:#303f9f!important}.bg-indigo-9{background:#283593!important}.bg-indigo-10{background:#1a237e!important}.bg-indigo-11{background:#8c9eff!important}.bg-indigo-12{background:#536dfe!important}.bg-indigo-13{background:#3d5afe!important}.bg-indigo-14{background:#304ffe!important}.bg-blue{background:#2196f3!important}.bg-blue-1{background:#e3f2fd!important}.bg-blue-2{background:#bbdefb!important}.bg-blue-3{background:#90caf9!important}.bg-blue-4{background:#64b5f6!important}.bg-blue-5{background:#42a5f5!important}.bg-blue-6{background:#2196f3!important}.bg-blue-7{background:#1e88e5!important}.bg-blue-8{background:#1976d2!important}.bg-blue-9{background:#1565c0!important}.bg-blue-10{background:#0d47a1!important}.bg-blue-11{background:#82b1ff!important}.bg-blue-12{background:#448aff!important}.bg-blue-13{background:#2979ff!important}.bg-blue-14{background:#2962ff!important}.bg-light-blue{background:#03a9f4!important}.bg-light-blue-1{background:#e1f5fe!important}.bg-light-blue-2{background:#b3e5fc!important}.bg-light-blue-3{background:#81d4fa!important}.bg-light-blue-4{background:#4fc3f7!important}.bg-light-blue-5{background:#29b6f6!important}.bg-light-blue-6{background:#03a9f4!important}.bg-light-blue-7{background:#039be5!important}.bg-light-blue-8{background:#0288d1!important}.bg-light-blue-9{background:#0277bd!important}.bg-light-blue-10{background:#01579b!important}.bg-light-blue-11{background:#80d8ff!important}.bg-light-blue-12{background:#40c4ff!important}.bg-light-blue-13{background:#00b0ff!important}.bg-light-blue-14{background:#0091ea!important}.bg-cyan{background:#00bcd4!important}.bg-cyan-1{background:#e0f7fa!important}.bg-cyan-2{background:#b2ebf2!important}.bg-cyan-3{background:#80deea!important}.bg-cyan-4{background:#4dd0e1!important}.bg-cyan-5{background:#26c6da!important}.bg-cyan-6{background:#00bcd4!important}.bg-cyan-7{background:#00acc1!important}.bg-cyan-8{background:#0097a7!important}.bg-cyan-9{background:#00838f!important}.bg-cyan-10{background:#006064!important}.bg-cyan-11{background:#84ffff!important}.bg-cyan-12{background:#18ffff!important}.bg-cyan-13{background:#00e5ff!important}.bg-cyan-14{background:#00b8d4!important}.bg-teal{background:#009688!important}.bg-teal-1{background:#e0f2f1!important}.bg-teal-2{background:#b2dfdb!important}.bg-teal-3{background:#80cbc4!important}.bg-teal-4{background:#4db6ac!important}.bg-teal-5{background:#26a69a!important}.bg-teal-6{background:#009688!important}.bg-teal-7{background:#00897b!important}.bg-teal-8{background:#00796b!important}.bg-teal-9{background:#00695c!important}.bg-teal-10{background:#004d40!important}.bg-teal-11{background:#a7ffeb!important}.bg-teal-12{background:#64ffda!important}.bg-teal-13{background:#1de9b6!important}.bg-teal-14{background:#00bfa5!important}.bg-green{background:#4caf50!important}.bg-green-1{background:#e8f5e9!important}.bg-green-2{background:#c8e6c9!important}.bg-green-3{background:#a5d6a7!important}.bg-green-4{background:#81c784!important}.bg-green-5{background:#66bb6a!important}.bg-green-6{background:#4caf50!important}.bg-green-7{background:#43a047!important}.bg-green-8{background:#388e3c!important}.bg-green-9{background:#2e7d32!important}.bg-green-10{background:#1b5e20!important}.bg-green-11{background:#b9f6ca!important}.bg-green-12{background:#69f0ae!important}.bg-green-13{background:#00e676!important}.bg-green-14{background:#00c853!important}.bg-light-green{background:#8bc34a!important}.bg-light-green-1{background:#f1f8e9!important}.bg-light-green-2{background:#dcedc8!important}.bg-light-green-3{background:#c5e1a5!important}.bg-light-green-4{background:#aed581!important}.bg-light-green-5{background:#9ccc65!important}.bg-light-green-6{background:#8bc34a!important}.bg-light-green-7{background:#7cb342!important}.bg-light-green-8{background:#689f38!important}.bg-light-green-9{background:#558b2f!important}.bg-light-green-10{background:#33691e!important}.bg-light-green-11{background:#ccff90!important}.bg-light-green-12{background:#b2ff59!important}.bg-light-green-13{background:#76ff03!important}.bg-light-green-14{background:#64dd17!important}.bg-lime{background:#cddc39!important}.bg-lime-1{background:#f9fbe7!important}.bg-lime-2{background:#f0f4c3!important}.bg-lime-3{background:#e6ee9c!important}.bg-lime-4{background:#dce775!important}.bg-lime-5{background:#d4e157!important}.bg-lime-6{background:#cddc39!important}.bg-lime-7{background:#c0ca33!important}.bg-lime-8{background:#afb42b!important}.bg-lime-9{background:#9e9d24!important}.bg-lime-10{background:#827717!important}.bg-lime-11{background:#f4ff81!important}.bg-lime-12{background:#eeff41!important}.bg-lime-13{background:#c6ff00!important}.bg-lime-14{background:#aeea00!important}.bg-yellow{background:#ffeb3b!important}.bg-yellow-1{background:#fffde7!important}.bg-yellow-2{background:#fff9c4!important}.bg-yellow-3{background:#fff59d!important}.bg-yellow-4{background:#fff176!important}.bg-yellow-5{background:#ffee58!important}.bg-yellow-6{background:#ffeb3b!important}.bg-yellow-7{background:#fdd835!important}.bg-yellow-8{background:#fbc02d!important}.bg-yellow-9{background:#f9a825!important}.bg-yellow-10{background:#f57f17!important}.bg-yellow-11{background:#ffff8d!important}.bg-yellow-12{background:#ff0!important}.bg-yellow-13{background:#ffea00!important}.bg-yellow-14{background:#ffd600!important}.bg-amber{background:#ffc107!important}.bg-amber-1{background:#fff8e1!important}.bg-amber-2{background:#ffecb3!important}.bg-amber-3{background:#ffe082!important}.bg-amber-4{background:#ffd54f!important}.bg-amber-5{background:#ffca28!important}.bg-amber-6{background:#ffc107!important}.bg-amber-7{background:#ffb300!important}.bg-amber-8{background:#ffa000!important}.bg-amber-9{background:#ff8f00!important}.bg-amber-10{background:#ff6f00!important}.bg-amber-11{background:#ffe57f!important}.bg-amber-12{background:#ffd740!important}.bg-amber-13{background:#ffc400!important}.bg-amber-14{background:#ffab00!important}.bg-orange{background:#ff9800!important}.bg-orange-1{background:#fff3e0!important}.bg-orange-2{background:#ffe0b2!important}.bg-orange-3{background:#ffcc80!important}.bg-orange-4{background:#ffb74d!important}.bg-orange-5{background:#ffa726!important}.bg-orange-6{background:#ff9800!important}.bg-orange-7{background:#fb8c00!important}.bg-orange-8{background:#f57c00!important}.bg-orange-9{background:#ef6c00!important}.bg-orange-10{background:#e65100!important}.bg-orange-11{background:#ffd180!important}.bg-orange-12{background:#ffab40!important}.bg-orange-13{background:#ff9100!important}.bg-orange-14{background:#ff6d00!important}.bg-deep-orange{background:#ff5722!important}.bg-deep-orange-1{background:#fbe9e7!important}.bg-deep-orange-2{background:#ffccbc!important}.bg-deep-orange-3{background:#ffab91!important}.bg-deep-orange-4{background:#ff8a65!important}.bg-deep-orange-5{background:#ff7043!important}.bg-deep-orange-6{background:#ff5722!important}.bg-deep-orange-7{background:#f4511e!important}.bg-deep-orange-8{background:#e64a19!important}.bg-deep-orange-9{background:#d84315!important}.bg-deep-orange-10{background:#bf360c!important}.bg-deep-orange-11{background:#ff9e80!important}.bg-deep-orange-12{background:#ff6e40!important}.bg-deep-orange-13{background:#ff3d00!important}.bg-deep-orange-14{background:#dd2c00!important}.bg-brown{background:#795548!important}.bg-brown-1{background:#efebe9!important}.bg-brown-2{background:#d7ccc8!important}.bg-brown-3{background:#bcaaa4!important}.bg-brown-4{background:#a1887f!important}.bg-brown-5{background:#8d6e63!important}.bg-brown-6{background:#795548!important}.bg-brown-7{background:#6d4c41!important}.bg-brown-8{background:#5d4037!important}.bg-brown-9{background:#4e342e!important}.bg-brown-10{background:#3e2723!important}.bg-brown-11{background:#d7ccc8!important}.bg-brown-12{background:#bcaaa4!important}.bg-brown-13{background:#8d6e63!important}.bg-brown-14{background:#5d4037!important}.bg-grey{background:#9e9e9e!important}.bg-grey-1{background:#fafafa!important}.bg-grey-2{background:#f5f5f5!important}.bg-grey-3{background:#eee!important}.bg-grey-4{background:#e0e0e0!important}.bg-grey-5{background:#bdbdbd!important}.bg-grey-6{background:#9e9e9e!important}.bg-grey-7{background:#757575!important}.bg-grey-8{background:#616161!important}.bg-grey-9{background:#424242!important}.bg-grey-10{background:#212121!important}.bg-grey-11{background:#f5f5f5!important}.bg-grey-12{background:#eee!important}.bg-grey-13{background:#bdbdbd!important}.bg-grey-14{background:#616161!important}.bg-blue-grey{background:#607d8b!important}.bg-blue-grey-1{background:#eceff1!important}.bg-blue-grey-2{background:#cfd8dc!important}.bg-blue-grey-3{background:#b0bec5!important}.bg-blue-grey-4{background:#90a4ae!important}.bg-blue-grey-5{background:#78909c!important}.bg-blue-grey-6{background:#607d8b!important}.bg-blue-grey-7{background:#546e7a!important}.bg-blue-grey-8{background:#455a64!important}.bg-blue-grey-9{background:#37474f!important}.bg-blue-grey-10{background:#263238!important}.bg-blue-grey-11{background:#cfd8dc!important}.bg-blue-grey-12{background:#b0bec5!important}.bg-blue-grey-13{background:#78909c!important}.bg-blue-grey-14{background:#455a64!important}.shadow-transition{transition:box-shadow .28s cubic-bezier(.4,0,.2,1)!important}.shadow-1{box-shadow:0 1px 3px rgba(0,0,0,.2),0 1px 1px rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}.shadow-up-1{box-shadow:0 -1px 3px rgba(0,0,0,.2),0 -1px 1px rgba(0,0,0,.14),0 -2px 1px -1px rgba(0,0,0,.12)}.shadow-2{box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12)}.shadow-up-2{box-shadow:0 -1px 5px rgba(0,0,0,.2),0 -2px 2px rgba(0,0,0,.14),0 -3px 1px -2px rgba(0,0,0,.12)}.shadow-3{box-shadow:0 1px 8px rgba(0,0,0,.2),0 3px 4px rgba(0,0,0,.14),0 3px 3px -2px rgba(0,0,0,.12)}.shadow-up-3{box-shadow:0 -1px 8px rgba(0,0,0,.2),0 -3px 4px rgba(0,0,0,.14),0 -3px 3px -2px rgba(0,0,0,.12)}.shadow-4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px rgba(0,0,0,.14),0 1px 10px rgba(0,0,0,.12)}.shadow-up-4{box-shadow:0 -2px 4px -1px rgba(0,0,0,.2),0 -4px 5px rgba(0,0,0,.14),0 -1px 10px rgba(0,0,0,.12)}.shadow-5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px rgba(0,0,0,.14),0 1px 14px rgba(0,0,0,.12)}.shadow-up-5{box-shadow:0 -3px 5px -1px rgba(0,0,0,.2),0 -5px 8px rgba(0,0,0,.14),0 -1px 14px rgba(0,0,0,.12)}.shadow-6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px rgba(0,0,0,.14),0 1px 18px rgba(0,0,0,.12)}.shadow-up-6{box-shadow:0 -3px 5px -1px rgba(0,0,0,.2),0 -6px 10px rgba(0,0,0,.14),0 -1px 18px rgba(0,0,0,.12)}.shadow-7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.shadow-up-7{box-shadow:0 -4px 5px -2px rgba(0,0,0,.2),0 -7px 10px 1px rgba(0,0,0,.14),0 -2px 16px 1px rgba(0,0,0,.12)}.shadow-8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.shadow-up-8{box-shadow:0 -5px 5px -3px rgba(0,0,0,.2),0 -8px 10px 1px rgba(0,0,0,.14),0 -3px 14px 2px rgba(0,0,0,.12)}.shadow-9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.shadow-up-9{box-shadow:0 -5px 6px -3px rgba(0,0,0,.2),0 -9px 12px 1px rgba(0,0,0,.14),0 -3px 16px 2px rgba(0,0,0,.12)}.shadow-10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.shadow-up-10{box-shadow:0 -6px 6px -3px rgba(0,0,0,.2),0 -10px 14px 1px rgba(0,0,0,.14),0 -4px 18px 3px rgba(0,0,0,.12)}.shadow-11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.shadow-up-11{box-shadow:0 -6px 7px -4px rgba(0,0,0,.2),0 -11px 15px 1px rgba(0,0,0,.14),0 -4px 20px 3px rgba(0,0,0,.12)}.shadow-12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.shadow-up-12{box-shadow:0 -7px 8px -4px rgba(0,0,0,.2),0 -12px 17px 2px rgba(0,0,0,.14),0 -5px 22px 4px rgba(0,0,0,.12)}.shadow-13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.shadow-up-13{box-shadow:0 -7px 8px -4px rgba(0,0,0,.2),0 -13px 19px 2px rgba(0,0,0,.14),0 -5px 24px 4px rgba(0,0,0,.12)}.shadow-14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.shadow-up-14{box-shadow:0 -7px 9px -4px rgba(0,0,0,.2),0 -14px 21px 2px rgba(0,0,0,.14),0 -5px 26px 4px rgba(0,0,0,.12)}.shadow-15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.shadow-up-15{box-shadow:0 -8px 9px -5px rgba(0,0,0,.2),0 -15px 22px 2px rgba(0,0,0,.14),0 -6px 28px 5px rgba(0,0,0,.12)}.shadow-16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.shadow-up-16{box-shadow:0 -8px 10px -5px rgba(0,0,0,.2),0 -16px 24px 2px rgba(0,0,0,.14),0 -6px 30px 5px rgba(0,0,0,.12)}.shadow-17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.shadow-up-17{box-shadow:0 -8px 11px -5px rgba(0,0,0,.2),0 -17px 26px 2px rgba(0,0,0,.14),0 -6px 32px 5px rgba(0,0,0,.12)}.shadow-18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.shadow-up-18{box-shadow:0 -9px 11px -5px rgba(0,0,0,.2),0 -18px 28px 2px rgba(0,0,0,.14),0 -7px 34px 6px rgba(0,0,0,.12)}.shadow-19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.shadow-up-19{box-shadow:0 -9px 12px -6px rgba(0,0,0,.2),0 -19px 29px 2px rgba(0,0,0,.14),0 -7px 36px 6px rgba(0,0,0,.12)}.shadow-20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.shadow-up-20{box-shadow:0 -10px 13px -6px rgba(0,0,0,.2),0 -20px 31px 3px rgba(0,0,0,.14),0 -8px 38px 7px rgba(0,0,0,.12)}.shadow-21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.shadow-up-21{box-shadow:0 -10px 13px -6px rgba(0,0,0,.2),0 -21px 33px 3px rgba(0,0,0,.14),0 -8px 40px 7px rgba(0,0,0,.12)}.shadow-22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.shadow-up-22{box-shadow:0 -10px 14px -6px rgba(0,0,0,.2),0 -22px 35px 3px rgba(0,0,0,.14),0 -8px 42px 7px rgba(0,0,0,.12)}.shadow-23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.shadow-up-23{box-shadow:0 -11px 14px -7px rgba(0,0,0,.2),0 -23px 36px 3px rgba(0,0,0,.14),0 -9px 44px 8px rgba(0,0,0,.12)}.shadow-24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.shadow-up-24{box-shadow:0 -11px 15px -7px rgba(0,0,0,.2),0 -24px 38px 3px rgba(0,0,0,.14),0 -9px 46px 8px rgba(0,0,0,.12)}.inset-shadow{box-shadow:inset 0 7px 9px -7px rgba(0,0,0,.7)}.inset-shadow-down{box-shadow:inset 0 -7px 9px -7px rgba(0,0,0,.7)}body.body--dark .shadow-1{box-shadow:0 1px 3px hsla(0,0%,100%,.2),0 1px 1px hsla(0,0%,100%,.14),0 2px 1px -1px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-1{box-shadow:0 -1px 3px hsla(0,0%,100%,.2),0 -1px 1px hsla(0,0%,100%,.14),0 -2px 1px -1px hsla(0,0%,100%,.12)}body.body--dark .shadow-2{box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-2{box-shadow:0 -1px 5px hsla(0,0%,100%,.2),0 -2px 2px hsla(0,0%,100%,.14),0 -3px 1px -2px hsla(0,0%,100%,.12)}body.body--dark .shadow-3{box-shadow:0 1px 8px hsla(0,0%,100%,.2),0 3px 4px hsla(0,0%,100%,.14),0 3px 3px -2px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-3{box-shadow:0 -1px 8px hsla(0,0%,100%,.2),0 -3px 4px hsla(0,0%,100%,.14),0 -3px 3px -2px hsla(0,0%,100%,.12)}body.body--dark .shadow-4{box-shadow:0 2px 4px -1px hsla(0,0%,100%,.2),0 4px 5px hsla(0,0%,100%,.14),0 1px 10px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-4{box-shadow:0 -2px 4px -1px hsla(0,0%,100%,.2),0 -4px 5px hsla(0,0%,100%,.14),0 -1px 10px hsla(0,0%,100%,.12)}body.body--dark .shadow-5{box-shadow:0 3px 5px -1px hsla(0,0%,100%,.2),0 5px 8px hsla(0,0%,100%,.14),0 1px 14px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-5{box-shadow:0 -3px 5px -1px hsla(0,0%,100%,.2),0 -5px 8px hsla(0,0%,100%,.14),0 -1px 14px hsla(0,0%,100%,.12)}body.body--dark .shadow-6{box-shadow:0 3px 5px -1px hsla(0,0%,100%,.2),0 6px 10px hsla(0,0%,100%,.14),0 1px 18px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-6{box-shadow:0 -3px 5px -1px hsla(0,0%,100%,.2),0 -6px 10px hsla(0,0%,100%,.14),0 -1px 18px hsla(0,0%,100%,.12)}body.body--dark .shadow-7{box-shadow:0 4px 5px -2px hsla(0,0%,100%,.2),0 7px 10px 1px hsla(0,0%,100%,.14),0 2px 16px 1px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-7{box-shadow:0 -4px 5px -2px hsla(0,0%,100%,.2),0 -7px 10px 1px hsla(0,0%,100%,.14),0 -2px 16px 1px hsla(0,0%,100%,.12)}body.body--dark .shadow-8{box-shadow:0 5px 5px -3px hsla(0,0%,100%,.2),0 8px 10px 1px hsla(0,0%,100%,.14),0 3px 14px 2px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-8{box-shadow:0 -5px 5px -3px hsla(0,0%,100%,.2),0 -8px 10px 1px hsla(0,0%,100%,.14),0 -3px 14px 2px hsla(0,0%,100%,.12)}body.body--dark .shadow-9{box-shadow:0 5px 6px -3px hsla(0,0%,100%,.2),0 9px 12px 1px hsla(0,0%,100%,.14),0 3px 16px 2px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-9{box-shadow:0 -5px 6px -3px hsla(0,0%,100%,.2),0 -9px 12px 1px hsla(0,0%,100%,.14),0 -3px 16px 2px hsla(0,0%,100%,.12)}body.body--dark .shadow-10{box-shadow:0 6px 6px -3px hsla(0,0%,100%,.2),0 10px 14px 1px hsla(0,0%,100%,.14),0 4px 18px 3px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-10{box-shadow:0 -6px 6px -3px hsla(0,0%,100%,.2),0 -10px 14px 1px hsla(0,0%,100%,.14),0 -4px 18px 3px hsla(0,0%,100%,.12)}body.body--dark .shadow-11{box-shadow:0 6px 7px -4px hsla(0,0%,100%,.2),0 11px 15px 1px hsla(0,0%,100%,.14),0 4px 20px 3px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-11{box-shadow:0 -6px 7px -4px hsla(0,0%,100%,.2),0 -11px 15px 1px hsla(0,0%,100%,.14),0 -4px 20px 3px hsla(0,0%,100%,.12)}body.body--dark .shadow-12{box-shadow:0 7px 8px -4px hsla(0,0%,100%,.2),0 12px 17px 2px hsla(0,0%,100%,.14),0 5px 22px 4px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-12{box-shadow:0 -7px 8px -4px hsla(0,0%,100%,.2),0 -12px 17px 2px hsla(0,0%,100%,.14),0 -5px 22px 4px hsla(0,0%,100%,.12)}body.body--dark .shadow-13{box-shadow:0 7px 8px -4px hsla(0,0%,100%,.2),0 13px 19px 2px hsla(0,0%,100%,.14),0 5px 24px 4px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-13{box-shadow:0 -7px 8px -4px hsla(0,0%,100%,.2),0 -13px 19px 2px hsla(0,0%,100%,.14),0 -5px 24px 4px hsla(0,0%,100%,.12)}body.body--dark .shadow-14{box-shadow:0 7px 9px -4px hsla(0,0%,100%,.2),0 14px 21px 2px hsla(0,0%,100%,.14),0 5px 26px 4px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-14{box-shadow:0 -7px 9px -4px hsla(0,0%,100%,.2),0 -14px 21px 2px hsla(0,0%,100%,.14),0 -5px 26px 4px hsla(0,0%,100%,.12)}body.body--dark .shadow-15{box-shadow:0 8px 9px -5px hsla(0,0%,100%,.2),0 15px 22px 2px hsla(0,0%,100%,.14),0 6px 28px 5px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-15{box-shadow:0 -8px 9px -5px hsla(0,0%,100%,.2),0 -15px 22px 2px hsla(0,0%,100%,.14),0 -6px 28px 5px hsla(0,0%,100%,.12)}body.body--dark .shadow-16{box-shadow:0 8px 10px -5px hsla(0,0%,100%,.2),0 16px 24px 2px hsla(0,0%,100%,.14),0 6px 30px 5px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-16{box-shadow:0 -8px 10px -5px hsla(0,0%,100%,.2),0 -16px 24px 2px hsla(0,0%,100%,.14),0 -6px 30px 5px hsla(0,0%,100%,.12)}body.body--dark .shadow-17{box-shadow:0 8px 11px -5px hsla(0,0%,100%,.2),0 17px 26px 2px hsla(0,0%,100%,.14),0 6px 32px 5px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-17{box-shadow:0 -8px 11px -5px hsla(0,0%,100%,.2),0 -17px 26px 2px hsla(0,0%,100%,.14),0 -6px 32px 5px hsla(0,0%,100%,.12)}body.body--dark .shadow-18{box-shadow:0 9px 11px -5px hsla(0,0%,100%,.2),0 18px 28px 2px hsla(0,0%,100%,.14),0 7px 34px 6px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-18{box-shadow:0 -9px 11px -5px hsla(0,0%,100%,.2),0 -18px 28px 2px hsla(0,0%,100%,.14),0 -7px 34px 6px hsla(0,0%,100%,.12)}body.body--dark .shadow-19{box-shadow:0 9px 12px -6px hsla(0,0%,100%,.2),0 19px 29px 2px hsla(0,0%,100%,.14),0 7px 36px 6px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-19{box-shadow:0 -9px 12px -6px hsla(0,0%,100%,.2),0 -19px 29px 2px hsla(0,0%,100%,.14),0 -7px 36px 6px hsla(0,0%,100%,.12)}body.body--dark .shadow-20{box-shadow:0 10px 13px -6px hsla(0,0%,100%,.2),0 20px 31px 3px hsla(0,0%,100%,.14),0 8px 38px 7px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-20{box-shadow:0 -10px 13px -6px hsla(0,0%,100%,.2),0 -20px 31px 3px hsla(0,0%,100%,.14),0 -8px 38px 7px hsla(0,0%,100%,.12)}body.body--dark .shadow-21{box-shadow:0 10px 13px -6px hsla(0,0%,100%,.2),0 21px 33px 3px hsla(0,0%,100%,.14),0 8px 40px 7px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-21{box-shadow:0 -10px 13px -6px hsla(0,0%,100%,.2),0 -21px 33px 3px hsla(0,0%,100%,.14),0 -8px 40px 7px hsla(0,0%,100%,.12)}body.body--dark .shadow-22{box-shadow:0 10px 14px -6px hsla(0,0%,100%,.2),0 22px 35px 3px hsla(0,0%,100%,.14),0 8px 42px 7px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-22{box-shadow:0 -10px 14px -6px hsla(0,0%,100%,.2),0 -22px 35px 3px hsla(0,0%,100%,.14),0 -8px 42px 7px hsla(0,0%,100%,.12)}body.body--dark .shadow-23{box-shadow:0 11px 14px -7px hsla(0,0%,100%,.2),0 23px 36px 3px hsla(0,0%,100%,.14),0 9px 44px 8px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-23{box-shadow:0 -11px 14px -7px hsla(0,0%,100%,.2),0 -23px 36px 3px hsla(0,0%,100%,.14),0 -9px 44px 8px hsla(0,0%,100%,.12)}body.body--dark .shadow-24{box-shadow:0 11px 15px -7px hsla(0,0%,100%,.2),0 24px 38px 3px hsla(0,0%,100%,.14),0 9px 46px 8px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-24{box-shadow:0 -11px 15px -7px hsla(0,0%,100%,.2),0 -24px 38px 3px hsla(0,0%,100%,.14),0 -9px 46px 8px hsla(0,0%,100%,.12)}body.body--dark .inset-shadow{box-shadow:inset 0 7px 9px -7px hsla(0,0%,100%,.7)}body.body--dark .inset-shadow-down{box-shadow:inset 0 -7px 9px -7px hsla(0,0%,100%,.7)}.no-shadow,.shadow-0{box-shadow:none!important}.z-marginals{z-index:2000}.z-notify{z-index:9500}.z-fullscreen{z-index:6000}.z-inherit{z-index:inherit!important}.column,.flex,.row{display:flex;flex-wrap:wrap}.column.inline,.flex.inline,.row.inline{display:inline-flex}.row.reverse{flex-direction:row-reverse}.column{flex-direction:column}.column.reverse{flex-direction:column-reverse}.wrap{flex-wrap:wrap}.no-wrap{flex-wrap:nowrap}.reverse-wrap{flex-wrap:wrap-reverse}.order-first{order:-10000}.order-last{order:10000}.order-none{order:0}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.flex-center,.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.flex-center,.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-stretch{align-content:stretch}.content-between{align-content:space-between}.content-around{align-content:space-around}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-baseline{align-self:baseline}.self-stretch{align-self:stretch}.q-gutter-none,.q-gutter-none>*,.q-gutter-x-none,.q-gutter-x-none>*{margin-left:0}.q-gutter-none,.q-gutter-none>*,.q-gutter-y-none,.q-gutter-y-none>*{margin-top:0}.q-col-gutter-none,.q-col-gutter-x-none{margin-left:0}.q-col-gutter-none>*,.q-col-gutter-x-none>*{padding-left:0}.q-col-gutter-none,.q-col-gutter-y-none{margin-top:0}.q-col-gutter-none>*,.q-col-gutter-y-none>*{padding-top:0}.q-gutter-x-xs,.q-gutter-xs{margin-left:-4px}.q-gutter-x-xs>*,.q-gutter-xs>*{margin-left:4px}.q-gutter-xs,.q-gutter-y-xs{margin-top:-4px}.q-gutter-xs>*,.q-gutter-y-xs>*{margin-top:4px}.q-col-gutter-x-xs,.q-col-gutter-xs{margin-left:-4px}.q-col-gutter-x-xs>*,.q-col-gutter-xs>*{padding-left:4px}.q-col-gutter-xs,.q-col-gutter-y-xs{margin-top:-4px}.q-col-gutter-xs>*,.q-col-gutter-y-xs>*{padding-top:4px}.q-gutter-sm,.q-gutter-x-sm{margin-left:-8px}.q-gutter-sm>*,.q-gutter-x-sm>*{margin-left:8px}.q-gutter-sm,.q-gutter-y-sm{margin-top:-8px}.q-gutter-sm>*,.q-gutter-y-sm>*{margin-top:8px}.q-col-gutter-sm,.q-col-gutter-x-sm{margin-left:-8px}.q-col-gutter-sm>*,.q-col-gutter-x-sm>*{padding-left:8px}.q-col-gutter-sm,.q-col-gutter-y-sm{margin-top:-8px}.q-col-gutter-sm>*,.q-col-gutter-y-sm>*{padding-top:8px}.q-gutter-md,.q-gutter-x-md{margin-left:-16px}.q-gutter-md>*,.q-gutter-x-md>*{margin-left:16px}.q-gutter-md,.q-gutter-y-md{margin-top:-16px}.q-gutter-md>*,.q-gutter-y-md>*{margin-top:16px}.q-col-gutter-md,.q-col-gutter-x-md{margin-left:-16px}.q-col-gutter-md>*,.q-col-gutter-x-md>*{padding-left:16px}.q-col-gutter-md,.q-col-gutter-y-md{margin-top:-16px}.q-col-gutter-md>*,.q-col-gutter-y-md>*{padding-top:16px}.q-gutter-lg,.q-gutter-x-lg{margin-left:-24px}.q-gutter-lg>*,.q-gutter-x-lg>*{margin-left:24px}.q-gutter-lg,.q-gutter-y-lg{margin-top:-24px}.q-gutter-lg>*,.q-gutter-y-lg>*{margin-top:24px}.q-col-gutter-lg,.q-col-gutter-x-lg{margin-left:-24px}.q-col-gutter-lg>*,.q-col-gutter-x-lg>*{padding-left:24px}.q-col-gutter-lg,.q-col-gutter-y-lg{margin-top:-24px}.q-col-gutter-lg>*,.q-col-gutter-y-lg>*{padding-top:24px}.q-gutter-x-xl,.q-gutter-xl{margin-left:-48px}.q-gutter-x-xl>*,.q-gutter-xl>*{margin-left:48px}.q-gutter-xl,.q-gutter-y-xl{margin-top:-48px}.q-gutter-xl>*,.q-gutter-y-xl>*{margin-top:48px}.q-col-gutter-x-xl,.q-col-gutter-xl{margin-left:-48px}.q-col-gutter-x-xl>*,.q-col-gutter-xl>*{padding-left:48px}.q-col-gutter-xl,.q-col-gutter-y-xl{margin-top:-48px}.q-col-gutter-xl>*,.q-col-gutter-y-xl>*{padding-top:48px}@media(min-width:0){.flex>.col,.flex>.col-0,.flex>.col-1,.flex>.col-10,.flex>.col-11,.flex>.col-12,.flex>.col-2,.flex>.col-3,.flex>.col-4,.flex>.col-5,.flex>.col-6,.flex>.col-7,.flex>.col-8,.flex>.col-9,.flex>.col-auto,.flex>.col-grow,.flex>.col-shrink,.flex>.col-xs,.flex>.col-xs-0,.flex>.col-xs-1,.flex>.col-xs-10,.flex>.col-xs-11,.flex>.col-xs-12,.flex>.col-xs-2,.flex>.col-xs-3,.flex>.col-xs-4,.flex>.col-xs-5,.flex>.col-xs-6,.flex>.col-xs-7,.flex>.col-xs-8,.flex>.col-xs-9,.flex>.col-xs-auto,.flex>.col-xs-grow,.flex>.col-xs-shrink,.row>.col,.row>.col-0,.row>.col-1,.row>.col-10,.row>.col-11,.row>.col-12,.row>.col-2,.row>.col-3,.row>.col-4,.row>.col-5,.row>.col-6,.row>.col-7,.row>.col-8,.row>.col-9,.row>.col-auto,.row>.col-grow,.row>.col-shrink,.row>.col-xs,.row>.col-xs-0,.row>.col-xs-1,.row>.col-xs-10,.row>.col-xs-11,.row>.col-xs-12,.row>.col-xs-2,.row>.col-xs-3,.row>.col-xs-4,.row>.col-xs-5,.row>.col-xs-6,.row>.col-xs-7,.row>.col-xs-8,.row>.col-xs-9,.row>.col-xs-auto,.row>.col-xs-grow,.row>.col-xs-shrink{width:auto;min-width:0;max-width:100%}.column>.col,.column>.col-0,.column>.col-1,.column>.col-10,.column>.col-11,.column>.col-12,.column>.col-2,.column>.col-3,.column>.col-4,.column>.col-5,.column>.col-6,.column>.col-7,.column>.col-8,.column>.col-9,.column>.col-auto,.column>.col-grow,.column>.col-shrink,.column>.col-xs,.column>.col-xs-0,.column>.col-xs-1,.column>.col-xs-10,.column>.col-xs-11,.column>.col-xs-12,.column>.col-xs-2,.column>.col-xs-3,.column>.col-xs-4,.column>.col-xs-5,.column>.col-xs-6,.column>.col-xs-7,.column>.col-xs-8,.column>.col-xs-9,.column>.col-xs-auto,.column>.col-xs-grow,.column>.col-xs-shrink,.flex>.col,.flex>.col-0,.flex>.col-1,.flex>.col-10,.flex>.col-11,.flex>.col-12,.flex>.col-2,.flex>.col-3,.flex>.col-4,.flex>.col-5,.flex>.col-6,.flex>.col-7,.flex>.col-8,.flex>.col-9,.flex>.col-auto,.flex>.col-grow,.flex>.col-shrink,.flex>.col-xs,.flex>.col-xs-0,.flex>.col-xs-1,.flex>.col-xs-10,.flex>.col-xs-11,.flex>.col-xs-12,.flex>.col-xs-2,.flex>.col-xs-3,.flex>.col-xs-4,.flex>.col-xs-5,.flex>.col-xs-6,.flex>.col-xs-7,.flex>.col-xs-8,.flex>.col-xs-9,.flex>.col-xs-auto,.flex>.col-xs-grow,.flex>.col-xs-shrink{height:auto;min-height:0;max-height:100%}.col,.col-xs{flex:10000 1 0%}.col-0,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-xs-0,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-auto{flex:0 0 auto}.col-grow,.col-xs-grow{flex:1 0 auto}.col-shrink,.col-xs-shrink{flex:0 1 auto}.row>.col-0,.row>.col-xs-0{height:auto;width:0}.row>.offset-0,.row>.offset-xs-0{margin-left:0}.column>.col-0,.column>.col-xs-0{height:0;width:auto}.row>.col-1,.row>.col-xs-1{height:auto;width:8.3333%}.row>.offset-1,.row>.offset-xs-1{margin-left:8.3333%}.column>.col-1,.column>.col-xs-1{height:8.3333%;width:auto}.row>.col-2,.row>.col-xs-2{height:auto;width:16.6667%}.row>.offset-2,.row>.offset-xs-2{margin-left:16.6667%}.column>.col-2,.column>.col-xs-2{height:16.6667%;width:auto}.row>.col-3,.row>.col-xs-3{height:auto;width:25%}.row>.offset-3,.row>.offset-xs-3{margin-left:25%}.column>.col-3,.column>.col-xs-3{height:25%;width:auto}.row>.col-4,.row>.col-xs-4{height:auto;width:33.3333%}.row>.offset-4,.row>.offset-xs-4{margin-left:33.3333%}.column>.col-4,.column>.col-xs-4{height:33.3333%;width:auto}.row>.col-5,.row>.col-xs-5{height:auto;width:41.6667%}.row>.offset-5,.row>.offset-xs-5{margin-left:41.6667%}.column>.col-5,.column>.col-xs-5{height:41.6667%;width:auto}.row>.col-6,.row>.col-xs-6{height:auto;width:50%}.row>.offset-6,.row>.offset-xs-6{margin-left:50%}.column>.col-6,.column>.col-xs-6{height:50%;width:auto}.row>.col-7,.row>.col-xs-7{height:auto;width:58.3333%}.row>.offset-7,.row>.offset-xs-7{margin-left:58.3333%}.column>.col-7,.column>.col-xs-7{height:58.3333%;width:auto}.row>.col-8,.row>.col-xs-8{height:auto;width:66.6667%}.row>.offset-8,.row>.offset-xs-8{margin-left:66.6667%}.column>.col-8,.column>.col-xs-8{height:66.6667%;width:auto}.row>.col-9,.row>.col-xs-9{height:auto;width:75%}.row>.offset-9,.row>.offset-xs-9{margin-left:75%}.column>.col-9,.column>.col-xs-9{height:75%;width:auto}.row>.col-10,.row>.col-xs-10{height:auto;width:83.3333%}.row>.offset-10,.row>.offset-xs-10{margin-left:83.3333%}.column>.col-10,.column>.col-xs-10{height:83.3333%;width:auto}.row>.col-11,.row>.col-xs-11{height:auto;width:91.6667%}.row>.offset-11,.row>.offset-xs-11{margin-left:91.6667%}.column>.col-11,.column>.col-xs-11{height:91.6667%;width:auto}.row>.col-12,.row>.col-xs-12{height:auto;width:100%}.row>.offset-12,.row>.offset-xs-12{margin-left:100%}.column>.col-12,.column>.col-xs-12{height:100%;width:auto}.row>.col-all{height:auto;flex:0 0 100%}}@media(min-width:600px){.flex>.col-sm,.flex>.col-sm-0,.flex>.col-sm-1,.flex>.col-sm-10,.flex>.col-sm-11,.flex>.col-sm-12,.flex>.col-sm-2,.flex>.col-sm-3,.flex>.col-sm-4,.flex>.col-sm-5,.flex>.col-sm-6,.flex>.col-sm-7,.flex>.col-sm-8,.flex>.col-sm-9,.flex>.col-sm-auto,.flex>.col-sm-grow,.flex>.col-sm-shrink,.row>.col-sm,.row>.col-sm-0,.row>.col-sm-1,.row>.col-sm-10,.row>.col-sm-11,.row>.col-sm-12,.row>.col-sm-2,.row>.col-sm-3,.row>.col-sm-4,.row>.col-sm-5,.row>.col-sm-6,.row>.col-sm-7,.row>.col-sm-8,.row>.col-sm-9,.row>.col-sm-auto,.row>.col-sm-grow,.row>.col-sm-shrink{width:auto;min-width:0;max-width:100%}.column>.col-sm,.column>.col-sm-0,.column>.col-sm-1,.column>.col-sm-10,.column>.col-sm-11,.column>.col-sm-12,.column>.col-sm-2,.column>.col-sm-3,.column>.col-sm-4,.column>.col-sm-5,.column>.col-sm-6,.column>.col-sm-7,.column>.col-sm-8,.column>.col-sm-9,.column>.col-sm-auto,.column>.col-sm-grow,.column>.col-sm-shrink,.flex>.col-sm,.flex>.col-sm-0,.flex>.col-sm-1,.flex>.col-sm-10,.flex>.col-sm-11,.flex>.col-sm-12,.flex>.col-sm-2,.flex>.col-sm-3,.flex>.col-sm-4,.flex>.col-sm-5,.flex>.col-sm-6,.flex>.col-sm-7,.flex>.col-sm-8,.flex>.col-sm-9,.flex>.col-sm-auto,.flex>.col-sm-grow,.flex>.col-sm-shrink{height:auto;min-height:0;max-height:100%}.col-sm{flex:10000 1 0%}.col-sm-0,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto{flex:0 0 auto}.col-sm-grow{flex:1 0 auto}.col-sm-shrink{flex:0 1 auto}.row>.col-sm-0{height:auto;width:0}.row>.offset-sm-0{margin-left:0}.column>.col-sm-0{height:0;width:auto}.row>.col-sm-1{height:auto;width:8.3333%}.row>.offset-sm-1{margin-left:8.3333%}.column>.col-sm-1{height:8.3333%;width:auto}.row>.col-sm-2{height:auto;width:16.6667%}.row>.offset-sm-2{margin-left:16.6667%}.column>.col-sm-2{height:16.6667%;width:auto}.row>.col-sm-3{height:auto;width:25%}.row>.offset-sm-3{margin-left:25%}.column>.col-sm-3{height:25%;width:auto}.row>.col-sm-4{height:auto;width:33.3333%}.row>.offset-sm-4{margin-left:33.3333%}.column>.col-sm-4{height:33.3333%;width:auto}.row>.col-sm-5{height:auto;width:41.6667%}.row>.offset-sm-5{margin-left:41.6667%}.column>.col-sm-5{height:41.6667%;width:auto}.row>.col-sm-6{height:auto;width:50%}.row>.offset-sm-6{margin-left:50%}.column>.col-sm-6{height:50%;width:auto}.row>.col-sm-7{height:auto;width:58.3333%}.row>.offset-sm-7{margin-left:58.3333%}.column>.col-sm-7{height:58.3333%;width:auto}.row>.col-sm-8{height:auto;width:66.6667%}.row>.offset-sm-8{margin-left:66.6667%}.column>.col-sm-8{height:66.6667%;width:auto}.row>.col-sm-9{height:auto;width:75%}.row>.offset-sm-9{margin-left:75%}.column>.col-sm-9{height:75%;width:auto}.row>.col-sm-10{height:auto;width:83.3333%}.row>.offset-sm-10{margin-left:83.3333%}.column>.col-sm-10{height:83.3333%;width:auto}.row>.col-sm-11{height:auto;width:91.6667%}.row>.offset-sm-11{margin-left:91.6667%}.column>.col-sm-11{height:91.6667%;width:auto}.row>.col-sm-12{height:auto;width:100%}.row>.offset-sm-12{margin-left:100%}.column>.col-sm-12{height:100%;width:auto}}@media(min-width:1024px){.flex>.col-md,.flex>.col-md-0,.flex>.col-md-1,.flex>.col-md-10,.flex>.col-md-11,.flex>.col-md-12,.flex>.col-md-2,.flex>.col-md-3,.flex>.col-md-4,.flex>.col-md-5,.flex>.col-md-6,.flex>.col-md-7,.flex>.col-md-8,.flex>.col-md-9,.flex>.col-md-auto,.flex>.col-md-grow,.flex>.col-md-shrink,.row>.col-md,.row>.col-md-0,.row>.col-md-1,.row>.col-md-10,.row>.col-md-11,.row>.col-md-12,.row>.col-md-2,.row>.col-md-3,.row>.col-md-4,.row>.col-md-5,.row>.col-md-6,.row>.col-md-7,.row>.col-md-8,.row>.col-md-9,.row>.col-md-auto,.row>.col-md-grow,.row>.col-md-shrink{width:auto;min-width:0;max-width:100%}.column>.col-md,.column>.col-md-0,.column>.col-md-1,.column>.col-md-10,.column>.col-md-11,.column>.col-md-12,.column>.col-md-2,.column>.col-md-3,.column>.col-md-4,.column>.col-md-5,.column>.col-md-6,.column>.col-md-7,.column>.col-md-8,.column>.col-md-9,.column>.col-md-auto,.column>.col-md-grow,.column>.col-md-shrink,.flex>.col-md,.flex>.col-md-0,.flex>.col-md-1,.flex>.col-md-10,.flex>.col-md-11,.flex>.col-md-12,.flex>.col-md-2,.flex>.col-md-3,.flex>.col-md-4,.flex>.col-md-5,.flex>.col-md-6,.flex>.col-md-7,.flex>.col-md-8,.flex>.col-md-9,.flex>.col-md-auto,.flex>.col-md-grow,.flex>.col-md-shrink{height:auto;min-height:0;max-height:100%}.col-md{flex:10000 1 0%}.col-md-0,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto{flex:0 0 auto}.col-md-grow{flex:1 0 auto}.col-md-shrink{flex:0 1 auto}.row>.col-md-0{height:auto;width:0}.row>.offset-md-0{margin-left:0}.column>.col-md-0{height:0;width:auto}.row>.col-md-1{height:auto;width:8.3333%}.row>.offset-md-1{margin-left:8.3333%}.column>.col-md-1{height:8.3333%;width:auto}.row>.col-md-2{height:auto;width:16.6667%}.row>.offset-md-2{margin-left:16.6667%}.column>.col-md-2{height:16.6667%;width:auto}.row>.col-md-3{height:auto;width:25%}.row>.offset-md-3{margin-left:25%}.column>.col-md-3{height:25%;width:auto}.row>.col-md-4{height:auto;width:33.3333%}.row>.offset-md-4{margin-left:33.3333%}.column>.col-md-4{height:33.3333%;width:auto}.row>.col-md-5{height:auto;width:41.6667%}.row>.offset-md-5{margin-left:41.6667%}.column>.col-md-5{height:41.6667%;width:auto}.row>.col-md-6{height:auto;width:50%}.row>.offset-md-6{margin-left:50%}.column>.col-md-6{height:50%;width:auto}.row>.col-md-7{height:auto;width:58.3333%}.row>.offset-md-7{margin-left:58.3333%}.column>.col-md-7{height:58.3333%;width:auto}.row>.col-md-8{height:auto;width:66.6667%}.row>.offset-md-8{margin-left:66.6667%}.column>.col-md-8{height:66.6667%;width:auto}.row>.col-md-9{height:auto;width:75%}.row>.offset-md-9{margin-left:75%}.column>.col-md-9{height:75%;width:auto}.row>.col-md-10{height:auto;width:83.3333%}.row>.offset-md-10{margin-left:83.3333%}.column>.col-md-10{height:83.3333%;width:auto}.row>.col-md-11{height:auto;width:91.6667%}.row>.offset-md-11{margin-left:91.6667%}.column>.col-md-11{height:91.6667%;width:auto}.row>.col-md-12{height:auto;width:100%}.row>.offset-md-12{margin-left:100%}.column>.col-md-12{height:100%;width:auto}}@media(min-width:1440px){.flex>.col-lg,.flex>.col-lg-0,.flex>.col-lg-1,.flex>.col-lg-10,.flex>.col-lg-11,.flex>.col-lg-12,.flex>.col-lg-2,.flex>.col-lg-3,.flex>.col-lg-4,.flex>.col-lg-5,.flex>.col-lg-6,.flex>.col-lg-7,.flex>.col-lg-8,.flex>.col-lg-9,.flex>.col-lg-auto,.flex>.col-lg-grow,.flex>.col-lg-shrink,.row>.col-lg,.row>.col-lg-0,.row>.col-lg-1,.row>.col-lg-10,.row>.col-lg-11,.row>.col-lg-12,.row>.col-lg-2,.row>.col-lg-3,.row>.col-lg-4,.row>.col-lg-5,.row>.col-lg-6,.row>.col-lg-7,.row>.col-lg-8,.row>.col-lg-9,.row>.col-lg-auto,.row>.col-lg-grow,.row>.col-lg-shrink{width:auto;min-width:0;max-width:100%}.column>.col-lg,.column>.col-lg-0,.column>.col-lg-1,.column>.col-lg-10,.column>.col-lg-11,.column>.col-lg-12,.column>.col-lg-2,.column>.col-lg-3,.column>.col-lg-4,.column>.col-lg-5,.column>.col-lg-6,.column>.col-lg-7,.column>.col-lg-8,.column>.col-lg-9,.column>.col-lg-auto,.column>.col-lg-grow,.column>.col-lg-shrink,.flex>.col-lg,.flex>.col-lg-0,.flex>.col-lg-1,.flex>.col-lg-10,.flex>.col-lg-11,.flex>.col-lg-12,.flex>.col-lg-2,.flex>.col-lg-3,.flex>.col-lg-4,.flex>.col-lg-5,.flex>.col-lg-6,.flex>.col-lg-7,.flex>.col-lg-8,.flex>.col-lg-9,.flex>.col-lg-auto,.flex>.col-lg-grow,.flex>.col-lg-shrink{height:auto;min-height:0;max-height:100%}.col-lg{flex:10000 1 0%}.col-lg-0,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto{flex:0 0 auto}.col-lg-grow{flex:1 0 auto}.col-lg-shrink{flex:0 1 auto}.row>.col-lg-0{height:auto;width:0}.row>.offset-lg-0{margin-left:0}.column>.col-lg-0{height:0;width:auto}.row>.col-lg-1{height:auto;width:8.3333%}.row>.offset-lg-1{margin-left:8.3333%}.column>.col-lg-1{height:8.3333%;width:auto}.row>.col-lg-2{height:auto;width:16.6667%}.row>.offset-lg-2{margin-left:16.6667%}.column>.col-lg-2{height:16.6667%;width:auto}.row>.col-lg-3{height:auto;width:25%}.row>.offset-lg-3{margin-left:25%}.column>.col-lg-3{height:25%;width:auto}.row>.col-lg-4{height:auto;width:33.3333%}.row>.offset-lg-4{margin-left:33.3333%}.column>.col-lg-4{height:33.3333%;width:auto}.row>.col-lg-5{height:auto;width:41.6667%}.row>.offset-lg-5{margin-left:41.6667%}.column>.col-lg-5{height:41.6667%;width:auto}.row>.col-lg-6{height:auto;width:50%}.row>.offset-lg-6{margin-left:50%}.column>.col-lg-6{height:50%;width:auto}.row>.col-lg-7{height:auto;width:58.3333%}.row>.offset-lg-7{margin-left:58.3333%}.column>.col-lg-7{height:58.3333%;width:auto}.row>.col-lg-8{height:auto;width:66.6667%}.row>.offset-lg-8{margin-left:66.6667%}.column>.col-lg-8{height:66.6667%;width:auto}.row>.col-lg-9{height:auto;width:75%}.row>.offset-lg-9{margin-left:75%}.column>.col-lg-9{height:75%;width:auto}.row>.col-lg-10{height:auto;width:83.3333%}.row>.offset-lg-10{margin-left:83.3333%}.column>.col-lg-10{height:83.3333%;width:auto}.row>.col-lg-11{height:auto;width:91.6667%}.row>.offset-lg-11{margin-left:91.6667%}.column>.col-lg-11{height:91.6667%;width:auto}.row>.col-lg-12{height:auto;width:100%}.row>.offset-lg-12{margin-left:100%}.column>.col-lg-12{height:100%;width:auto}}@media(min-width:1920px){.flex>.col-xl,.flex>.col-xl-0,.flex>.col-xl-1,.flex>.col-xl-10,.flex>.col-xl-11,.flex>.col-xl-12,.flex>.col-xl-2,.flex>.col-xl-3,.flex>.col-xl-4,.flex>.col-xl-5,.flex>.col-xl-6,.flex>.col-xl-7,.flex>.col-xl-8,.flex>.col-xl-9,.flex>.col-xl-auto,.flex>.col-xl-grow,.flex>.col-xl-shrink,.row>.col-xl,.row>.col-xl-0,.row>.col-xl-1,.row>.col-xl-10,.row>.col-xl-11,.row>.col-xl-12,.row>.col-xl-2,.row>.col-xl-3,.row>.col-xl-4,.row>.col-xl-5,.row>.col-xl-6,.row>.col-xl-7,.row>.col-xl-8,.row>.col-xl-9,.row>.col-xl-auto,.row>.col-xl-grow,.row>.col-xl-shrink{width:auto;min-width:0;max-width:100%}.column>.col-xl,.column>.col-xl-0,.column>.col-xl-1,.column>.col-xl-10,.column>.col-xl-11,.column>.col-xl-12,.column>.col-xl-2,.column>.col-xl-3,.column>.col-xl-4,.column>.col-xl-5,.column>.col-xl-6,.column>.col-xl-7,.column>.col-xl-8,.column>.col-xl-9,.column>.col-xl-auto,.column>.col-xl-grow,.column>.col-xl-shrink,.flex>.col-xl,.flex>.col-xl-0,.flex>.col-xl-1,.flex>.col-xl-10,.flex>.col-xl-11,.flex>.col-xl-12,.flex>.col-xl-2,.flex>.col-xl-3,.flex>.col-xl-4,.flex>.col-xl-5,.flex>.col-xl-6,.flex>.col-xl-7,.flex>.col-xl-8,.flex>.col-xl-9,.flex>.col-xl-auto,.flex>.col-xl-grow,.flex>.col-xl-shrink{height:auto;min-height:0;max-height:100%}.col-xl{flex:10000 1 0%}.col-xl-0,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{flex:0 0 auto}.col-xl-grow{flex:1 0 auto}.col-xl-shrink{flex:0 1 auto}.row>.col-xl-0{height:auto;width:0}.row>.offset-xl-0{margin-left:0}.column>.col-xl-0{height:0;width:auto}.row>.col-xl-1{height:auto;width:8.3333%}.row>.offset-xl-1{margin-left:8.3333%}.column>.col-xl-1{height:8.3333%;width:auto}.row>.col-xl-2{height:auto;width:16.6667%}.row>.offset-xl-2{margin-left:16.6667%}.column>.col-xl-2{height:16.6667%;width:auto}.row>.col-xl-3{height:auto;width:25%}.row>.offset-xl-3{margin-left:25%}.column>.col-xl-3{height:25%;width:auto}.row>.col-xl-4{height:auto;width:33.3333%}.row>.offset-xl-4{margin-left:33.3333%}.column>.col-xl-4{height:33.3333%;width:auto}.row>.col-xl-5{height:auto;width:41.6667%}.row>.offset-xl-5{margin-left:41.6667%}.column>.col-xl-5{height:41.6667%;width:auto}.row>.col-xl-6{height:auto;width:50%}.row>.offset-xl-6{margin-left:50%}.column>.col-xl-6{height:50%;width:auto}.row>.col-xl-7{height:auto;width:58.3333%}.row>.offset-xl-7{margin-left:58.3333%}.column>.col-xl-7{height:58.3333%;width:auto}.row>.col-xl-8{height:auto;width:66.6667%}.row>.offset-xl-8{margin-left:66.6667%}.column>.col-xl-8{height:66.6667%;width:auto}.row>.col-xl-9{height:auto;width:75%}.row>.offset-xl-9{margin-left:75%}.column>.col-xl-9{height:75%;width:auto}.row>.col-xl-10{height:auto;width:83.3333%}.row>.offset-xl-10{margin-left:83.3333%}.column>.col-xl-10{height:83.3333%;width:auto}.row>.col-xl-11{height:auto;width:91.6667%}.row>.offset-xl-11{margin-left:91.6667%}.column>.col-xl-11{height:91.6667%;width:auto}.row>.col-xl-12{height:auto;width:100%}.row>.offset-xl-12{margin-left:100%}.column>.col-xl-12{height:100%;width:auto}}.rounded-borders{border-radius:4px}.border-radius-inherit{border-radius:inherit}.no-transition{transition:none!important}.transition-0{transition:0s!important}.glossy{background-image:linear-gradient(180deg,hsla(0,0%,100%,.3),hsla(0,0%,100%,0) 50%,rgba(0,0,0,.12) 51%,rgba(0,0,0,.04))!important}.q-placeholder::-moz-placeholder{color:inherit;opacity:.7}.q-placeholder::placeholder{color:inherit;opacity:.7}.q-body--fullscreen-mixin,.q-body--prevent-scroll{position:fixed!important}.q-body--force-scrollbar-x{overflow-x:scroll}.q-body--force-scrollbar-y{overflow-y:scroll}.q-no-input-spinner{-moz-appearance:textfield!important}.q-no-input-spinner::-webkit-inner-spin-button,.q-no-input-spinner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.q-link{outline:0;text-decoration:none}.q-link--focusable:focus-visible{-webkit-text-decoration:underline dashed currentColor 1px;text-decoration:underline dashed currentColor 1px}body.electron .q-electron-drag{-webkit-user-select:none;-webkit-app-region:drag}body.electron .q-electron-drag .q-btn-item,body.electron .q-electron-drag--exception{-webkit-app-region:no-drag}img.responsive{max-width:100%;height:auto}.non-selectable{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.scroll,body.mobile .scroll--mobile{overflow:auto}.scroll,.scroll-x,.scroll-y{-webkit-overflow-scrolling:touch;will-change:scroll-position}.scroll-x{overflow-x:auto}.scroll-y{overflow-y:auto}.no-scroll{overflow:hidden!important}.no-pointer-events,.no-pointer-events--children,.no-pointer-events--children *{pointer-events:none!important}.all-pointer-events{pointer-events:all!important}.cursor-pointer{cursor:pointer!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-inherit{cursor:inherit!important}.cursor-none{cursor:none!important}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.rotate-135{transform:rotate(135deg)}.rotate-180{transform:rotate(180deg)}.rotate-225{transform:rotate(225deg)}.rotate-270{transform:rotate(270deg)}.rotate-315{transform:rotate(315deg)}.flip-horizontal{transform:scaleX(-1)}.flip-vertical{transform:scaleY(-1)}.float-left{float:left}.float-right{float:right}.relative-position{position:relative}.fixed,.fixed-bottom,.fixed-bottom-left,.fixed-bottom-right,.fixed-center,.fixed-full,.fixed-left,.fixed-right,.fixed-top,.fixed-top-left,.fixed-top-right,.fullscreen{position:fixed}.absolute,.absolute-bottom,.absolute-bottom-left,.absolute-bottom-right,.absolute-center,.absolute-full,.absolute-left,.absolute-right,.absolute-top,.absolute-top-left,.absolute-top-right{position:absolute}.absolute-top,.fixed-top{top:0;left:0;right:0}.absolute-right,.fixed-right{top:0;right:0;bottom:0}.absolute-bottom,.fixed-bottom{right:0;bottom:0;left:0}.absolute-left,.fixed-left{top:0;bottom:0;left:0}.absolute-top-left,.fixed-top-left{top:0;left:0}.absolute-top-right,.fixed-top-right{top:0;right:0}.absolute-bottom-left,.fixed-bottom-left{bottom:0;left:0}.absolute-bottom-right,.fixed-bottom-right{bottom:0;right:0}.fullscreen{z-index:6000;border-radius:0!important;max-width:100vw;max-height:100vh}body.q-ios-padding .fullscreen{padding-top:20px!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}.absolute-full,.fixed-full,.fullscreen{top:0;right:0;bottom:0;left:0}.absolute-center,.fixed-center{top:50%;left:50%;transform:translate(-50%,-50%)}.vertical-top{vertical-align:top!important}.vertical-middle{vertical-align:middle!important}.vertical-bottom{vertical-align:bottom!important}.on-left{margin-right:12px}.on-right{margin-left:12px}.q-position-engine{margin-top:var(--q-pe-top,0)!important;margin-left:var(--q-pe-left,0)!important;will-change:auto;visibility:collapse}:root{--q-size-xs:0;--q-size-sm:600px;--q-size-md:1024px;--q-size-lg:1440px;--q-size-xl:1920px}.fit{width:100%!important}.fit,.full-height{height:100%!important}.full-width{width:100%!important;margin-left:0!important;margin-right:0!important}.window-height{margin-top:0!important;margin-bottom:0!important;height:100vh!important}.window-width{margin-left:0!important;margin-right:0!important;width:100vw!important}.block{display:block!important}.inline-block{display:inline-block!important}.q-pa-none{padding:0 0}.q-pl-none{padding-left:0}.q-pr-none{padding-right:0}.q-pt-none{padding-top:0}.q-pb-none{padding-bottom:0}.q-px-none{padding-left:0;padding-right:0}.q-py-none{padding-top:0;padding-bottom:0}.q-ma-none{margin:0 0}.q-ml-none{margin-left:0}.q-mr-none{margin-right:0}.q-mt-none{margin-top:0}.q-mb-none{margin-bottom:0}.q-mx-none{margin-left:0;margin-right:0}.q-my-none{margin-top:0;margin-bottom:0}.q-pa-xs{padding:4px 4px}.q-pl-xs{padding-left:4px}.q-pr-xs{padding-right:4px}.q-pt-xs{padding-top:4px}.q-pb-xs{padding-bottom:4px}.q-px-xs{padding-left:4px;padding-right:4px}.q-py-xs{padding-top:4px;padding-bottom:4px}.q-ma-xs{margin:4px 4px}.q-ml-xs{margin-left:4px}.q-mr-xs{margin-right:4px}.q-mt-xs{margin-top:4px}.q-mb-xs{margin-bottom:4px}.q-mx-xs{margin-left:4px;margin-right:4px}.q-my-xs{margin-top:4px;margin-bottom:4px}.q-pa-sm{padding:8px 8px}.q-pl-sm{padding-left:8px}.q-pr-sm{padding-right:8px}.q-pt-sm{padding-top:8px}.q-pb-sm{padding-bottom:8px}.q-px-sm{padding-left:8px;padding-right:8px}.q-py-sm{padding-top:8px;padding-bottom:8px}.q-ma-sm{margin:8px 8px}.q-ml-sm{margin-left:8px}.q-mr-sm{margin-right:8px}.q-mt-sm{margin-top:8px}.q-mb-sm{margin-bottom:8px}.q-mx-sm{margin-left:8px;margin-right:8px}.q-my-sm{margin-top:8px;margin-bottom:8px}.q-pa-md{padding:16px 16px}.q-pl-md{padding-left:16px}.q-pr-md{padding-right:16px}.q-pt-md{padding-top:16px}.q-pb-md{padding-bottom:16px}.q-px-md{padding-left:16px;padding-right:16px}.q-py-md{padding-top:16px;padding-bottom:16px}.q-ma-md{margin:16px 16px}.q-ml-md{margin-left:16px}.q-mr-md{margin-right:16px}.q-mt-md{margin-top:16px}.q-mb-md{margin-bottom:16px}.q-mx-md{margin-left:16px;margin-right:16px}.q-my-md{margin-top:16px;margin-bottom:16px}.q-pa-lg{padding:24px 24px}.q-pl-lg{padding-left:24px}.q-pr-lg{padding-right:24px}.q-pt-lg{padding-top:24px}.q-pb-lg{padding-bottom:24px}.q-px-lg{padding-left:24px;padding-right:24px}.q-py-lg{padding-top:24px;padding-bottom:24px}.q-ma-lg{margin:24px 24px}.q-ml-lg{margin-left:24px}.q-mr-lg{margin-right:24px}.q-mt-lg{margin-top:24px}.q-mb-lg{margin-bottom:24px}.q-mx-lg{margin-left:24px;margin-right:24px}.q-my-lg{margin-top:24px;margin-bottom:24px}.q-pa-xl{padding:48px 48px}.q-pl-xl{padding-left:48px}.q-pr-xl{padding-right:48px}.q-pt-xl{padding-top:48px}.q-pb-xl{padding-bottom:48px}.q-px-xl{padding-left:48px;padding-right:48px}.q-py-xl{padding-top:48px;padding-bottom:48px}.q-ma-xl{margin:48px 48px}.q-ml-xl{margin-left:48px}.q-mr-xl{margin-right:48px}.q-mt-xl{margin-top:48px}.q-mb-xl{margin-bottom:48px}.q-mx-xl{margin-left:48px;margin-right:48px}.q-my-xl{margin-top:48px;margin-bottom:48px}.q-mt-auto,.q-my-auto{margin-top:auto}.q-ml-auto{margin-left:auto}.q-mb-auto,.q-my-auto{margin-bottom:auto}.q-mr-auto,.q-mx-auto{margin-right:auto}.q-mx-auto{margin-left:auto}.q-touch{-webkit-user-select:none;-moz-user-select:none;user-select:none;user-drag:none;-khtml-user-drag:none;-webkit-user-drag:none}.q-touch-x{touch-action:pan-x}.q-touch-y{touch-action:pan-y}:root{--q-transition-duration:.3s}.q-transition--fade-enter-active,.q-transition--fade-leave-active,.q-transition--flip-enter-active,.q-transition--flip-leave-active,.q-transition--jump-down-enter-active,.q-transition--jump-down-leave-active,.q-transition--jump-left-enter-active,.q-transition--jump-left-leave-active,.q-transition--jump-right-enter-active,.q-transition--jump-right-leave-active,.q-transition--jump-up-enter-active,.q-transition--jump-up-leave-active,.q-transition--rotate-enter-active,.q-transition--rotate-leave-active,.q-transition--scale-enter-active,.q-transition--scale-leave-active,.q-transition--slide-down-enter-active,.q-transition--slide-down-leave-active,.q-transition--slide-left-enter-active,.q-transition--slide-left-leave-active,.q-transition--slide-right-enter-active,.q-transition--slide-right-leave-active,.q-transition--slide-up-enter-active,.q-transition--slide-up-leave-active{--q-transition-duration:.3s;--q-transition-easing:cubic-bezier(0.215,0.61,0.355,1)}.q-transition--fade-leave-active,.q-transition--flip-leave-active,.q-transition--jump-down-leave-active,.q-transition--jump-left-leave-active,.q-transition--jump-right-leave-active,.q-transition--jump-up-leave-active,.q-transition--rotate-leave-active,.q-transition--scale-leave-active,.q-transition--slide-down-leave-active,.q-transition--slide-left-leave-active,.q-transition--slide-right-leave-active,.q-transition--slide-up-leave-active{position:absolute}.q-transition--slide-down-enter-active,.q-transition--slide-down-leave-active,.q-transition--slide-left-enter-active,.q-transition--slide-left-leave-active,.q-transition--slide-right-enter-active,.q-transition--slide-right-leave-active,.q-transition--slide-up-enter-active,.q-transition--slide-up-leave-active{transition:transform var(--q-transition-duration) var(--q-transition-easing)}.q-transition--slide-right-enter-from{transform:translate3d(-100%,0,0)}.q-transition--slide-left-enter-from,.q-transition--slide-right-leave-to{transform:translate3d(100%,0,0)}.q-transition--slide-left-leave-to{transform:translate3d(-100%,0,0)}.q-transition--slide-up-enter-from{transform:translate3d(0,100%,0)}.q-transition--slide-down-enter-from,.q-transition--slide-up-leave-to{transform:translate3d(0,-100%,0)}.q-transition--slide-down-leave-to{transform:translate3d(0,100%,0)}.q-transition--jump-down-enter-active,.q-transition--jump-down-leave-active,.q-transition--jump-left-enter-active,.q-transition--jump-left-leave-active,.q-transition--jump-right-enter-active,.q-transition--jump-right-leave-active,.q-transition--jump-up-enter-active,.q-transition--jump-up-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration)}.q-transition--jump-down-enter-from,.q-transition--jump-down-leave-to,.q-transition--jump-left-enter-from,.q-transition--jump-left-leave-to,.q-transition--jump-right-enter-from,.q-transition--jump-right-leave-to,.q-transition--jump-up-enter-from,.q-transition--jump-up-leave-to{opacity:0}.q-transition--jump-right-enter-from{transform:translate3d(-15px,0,0)}.q-transition--jump-left-enter-from,.q-transition--jump-right-leave-to{transform:translate3d(15px,0,0)}.q-transition--jump-left-leave-to{transform:translateX(-15px)}.q-transition--jump-up-enter-from{transform:translate3d(0,15px,0)}.q-transition--jump-down-enter-from,.q-transition--jump-up-leave-to{transform:translate3d(0,-15px,0)}.q-transition--jump-down-leave-to{transform:translate3d(0,15px,0)}.q-transition--fade-enter-active,.q-transition--fade-leave-active{transition:opacity var(--q-transition-duration) ease-out}.q-transition--fade-enter-from,.q-transition--fade-leave-to{opacity:0}.q-transition--scale-enter-active,.q-transition--scale-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration) var(--q-transition-easing)}.q-transition--scale-enter-from,.q-transition--scale-leave-to{opacity:0;transform:scale3d(0,0,1)}.q-transition--rotate-enter-active,.q-transition--rotate-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration) var(--q-transition-easing);transform-style:preserve-3d}.q-transition--rotate-enter-from,.q-transition--rotate-leave-to{opacity:0;transform:scale3d(0,0,1) rotate(90deg)}.q-transition--flip-down-enter-active,.q-transition--flip-down-leave-active,.q-transition--flip-left-enter-active,.q-transition--flip-left-leave-active,.q-transition--flip-right-enter-active,.q-transition--flip-right-leave-active,.q-transition--flip-up-enter-active,.q-transition--flip-up-leave-active{transition:transform var(--q-transition-duration);backface-visibility:hidden}.q-transition--flip-down-enter-to,.q-transition--flip-down-leave-from,.q-transition--flip-left-enter-to,.q-transition--flip-left-leave-from,.q-transition--flip-right-enter-to,.q-transition--flip-right-leave-from,.q-transition--flip-up-enter-to,.q-transition--flip-up-leave-from{transform:perspective(400px) rotate3d(1,1,0,0deg)}.q-transition--flip-right-enter-from{transform:perspective(400px) rotateY(-180deg)}.q-transition--flip-left-enter-from,.q-transition--flip-right-leave-to{transform:perspective(400px) rotateY(180deg)}.q-transition--flip-left-leave-to{transform:perspective(400px) rotateY(-180deg)}.q-transition--flip-up-enter-from{transform:perspective(400px) rotateX(-180deg)}.q-transition--flip-down-enter-from,.q-transition--flip-up-leave-to{transform:perspective(400px) rotateX(180deg)}.q-transition--flip-down-leave-to{transform:perspective(400px) rotateX(-180deg)}body{min-width:100px;min-height:100%;font-family:Roboto,-apple-system,Helvetica Neue,Helvetica,Arial,sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:antialiased;line-height:1.5;font-size:14px}h1{font-size:6rem;line-height:6rem;letter-spacing:-.01562em}h1,h2{font-weight:300}h2{font-size:3.75rem;line-height:3.75rem;letter-spacing:-.00833em}h3{font-size:3rem;line-height:3.125rem;letter-spacing:normal}h3,h4{font-weight:400}h4{font-size:2.125rem;line-height:2.5rem;letter-spacing:.00735em}h5{font-size:1.5rem;font-weight:400;letter-spacing:normal}h5,h6{line-height:2rem}h6{font-size:1.25rem;font-weight:500;letter-spacing:.0125em}p{margin:0 0 16px}.text-h1{font-size:6rem;font-weight:300;line-height:6rem;letter-spacing:-.01562em}.text-h2{font-size:3.75rem;font-weight:300;line-height:3.75rem;letter-spacing:-.00833em}.text-h3{font-size:3rem;font-weight:400;line-height:3.125rem;letter-spacing:normal}.text-h4{font-size:2.125rem;font-weight:400;line-height:2.5rem;letter-spacing:.00735em}.text-h5{font-size:1.5rem;font-weight:400;line-height:2rem;letter-spacing:normal}.text-h6{font-size:1.25rem;font-weight:500;line-height:2rem;letter-spacing:.0125em}.text-subtitle1{font-size:1rem;font-weight:400;line-height:1.75rem;letter-spacing:.00937em}.text-subtitle2{font-size:.875rem;font-weight:500;line-height:1.375rem;letter-spacing:.00714em}.text-body1{font-size:1rem;font-weight:400;line-height:1.5rem;letter-spacing:.03125em}.text-body2{font-size:.875rem;font-weight:400;line-height:1.25rem;letter-spacing:.01786em}.text-overline{font-size:.75rem;font-weight:500;line-height:2rem;letter-spacing:.16667em}.text-caption{font-size:.75rem;font-weight:400;line-height:1.25rem;letter-spacing:.03333em}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify;-webkit-hyphens:auto;hyphens:auto}.text-italic{font-style:italic}.text-bold{font-weight:700}.text-no-wrap{white-space:nowrap}.text-strike{text-decoration:line-through}.text-weight-thin{font-weight:100}.text-weight-light{font-weight:300}.text-weight-regular{font-weight:400}.text-weight-medium{font-weight:500}.text-weight-bold{font-weight:700}.text-weight-bolder{font-weight:900}small{font-size:80%}big{font-size:170%}sub{bottom:-.25em}sup{top:-.5em}.no-margin{margin:0!important}.no-padding{padding:0!important}.no-border{border:0!important}.no-border-radius{border-radius:0!important}.no-box-shadow{box-shadow:none!important}.no-outline{outline:0!important}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ellipsis-2-lines,.ellipsis-3-lines{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.ellipsis-2-lines{-webkit-line-clamp:2}.ellipsis-3-lines{-webkit-line-clamp:3}.readonly{cursor:default!important}.disabled,.disabled *,[disabled],[disabled] *{outline:0!important;cursor:not-allowed!important}.disabled,[disabled]{opacity:.6!important}.hidden{display:none!important}.invisible,.invisible *{visibility:hidden!important;transition:none!important;animation:none!important}.transparent{background:transparent!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-hidden-y{overflow-y:hidden!important}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}.dimmed:after,.light-dimmed:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.dimmed:after{background:rgba(0,0,0,.4)!important}.light-dimmed:after{background:hsla(0,0%,100%,.6)!important}.z-top{z-index:7000!important}.z-max{z-index:9998!important}body.capacitor .capacitor-hide,body.cordova .cordova-hide,body.desktop .desktop-hide,body.electron .electron-hide,body.mobile .mobile-hide,body.native-mobile .native-mobile-hide,body.platform-android .platform-android-hide,body.platform-ios .platform-ios-hide,body.touch .touch-hide,body.within-iframe .within-iframe-hide,body:not(.capacitor) .capacitor-only,body:not(.cordova) .cordova-only,body:not(.desktop) .desktop-only,body:not(.electron) .electron-only,body:not(.mobile) .mobile-only,body:not(.native-mobile) .native-mobile-only,body:not(.platform-android) .platform-android-only,body:not(.platform-ios) .platform-ios-only,body:not(.touch) .touch-only,body:not(.within-iframe) .within-iframe-only{display:none!important}@media (orientation:portrait){.orientation-landscape{display:none!important}}@media (orientation:landscape){.orientation-portrait{display:none!important}}@media screen{.print-only{display:none!important}}@media print{.print-hide{display:none!important}}@media(max-width:599.98px){.gt-lg,.gt-md,.gt-sm,.gt-xs,.lg,.md,.sm,.xl,.xs-hide{display:none!important}}@media(min-width:600px)and (max-width:1023.98px){.gt-lg,.gt-md,.gt-sm,.lg,.lt-sm,.md,.sm-hide,.xl,.xs{display:none!important}}@media(min-width:1024px)and (max-width:1439.98px){.gt-lg,.gt-md,.lg,.lt-md,.lt-sm,.md-hide,.sm,.xl,.xs{display:none!important}}@media(min-width:1440px)and (max-width:1919.98px){.gt-lg,.lg-hide,.lt-lg,.lt-md,.lt-sm,.md,.sm,.xl,.xs{display:none!important}}@media(min-width:1920px){.lg,.lt-lg,.lt-md,.lt-sm,.lt-xl,.md,.sm,.xl-hide,.xs{display:none!important}}.q-focus-helper,.q-focusable,.q-hoverable,.q-manual-focusable{outline:0}body.desktop .q-focus-helper{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;border-radius:inherit;opacity:0;transition:background-color .3s cubic-bezier(.25,.8,.5,1),opacity .4s cubic-bezier(.25,.8,.5,1)}body.desktop .q-focus-helper:after,body.desktop .q-focus-helper:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;border-radius:inherit;transition:background-color .3s cubic-bezier(.25,.8,.5,1),opacity .6s cubic-bezier(.25,.8,.5,1)}body.desktop .q-focus-helper:before{background:#000}body.desktop .q-focus-helper:after{background:#fff}body.desktop .q-focus-helper--rounded{border-radius:4px}body.desktop .q-focus-helper--round{border-radius:50%}body.desktop .q-focusable:focus>.q-focus-helper,body.desktop .q-hoverable:hover>.q-focus-helper,body.desktop .q-manual-focusable--focused>.q-focus-helper{background:currentColor;opacity:.15}body.desktop .q-focusable:focus>.q-focus-helper:before,body.desktop .q-hoverable:hover>.q-focus-helper:before,body.desktop .q-manual-focusable--focused>.q-focus-helper:before{opacity:.1}body.desktop .q-focusable:focus>.q-focus-helper:after,body.desktop .q-hoverable:hover>.q-focus-helper:after,body.desktop .q-manual-focusable--focused>.q-focus-helper:after{opacity:.4}body.desktop .q-focusable:focus>.q-focus-helper,body.desktop .q-manual-focusable--focused>.q-focus-helper{opacity:.22}body.body--dark{color:#fff;background:var(--q-dark-page)}.q-dark{color:#fff;background:var(--q-dark)}*{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}body.body--dark{background:#1d1d1d}.q-btn--outline:before{border:.1rem solid currentColor}.q-btn--rectangle{border-radius:.5rem}.q-chip--square{border-radius:.35rem;border-width:.1rem}.q-chip--square .q-avatar{border-radius:.35rem 0 0 .35rem}.q-card{box-shadow:none}.q-field--outlined .q-field__control{border-radius:.75rem}.q-field--outlined .q-field__control:before{border-width:.1rem;border-radius:.75rem}.q-field--outlined .q-field__control:hover:before{border-color:#757575}.q-menu{box-shadow:none;border:.1rem solid #bdbdbd;border-radius:.75rem;margin-top:.2rem!important}
\ No newline at end of file
diff --git a/docs/css/app.8dd0bc35.css b/docs/css/app.8dd0bc35.css
new file mode 100644
index 0000000..f9de3e7
--- /dev/null
+++ b/docs/css/app.8dd0bc35.css
@@ -0,0 +1,6 @@
+.token{font-size:large;display:inline-block;line-height:3}mark{padding:.5rem;position:relative;background-color:#deb887;border:1px solid #757575;border-radius:.35rem}.tag{background-color:#f5f5f5;padding:4px 0 4px 8px;border:1px solid gray;border-radius:.35rem;font-size:x-small}.close-btn{cursor:pointer;font-size:small;position:absolute;width:1rem;height:1rem;padding-left:.2rem;border-radius:50%;background-color:#000;color:#fff}.delete{margin-left:10px}.color-box[data-v-22a27cc0]{width:1rem;height:1rem;margin-right:1rem}.is-single-line{width:90%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
+/*!
+ * * Quasar Framework v2.11.10
+ * * (c) 2015-present Razvan Stoenescu
+ * * Released under the MIT License.
+ * */*,:after,:before{box-sizing:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);-moz-tap-highlight-color:transparent}#q-app,body,html{width:100%;direction:ltr}body.platform-ios.within-iframe,body.platform-ios.within-iframe #q-app{width:100px;min-width:100%}body,html{margin:0;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}button,input,optgroup,select,textarea{font:inherit;font-family:inherit;margin:0}optgroup{font-weight:700}button,input,select{overflow:visible;text-transform:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button:-moz-focusring,input:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.q-icon{line-height:1;width:1em;height:1em;flex-shrink:0;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;text-align:center;position:relative;box-sizing:content-box;fill:currentColor}.q-icon:after,.q-icon:before{width:100%;height:100%;display:flex!important;align-items:center;justify-content:center}.q-icon>img,.q-icon>svg{width:100%;height:100%}.material-icons,.material-icons-outlined,.material-icons-round,.material-icons-sharp,.material-symbols-outlined,.material-symbols-rounded,.material-symbols-sharp,.q-icon{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:inherit;font-size:inherit;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.q-panel,.q-panel>div{height:100%;width:100%}.q-panel-parent{overflow:hidden;position:relative}.q-loading-bar{position:fixed;z-index:9998;transition:transform .5s cubic-bezier(0,0,.2,1),opacity .5s;background:#f44336}.q-loading-bar--top{left:0;right:0;top:0;width:100%}.q-loading-bar--bottom{left:0;right:0;bottom:0;width:100%}.q-loading-bar--right{top:0;bottom:0;right:0;height:100%}.q-loading-bar--left{top:0;bottom:0;left:0;height:100%}.q-avatar{position:relative;vertical-align:middle;display:inline-block;border-radius:50%;font-size:48px;height:1em;width:1em}.q-avatar__content{font-size:.5em;line-height:.5em}.q-avatar img:not(.q-icon):not(.q-img__image),.q-avatar__content{border-radius:inherit;height:inherit;width:inherit}.q-avatar--square{border-radius:0}.q-badge{background-color:var(--q-primary);color:#fff;padding:2px 6px;border-radius:4px;font-size:12px;line-height:12px;min-height:12px;font-weight:400;vertical-align:baseline}.q-badge--single-line{white-space:nowrap}.q-badge--multi-line{word-break:break-all;word-wrap:break-word}.q-badge--floating{position:absolute;top:-4px;right:-3px;cursor:inherit}.q-badge--transparent{opacity:.8}.q-badge--outline{background-color:transparent;border:1px solid currentColor}.q-badge--rounded{border-radius:1em}.q-banner{min-height:54px;padding:8px 16px;background:#fff}.q-banner--top-padding{padding-top:14px}.q-banner__avatar{min-width:1px!important}.q-banner__avatar>.q-avatar{font-size:46px}.q-banner__avatar>.q-icon{font-size:40px}.q-banner__actions.col-auto,.q-banner__avatar:not(:empty)+.q-banner__content{padding-left:16px}.q-banner__actions.col-all .q-btn-item{margin:4px 0 0 4px}.q-banner--dense{min-height:32px;padding:8px}.q-banner--dense.q-banner--top-padding{padding-top:12px}.q-banner--dense .q-banner__avatar>.q-avatar,.q-banner--dense .q-banner__avatar>.q-icon{font-size:28px}.q-banner--dense .q-banner__actions.col-auto,.q-banner--dense .q-banner__avatar:not(:empty)+.q-banner__content{padding-left:8px}.q-bar{background:rgba(0,0,0,.2)}.q-bar>.q-icon{margin-left:2px}.q-bar>div,.q-bar>div+.q-icon{margin-left:8px}.q-bar>.q-btn{margin-left:2px}.q-bar>.q-btn:first-child,.q-bar>.q-icon:first-child,.q-bar>div:first-child{margin-left:0}.q-bar--standard{padding:0 12px;height:32px;font-size:18px}.q-bar--standard>div{font-size:16px}.q-bar--standard .q-btn{font-size:11px}.q-bar--dense{padding:0 8px;height:24px;font-size:14px}.q-bar--dense .q-btn{font-size:8px}.q-bar--dark{background:hsla(0,0%,100%,.15)}.q-breadcrumbs__el{color:inherit}.q-breadcrumbs__el-icon{font-size:125%}.q-breadcrumbs__el-icon--with-label{margin-right:8px}[dir=rtl] .q-breadcrumbs__separator .q-icon{transform:scaleX(-1)}.q-btn{display:inline-flex;flex-direction:column;align-items:stretch;position:relative;outline:0;border:0;vertical-align:middle;font-size:14px;line-height:1.715em;text-decoration:none;color:inherit;background:transparent;font-weight:500;text-transform:uppercase;text-align:center;width:auto;height:auto;cursor:default;padding:4px 16px;min-height:2.572em}.q-btn .q-icon,.q-btn .q-spinner{font-size:1.715em}.q-btn.disabled{opacity:.7!important}.q-btn:before{content:"";display:block;position:absolute;left:0;right:0;top:0;bottom:0;border-radius:inherit;box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12)}.q-btn--actionable{cursor:pointer}.q-btn--actionable.q-btn--standard:before{transition:box-shadow .3s cubic-bezier(.25,.8,.5,1)}.q-btn--actionable.q-btn--standard.q-btn--active:before,.q-btn--actionable.q-btn--standard:active:before{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px rgba(0,0,0,.14),0 1px 14px rgba(0,0,0,.12)}.q-btn--no-uppercase{text-transform:none}.q-btn--rectangle{border-radius:3px}.q-btn--outline{background:transparent!important}.q-btn--outline:before{border:1px solid currentColor}.q-btn--push{border-radius:7px}.q-btn--push:before{border-bottom:3px solid rgba(0,0,0,.15)}.q-btn--push.q-btn--actionable{transition:transform .3s cubic-bezier(.25,.8,.5,1)}.q-btn--push.q-btn--actionable:before{transition:border-width .3s cubic-bezier(.25,.8,.5,1)}.q-btn--push.q-btn--actionable.q-btn--active,.q-btn--push.q-btn--actionable:active{transform:translateY(2px)}.q-btn--push.q-btn--actionable.q-btn--active:before,.q-btn--push.q-btn--actionable:active:before{border-bottom-width:0}.q-btn--rounded{border-radius:28px}.q-btn--round{border-radius:50%;padding:0;min-width:3em;min-height:3em}.q-btn--square{border-radius:0}.q-btn--flat:before,.q-btn--outline:before,.q-btn--unelevated:before{box-shadow:none}.q-btn--dense{padding:.285em;min-height:2em}.q-btn--dense.q-btn--round{padding:0;min-height:2.4em;min-width:2.4em}.q-btn--dense .on-left{margin-right:6px}.q-btn--dense .on-right{margin-left:6px}.q-btn--fab .q-icon,.q-btn--fab-mini .q-icon{font-size:24px}.q-btn--fab{padding:16px;min-height:56px;min-width:56px}.q-btn--fab .q-icon{margin:auto}.q-btn--fab-mini{padding:8px;min-height:40px;min-width:40px}.q-btn__content{transition:opacity .3s;z-index:0}.q-btn__content--hidden{opacity:0;pointer-events:none}.q-btn__progress{border-radius:inherit;z-index:0}.q-btn__progress-indicator{z-index:-1;transform:translateX(-100%);background:hsla(0,0%,100%,.25)}.q-btn__progress--dark .q-btn__progress-indicator{background:rgba(0,0,0,.2)}.q-btn--flat .q-btn__progress-indicator,.q-btn--outline .q-btn__progress-indicator{opacity:.2;background:currentColor}.q-btn-dropdown--split .q-btn-dropdown__arrow-container{padding:0 4px}.q-btn-dropdown--split .q-btn-dropdown__arrow-container.q-btn--outline{border-left:1px solid currentColor}.q-btn-dropdown--split .q-btn-dropdown__arrow-container:not(.q-btn--outline){border-left:1px solid hsla(0,0%,100%,.3)}.q-btn-dropdown--simple *+.q-btn-dropdown__arrow{margin-left:8px}.q-btn-dropdown__arrow{transition:transform .28s}.q-btn-dropdown--current{flex-grow:1}.q-btn-group{border-radius:3px;box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);vertical-align:middle}.q-btn-group>.q-btn-item{border-radius:inherit;align-self:stretch}.q-btn-group>.q-btn-item:before{box-shadow:none}.q-btn-group>.q-btn-item .q-badge--floating{right:0}.q-btn-group>.q-btn-group{box-shadow:none}.q-btn-group>.q-btn-group:first-child>.q-btn:first-child{border-top-left-radius:inherit;border-bottom-left-radius:inherit}.q-btn-group>.q-btn-group:last-child>.q-btn:last-child{border-top-right-radius:inherit;border-bottom-right-radius:inherit}.q-btn-group>.q-btn-group:not(:first-child)>.q-btn:first-child:before{border-left:0}.q-btn-group>.q-btn-group:not(:last-child)>.q-btn:last-child:before{border-right:0}.q-btn-group>.q-btn-item:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.q-btn-group>.q-btn-item:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.q-btn-group>.q-btn-item.q-btn--standard:before{z-index:-1}.q-btn-group--push{border-radius:7px}.q-btn-group--push>.q-btn--push.q-btn--actionable{transform:none}.q-btn-group--push>.q-btn--push.q-btn--actionable .q-btn__content{transition:margin-top .3s cubic-bezier(.25,.8,.5,1),margin-bottom .3s cubic-bezier(.25,.8,.5,1)}.q-btn-group--push>.q-btn--push.q-btn--actionable.q-btn--active .q-btn__content,.q-btn-group--push>.q-btn--push.q-btn--actionable:active .q-btn__content{margin-top:2px;margin-bottom:-2px}.q-btn-group--rounded{border-radius:28px}.q-btn-group--square{border-radius:0}.q-btn-group--flat,.q-btn-group--outline,.q-btn-group--unelevated{box-shadow:none}.q-btn-group--outline>.q-separator{display:none}.q-btn-group--outline>.q-btn-item+.q-btn-item:before{border-left:0}.q-btn-group--outline>.q-btn-item:not(:last-child):before{border-right:0}.q-btn-group--stretch{align-self:stretch;border-radius:0}.q-btn-group--glossy>.q-btn-item{background-image:linear-gradient(180deg,hsla(0,0%,100%,.3),hsla(0,0%,100%,0) 50%,rgba(0,0,0,.12) 51%,rgba(0,0,0,.04))!important}.q-btn-group--spread>.q-btn-group{display:flex!important}.q-btn-group--spread>.q-btn-group>.q-btn-item:not(.q-btn-dropdown__arrow-container),.q-btn-group--spread>.q-btn-item{width:auto;min-width:0;max-width:100%;flex:10000 1 0%}.q-btn-toggle,.q-card{position:relative}.q-card{box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);border-radius:4px;vertical-align:top;background:#fff}.q-card>div:first-child,.q-card>img:first-child{border-top:0;border-top-left-radius:inherit;border-top-right-radius:inherit}.q-card>div:last-child,.q-card>img:last-child{border-bottom:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.q-card>div:not(:first-child),.q-card>img:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.q-card>div:not(:last-child),.q-card>img:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.q-card>div{border-left:0;border-right:0;box-shadow:none}.q-card--bordered{border:1px solid rgba(0,0,0,.12)}.q-card--dark{border-color:hsla(0,0%,100%,.28);box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}.q-card__section{position:relative}.q-card__section--vert{padding:16px}.q-card__section--horiz>div:first-child,.q-card__section--horiz>img:first-child{border-top-left-radius:inherit;border-bottom-left-radius:inherit}.q-card__section--horiz>div:last-child,.q-card__section--horiz>img:last-child{border-top-right-radius:inherit;border-bottom-right-radius:inherit}.q-card__section--horiz>div:not(:first-child),.q-card__section--horiz>img:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.q-card__section--horiz>div:not(:last-child),.q-card__section--horiz>img:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.q-card__section--horiz>div{border-top:0;border-bottom:0;box-shadow:none}.q-card__actions{padding:8px;align-items:center}.q-card__actions .q-btn--rectangle{padding:0 8px}.q-card__actions--horiz>.q-btn-group+.q-btn-item,.q-card__actions--horiz>.q-btn-item+.q-btn-group,.q-card__actions--horiz>.q-btn-item+.q-btn-item{margin-left:8px}.q-card__actions--vert>.q-btn-item.q-btn--round{align-self:center}.q-card__actions--vert>.q-btn-group+.q-btn-item,.q-card__actions--vert>.q-btn-item+.q-btn-group,.q-card__actions--vert>.q-btn-item+.q-btn-item{margin-top:4px}.q-card__actions--vert>.q-btn-group>.q-btn-item{flex-grow:1}.q-card>img{display:block;width:100%;max-width:100%;border:0}.q-carousel{background-color:#fff;height:400px}.q-carousel__slide{min-height:100%;background-size:cover;background-position:50%}.q-carousel .q-carousel--padding,.q-carousel__slide{padding:16px}.q-carousel__slides-container{height:100%}.q-carousel__control{color:#fff}.q-carousel__arrow{pointer-events:none}.q-carousel__arrow .q-icon{font-size:28px}.q-carousel__arrow .q-btn{pointer-events:all}.q-carousel__next-arrow--horizontal,.q-carousel__prev-arrow--horizontal{top:16px;bottom:16px}.q-carousel__prev-arrow--horizontal{left:16px}.q-carousel__next-arrow--horizontal{right:16px}.q-carousel__next-arrow--vertical,.q-carousel__prev-arrow--vertical{left:16px;right:16px}.q-carousel__prev-arrow--vertical{top:16px}.q-carousel__next-arrow--vertical{bottom:16px}.q-carousel__navigation--bottom,.q-carousel__navigation--top{left:16px;right:16px;overflow-x:auto;overflow-y:hidden}.q-carousel__navigation--top{top:16px}.q-carousel__navigation--bottom{bottom:16px}.q-carousel__navigation--left,.q-carousel__navigation--right{top:16px;bottom:16px;overflow-x:hidden;overflow-y:auto}.q-carousel__navigation--left>.q-carousel__navigation-inner,.q-carousel__navigation--right>.q-carousel__navigation-inner{flex-direction:column}.q-carousel__navigation--left{left:16px}.q-carousel__navigation--right{right:16px}.q-carousel__navigation-inner{flex:1 1 auto}.q-carousel__navigation .q-btn{margin:6px 4px;padding:5px}.q-carousel__navigation-icon--inactive{opacity:.7}.q-carousel .q-carousel__thumbnail{margin:2px;height:50px;width:auto;display:inline-block;cursor:pointer;border:1px solid transparent;border-radius:4px;vertical-align:middle;opacity:.7;transition:opacity .3s}.q-carousel .q-carousel__thumbnail--active,.q-carousel .q-carousel__thumbnail:hover{opacity:1}.q-carousel .q-carousel__thumbnail--active{border-color:currentColor;cursor:default}.q-carousel--arrows-vertical .q-carousel--padding,.q-carousel--arrows-vertical.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-top .q-carousel--padding,.q-carousel--navigation-top.q-carousel--with-padding .q-carousel__slide{padding-top:60px}.q-carousel--arrows-vertical .q-carousel--padding,.q-carousel--arrows-vertical.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-bottom .q-carousel--padding,.q-carousel--navigation-bottom.q-carousel--with-padding .q-carousel__slide{padding-bottom:60px}.q-carousel--arrows-horizontal .q-carousel--padding,.q-carousel--arrows-horizontal.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-left .q-carousel--padding,.q-carousel--navigation-left.q-carousel--with-padding .q-carousel__slide{padding-left:60px}.q-carousel--arrows-horizontal .q-carousel--padding,.q-carousel--arrows-horizontal.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-right .q-carousel--padding,.q-carousel--navigation-right.q-carousel--with-padding .q-carousel__slide{padding-right:60px}.q-carousel.fullscreen{height:100%}.q-message-label,.q-message-name,.q-message-stamp{font-size:small}.q-message-label{margin:24px 0;text-align:center}.q-message-stamp{color:inherit;margin-top:4px;opacity:.6;display:none}.q-message-avatar{border-radius:50%;width:48px;height:48px;min-width:48px}.q-message{margin-bottom:8px}.q-message:first-child .q-message-label{margin-top:0}.q-message-avatar--received{margin-right:8px}.q-message-text--received{color:#81c784;border-radius:4px 4px 4px 0}.q-message-text--received:last-child:before{right:100%;border-right:0 solid transparent;border-left:8px solid transparent;border-bottom:8px solid currentColor}.q-message-text-content--received{color:#000}.q-message-name--sent{text-align:right}.q-message-avatar--sent{margin-left:8px}.q-message-container--sent{flex-direction:row-reverse}.q-message-text--sent{color:#e0e0e0;border-radius:4px 4px 0 4px}.q-message-text--sent:last-child:before{left:100%;border-left:0 solid transparent;border-right:8px solid transparent;border-bottom:8px solid currentColor}.q-message-text-content--sent{color:#000}.q-message-text{background:currentColor;padding:8px;line-height:1.2;word-break:break-word;position:relative}.q-message-text+.q-message-text{margin-top:3px}.q-message-text:last-child{min-height:48px}.q-message-text:last-child .q-message-stamp{display:block}.q-message-text:last-child:before{content:"";position:absolute;bottom:0;width:0;height:0}.q-checkbox{vertical-align:middle}.q-checkbox__native{width:1px;height:1px}.q-checkbox__bg,.q-checkbox__icon-container{-webkit-user-select:none;-moz-user-select:none;user-select:none}.q-checkbox__bg{top:25%;left:25%;width:50%;height:50%;border:2px solid currentColor;border-radius:2px;transition:background .22s cubic-bezier(0,0,.2,1) 0ms;-webkit-print-color-adjust:exact}.q-checkbox__icon{color:currentColor;font-size:.5em}.q-checkbox__svg{color:#fff}.q-checkbox__truthy{stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.78334;stroke-dasharray:29.78334}.q-checkbox__indet{fill:currentColor;transform-origin:50% 50%;transform:rotate(-280deg) scale(0)}.q-checkbox__inner{font-size:40px;width:1em;min-width:1em;height:1em;outline:0;border-radius:50%;color:rgba(0,0,0,.54)}.q-checkbox__inner--indet,.q-checkbox__inner--truthy{color:var(--q-primary)}.q-checkbox__inner--indet .q-checkbox__bg,.q-checkbox__inner--truthy .q-checkbox__bg{background:currentColor}.q-checkbox__inner--truthy path{stroke-dashoffset:0;transition:stroke-dashoffset .18s cubic-bezier(.4,0,.6,1) 0ms}.q-checkbox__inner--indet .q-checkbox__indet{transform:rotate(0) scale(1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}.q-checkbox.disabled{opacity:.75!important}.q-checkbox--dark .q-checkbox__inner{color:hsla(0,0%,100%,.7)}.q-checkbox--dark .q-checkbox__inner:before{opacity:.32!important}.q-checkbox--dark .q-checkbox__inner--indet,.q-checkbox--dark .q-checkbox__inner--truthy{color:var(--q-primary)}.q-checkbox--dense .q-checkbox__inner{width:.5em;min-width:.5em;height:.5em}.q-checkbox--dense .q-checkbox__bg{left:5%;top:5%;width:90%;height:90%}.q-checkbox--dense .q-checkbox__label{padding-left:.5em}.q-checkbox--dense.reverse .q-checkbox__label{padding-left:0;padding-right:.5em}body.desktop .q-checkbox:not(.disabled) .q-checkbox__inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1)}body.desktop .q-checkbox:not(.disabled):focus .q-checkbox__inner:before,body.desktop .q-checkbox:not(.disabled):hover .q-checkbox__inner:before{transform:scaleX(1)}body.desktop .q-checkbox--dense:not(.disabled):focus .q-checkbox__inner:before,body.desktop .q-checkbox--dense:not(.disabled):hover .q-checkbox__inner:before{transform:scale3d(1.4,1.4,1)}.q-chip{vertical-align:middle;border-radius:16px;outline:0;position:relative;height:2em;max-width:100%;margin:4px;background:#e0e0e0;color:rgba(0,0,0,.87);font-size:14px;padding:.5em .9em}.q-chip--colored .q-chip__icon,.q-chip--dark .q-chip__icon{color:inherit}.q-chip--outline{background:transparent!important;border:1px solid currentColor}.q-chip .q-avatar{font-size:2em;margin-left:-.45em;margin-right:.2em;border-radius:16px}.q-chip--selected .q-avatar{display:none}.q-chip__icon{color:rgba(0,0,0,.54);font-size:1.5em;margin:-.2em}.q-chip__icon--left{margin-right:.2em}.q-chip__icon--right{margin-left:.2em}.q-chip__icon--remove{margin-left:.1em;margin-right:-.5em;opacity:.6;outline:0}.q-chip__icon--remove:focus,.q-chip__icon--remove:hover{opacity:1}.q-chip__content{white-space:nowrap}.q-chip--dense{border-radius:12px;padding:0 .4em;height:1.5em}.q-chip--dense .q-avatar{font-size:1.5em;margin-left:-.27em;margin-right:.1em;border-radius:12px}.q-chip--dense .q-chip__icon{font-size:1.25em}.q-chip--dense .q-chip__icon--left{margin-right:.195em}.q-chip--dense .q-chip__icon--remove{margin-right:-.25em}.q-chip--square{border-radius:4px}.q-chip--square .q-avatar{border-radius:3px 0 0 3px}body.desktop .q-chip--clickable:focus{box-shadow:0 1px 3px rgba(0,0,0,.2),0 1px 1px rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}body.desktop.body--dark .q-chip--clickable:focus{box-shadow:0 1px 3px hsla(0,0%,100%,.2),0 1px 1px hsla(0,0%,100%,.14),0 2px 1px -1px hsla(0,0%,100%,.12)}.q-circular-progress{display:inline-block;position:relative;vertical-align:middle;width:1em;height:1em;line-height:1}.q-circular-progress.q-focusable{border-radius:50%}.q-circular-progress__svg{width:100%;height:100%}.q-circular-progress__text{font-size:.25em}.q-circular-progress--indeterminate .q-circular-progress__svg{transform-origin:50% 50%;animation:q-spin 2s linear infinite}.q-circular-progress--indeterminate .q-circular-progress__circle{stroke-dasharray:1 400;stroke-dashoffset:0;animation:q-circular-progress-circle 1.5s ease-in-out infinite}@keyframes q-circular-progress-circle{0%{stroke-dasharray:1,400;stroke-dashoffset:0}50%{stroke-dasharray:400,400;stroke-dashoffset:-100}to{stroke-dasharray:400,400;stroke-dashoffset:-300}}.q-color-picker{overflow:hidden;background:#fff;max-width:350px;vertical-align:top;min-width:180px;border-radius:4px;box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12)}.q-color-picker .q-tab{padding:0!important}.q-color-picker--bordered{border:1px solid rgba(0,0,0,.12)}.q-color-picker__header-tabs{height:32px}.q-color-picker__header input{line-height:24px;border:0}.q-color-picker__header .q-tab{min-height:32px!important;height:32px!important}.q-color-picker__header .q-tab--inactive{background:linear-gradient(0deg,rgba(0,0,0,.3) 0,rgba(0,0,0,.15) 25%,rgba(0,0,0,.1))}.q-color-picker__error-icon{bottom:2px;right:2px;font-size:24px;opacity:0;transition:opacity .3s ease-in}.q-color-picker__header-content{position:relative;background:#fff}.q-color-picker__header-content--light{color:#000}.q-color-picker__header-content--dark{color:#fff}.q-color-picker__header-content--dark .q-tab--inactive:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:hsla(0,0%,100%,.2)}.q-color-picker__header-banner{height:36px}.q-color-picker__header-bg{background:#fff;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg==)!important}.q-color-picker__footer{height:36px}.q-color-picker__footer .q-tab{min-height:36px!important;height:36px!important}.q-color-picker__footer .q-tab--inactive{background:linear-gradient(180deg,rgba(0,0,0,.3) 0,rgba(0,0,0,.15) 25%,rgba(0,0,0,.1))}.q-color-picker__spectrum{width:100%;height:100%}.q-color-picker__spectrum-tab{padding:0!important}.q-color-picker__spectrum-white{background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.q-color-picker__spectrum-black{background:linear-gradient(0deg,#000,transparent)}.q-color-picker__spectrum-circle{width:10px;height:10px;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;transform:translate(-5px,-5px)}.q-color-picker__hue .q-slider__track{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)!important;opacity:1}.q-color-picker__alpha .q-slider__track-container{padding-top:0}.q-color-picker__alpha .q-slider__track:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(90deg,hsla(0,0%,100%,0),#757575)}.q-color-picker__sliders{padding:0 16px}.q-color-picker__sliders .q-slider__thumb{color:#424242}.q-color-picker__sliders .q-slider__thumb path{stroke-width:2px;fill:transparent}.q-color-picker__sliders .q-slider--active path{stroke-width:3px}.q-color-picker__tune-tab .q-slider{margin-left:18px;margin-right:18px}.q-color-picker__tune-tab input{font-size:11px;border:1px solid #e0e0e0;border-radius:4px;width:3.5em}.q-color-picker__palette-tab{padding:0!important}.q-color-picker__palette-rows--editable .q-color-picker__cube{cursor:pointer}.q-color-picker__cube{padding-bottom:10%;width:10%!important}.q-color-picker input{color:inherit;background:transparent;outline:0;text-align:center}.q-color-picker .q-tabs{overflow:hidden}.q-color-picker .q-tab--active{box-shadow:0 0 14px 3px rgba(0,0,0,.2)}.q-color-picker .q-tab--active .q-focus-helper,.q-color-picker .q-tab__indicator{display:none}.q-color-picker .q-tab-panels{background:inherit}.q-color-picker--dark{box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}.q-color-picker--dark .q-color-picker__tune-tab input{border:1px solid hsla(0,0%,100%,.3)}.q-color-picker--dark .q-slider__thumb{color:#fafafa}.q-date{display:inline-flex;box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);border-radius:4px;background:#fff;width:290px;min-width:290px;max-width:100%}.q-date--bordered{border:1px solid rgba(0,0,0,.12)}.q-date__header{border-top-left-radius:inherit;color:#fff;background-color:var(--q-primary);padding:16px}.q-date__actions{padding:0 16px 16px}.q-date__content,.q-date__main{outline:0}.q-date__content .q-btn{font-weight:400}.q-date__header-link{opacity:.64;outline:0;transition:opacity .3s ease-out}.q-date__header-link--active,.q-date__header-link:focus,.q-date__header-link:hover{opacity:1}.q-date__header-subtitle{font-size:14px;line-height:1.75;letter-spacing:.00938em}.q-date__header-title-label{font-size:24px;line-height:1.2;letter-spacing:.00735em}.q-date__view{height:100%;width:100%;min-height:290px;padding:16px}.q-date__navigation{height:12.5%}.q-date__navigation>div:first-child{width:8%;min-width:24px;justify-content:flex-end}.q-date__navigation>div:last-child{width:8%;min-width:24px;justify-content:flex-start}.q-date__calendar-weekdays{height:12.5%}.q-date__calendar-weekdays>div{opacity:.38;font-size:12px}.q-date__calendar-item{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:14.285%!important;height:12.5%!important;position:relative;padding:1px}.q-date__calendar-item:after{content:"";position:absolute;pointer-events:none;top:1px;right:0;bottom:1px;left:0;border-style:dashed;border-color:transparent;border-width:1px}.q-date__calendar-item button,.q-date__calendar-item>div{width:30px;height:30px;border-radius:50%}.q-date__calendar-item>div{line-height:30px;text-align:center}.q-date__calendar-item>button{line-height:22px}.q-date__calendar-item--out{opacity:.18}.q-date__calendar-item--fill{visibility:hidden}.q-date__range-from:before,.q-date__range-to:before,.q-date__range:before{content:"";background-color:currentColor;position:absolute;top:1px;bottom:1px;left:0;right:0;opacity:.3}.q-date__range-from:nth-child(7n-6):before,.q-date__range-to:nth-child(7n-6):before,.q-date__range:nth-child(7n-6):before{border-top-left-radius:0;border-bottom-left-radius:0}.q-date__range-from:nth-child(7n):before,.q-date__range-to:nth-child(7n):before,.q-date__range:nth-child(7n):before{border-top-right-radius:0;border-bottom-right-radius:0}.q-date__range-from:before{left:50%}.q-date__range-to:before{right:50%}.q-date__edit-range:after{border-color:currentColor transparent}.q-date__edit-range:nth-child(7n-6):after{border-top-left-radius:0;border-bottom-left-radius:0}.q-date__edit-range:nth-child(7n):after{border-top-right-radius:0;border-bottom-right-radius:0}.q-date__edit-range-from-to:after,.q-date__edit-range-from:after{left:4px;border-left-color:currentColor;border-top-color:currentColor;border-bottom-color:currentColor;border-top-left-radius:28px;border-bottom-left-radius:28px}.q-date__edit-range-from-to:after,.q-date__edit-range-to:after{right:4px;border-right-color:currentColor;border-top-color:currentColor;border-bottom-color:currentColor;border-top-right-radius:28px;border-bottom-right-radius:28px}.q-date__calendar-days-container{height:75%;min-height:192px}.q-date__calendar-days>div{height:16.66%!important}.q-date__event{position:absolute;bottom:2px;left:50%;height:5px;width:8px;border-radius:5px;background-color:var(--q-secondary);transform:translate3d(-50%,0,0)}.q-date__today{box-shadow:0 0 1px 0 currentColor}.q-date__years-content{padding:0 8px}.q-date__months-item,.q-date__years-item{flex:0 0 33.3333%}.q-date--readonly .q-date__content,.q-date--readonly .q-date__header,.q-date.disabled .q-date__content,.q-date.disabled .q-date__header{pointer-events:none}.q-date--readonly .q-date__navigation{display:none}.q-date--portrait{flex-direction:column}.q-date--portrait-standard .q-date__content{height:calc(100% - 86px)}.q-date--portrait-standard .q-date__header{border-top-right-radius:inherit;height:86px}.q-date--portrait-standard .q-date__header-title{align-items:center;height:30px}.q-date--portrait-minimal .q-date__content{height:100%}.q-date--landscape{flex-direction:row;align-items:stretch;min-width:420px}.q-date--landscape>div{display:flex;flex-direction:column}.q-date--landscape .q-date__content{height:100%}.q-date--landscape-standard{min-width:420px}.q-date--landscape-standard .q-date__header{border-bottom-left-radius:inherit;min-width:110px;width:110px}.q-date--landscape-standard .q-date__header-title{flex-direction:column}.q-date--landscape-standard .q-date__header-today{margin-top:12px;margin-left:-8px}.q-date--landscape-minimal{width:310px}.q-date--dark{box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.28)}.q-dialog__title{font-size:1.25rem;font-weight:500;line-height:2rem;letter-spacing:.0125em}.q-dialog__progress{font-size:4rem}.q-dialog__inner{outline:0}.q-dialog__inner>div{pointer-events:all;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position;border-radius:4px}.q-dialog__inner--square>div{border-radius:0!important}.q-dialog__inner>.q-card>.q-card__actions .q-btn--rectangle{min-width:64px}.q-dialog__inner--minimized{padding:24px}.q-dialog__inner--minimized>div{max-height:calc(100vh - 48px)}.q-dialog__inner--maximized>div{height:100%;width:100%;max-height:100vh;max-width:100vw;border-radius:0!important;top:0!important;left:0!important}.q-dialog__inner--bottom,.q-dialog__inner--top{padding-top:0!important;padding-bottom:0!important}.q-dialog__inner--left,.q-dialog__inner--right{padding-right:0!important;padding-left:0!important}.q-dialog__inner--left:not(.q-dialog__inner--animating)>div,.q-dialog__inner--top:not(.q-dialog__inner--animating)>div{border-top-left-radius:0}.q-dialog__inner--right:not(.q-dialog__inner--animating)>div,.q-dialog__inner--top:not(.q-dialog__inner--animating)>div{border-top-right-radius:0}.q-dialog__inner--bottom:not(.q-dialog__inner--animating)>div,.q-dialog__inner--left:not(.q-dialog__inner--animating)>div{border-bottom-left-radius:0}.q-dialog__inner--bottom:not(.q-dialog__inner--animating)>div,.q-dialog__inner--right:not(.q-dialog__inner--animating)>div{border-bottom-right-radius:0}.q-dialog__inner--fullwidth>div{width:100%!important;max-width:100%!important}.q-dialog__inner--fullheight>div{height:100%!important;max-height:100%!important}.q-dialog__backdrop{z-index:-1;pointer-events:all;outline:0;background:rgba(0,0,0,.4)}body.platform-android:not(.native-mobile) .q-dialog__inner--minimized>div,body.platform-ios .q-dialog__inner--minimized>div{max-height:calc(100vh - 108px)}body.q-ios-padding .q-dialog__inner{padding-top:20px!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}body.q-ios-padding .q-dialog__inner>div{max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important}@media(max-width:599.98px){.q-dialog__inner--bottom,.q-dialog__inner--top{padding-left:0;padding-right:0}.q-dialog__inner--bottom>div,.q-dialog__inner--top>div{width:100%!important}}@media(min-width:600px){.q-dialog__inner--minimized>div{max-width:560px}}.q-body--dialog{overflow:hidden}.q-bottom-sheet{padding-bottom:8px}.q-bottom-sheet__avatar{border-radius:50%}.q-bottom-sheet--list{width:400px}.q-bottom-sheet--list .q-icon,.q-bottom-sheet--list img{font-size:24px;width:24px;height:24px}.q-bottom-sheet--grid{width:700px}.q-bottom-sheet--grid .q-bottom-sheet__item{padding:8px;text-align:center;min-width:100px}.q-bottom-sheet--grid .q-bottom-sheet__empty-icon,.q-bottom-sheet--grid .q-icon,.q-bottom-sheet--grid img{font-size:48px;width:48px;height:48px;margin-bottom:8px}.q-bottom-sheet--grid .q-separator{margin:12px 0}.q-bottom-sheet__item{flex:0 0 33.3333%}@media(min-width:600px){.q-bottom-sheet__item{flex:0 0 25%}}.q-dialog-plugin{width:400px}.q-dialog-plugin__form{max-height:50vh}.q-dialog-plugin .q-card__section+.q-card__section{padding-top:0}.q-dialog-plugin--progress{text-align:center}.q-editor{border:1px solid rgba(0,0,0,.12);border-radius:4px;background-color:#fff}.q-editor.disabled{border-style:dashed}.q-editor>div:first-child,.q-editor__toolbars-container,.q-editor__toolbars-container>div:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-editor__content{outline:0;padding:10px;min-height:10em;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;overflow:auto;max-width:100%}.q-editor__content pre{white-space:pre-wrap}.q-editor__content hr{border:0;outline:0;margin:1px;height:1px;background:rgba(0,0,0,.12)}.q-editor__content:empty:not(:focus):before{content:attr(placeholder);opacity:.7}.q-editor__toolbar{border-bottom:1px solid rgba(0,0,0,.12);min-height:32px}.q-editor__toolbars-container{max-width:100%}.q-editor .q-btn{margin:4px}.q-editor__toolbar-group{position:relative;margin:0 4px}.q-editor__toolbar-group+.q-editor__toolbar-group:before{content:"";position:absolute;left:-4px;top:4px;bottom:4px;width:1px;background:rgba(0,0,0,.12)}.q-editor__link-input{color:inherit;text-decoration:none;text-transform:none;border:none;border-radius:0;background:none;outline:0}.q-editor--flat,.q-editor--flat .q-editor__toolbar{border:0}.q-editor--dense .q-editor__toolbar-group{display:flex;align-items:center;flex-wrap:nowrap}.q-editor--dark{border-color:hsla(0,0%,100%,.28)}.q-editor--dark .q-editor__content hr{background:hsla(0,0%,100%,.28)}.q-editor--dark .q-editor__toolbar{border-color:hsla(0,0%,100%,.28)}.q-editor--dark .q-editor__toolbar-group+.q-editor__toolbar-group:before{background:hsla(0,0%,100%,.28)}.q-expansion-item__border{opacity:0}.q-expansion-item__toggle-icon{position:relative;transition:transform .3s}.q-expansion-item__toggle-icon--rotated{transform:rotate(180deg)}.q-expansion-item__toggle-focus{width:1em!important;height:1em!important;position:relative!important}.q-expansion-item__toggle-focus+.q-expansion-item__toggle-icon{margin-top:-1em}.q-expansion-item--standard.q-expansion-item--expanded>div>.q-expansion-item__border{opacity:1}.q-expansion-item--popup{transition:padding .5s}.q-expansion-item--popup>.q-expansion-item__container{border:1px solid rgba(0,0,0,.12)}.q-expansion-item--popup>.q-expansion-item__container>.q-separator{display:none}.q-expansion-item--popup.q-expansion-item--collapsed{padding:0 15px}.q-expansion-item--popup.q-expansion-item--expanded{padding:15px 0}.q-expansion-item--popup.q-expansion-item--expanded+.q-expansion-item--popup.q-expansion-item--expanded{padding-top:0}.q-expansion-item--popup.q-expansion-item--collapsed:not(:first-child)>.q-expansion-item__container{border-top-width:0}.q-expansion-item--popup.q-expansion-item--expanded+.q-expansion-item--popup.q-expansion-item--collapsed>.q-expansion-item__container{border-top-width:1px}.q-expansion-item__content>.q-card{box-shadow:none;border-radius:0}.q-expansion-item--expanded+.q-expansion-item--expanded>div>.q-expansion-item__border--top,.q-expansion-item:first-child>div>.q-expansion-item__border--top,.q-expansion-item:last-child>div>.q-expansion-item__border--bottom{opacity:0}.q-expansion-item--expanded .q-textarea--autogrow textarea{animation:q-expansion-done 0s}@keyframes q-expansion-done{0%{--q-exp-done:1}}.z-fab{z-index:990}.q-fab{position:relative;vertical-align:middle}.q-fab>.q-btn{width:100%}.q-fab--form-rounded{border-radius:28px}.q-fab--form-square{border-radius:4px}.q-fab__active-icon,.q-fab__icon{transition:opacity .4s,transform .4s}.q-fab__icon{opacity:1;transform:rotate(0deg)}.q-fab__active-icon{opacity:0;transform:rotate(-180deg)}.q-fab__label--external{position:absolute;padding:0 8px;transition:opacity .18s cubic-bezier(.65,.815,.735,.395)}.q-fab__label--external-hidden{opacity:0;pointer-events:none}.q-fab__label--external-left{top:50%;left:-12px;transform:translate(-100%,-50%)}.q-fab__label--external-right{top:50%;right:-12px;transform:translate(100%,-50%)}.q-fab__label--external-bottom{bottom:-12px;left:50%;transform:translate(-50%,100%)}.q-fab__label--external-top{top:-12px;left:50%;transform:translate(-50%,-100%)}.q-fab__label--internal{padding:0;transition:font-size .12s cubic-bezier(.65,.815,.735,.395),max-height .12s cubic-bezier(.65,.815,.735,.395),opacity .07s cubic-bezier(.65,.815,.735,.395);max-height:30px}.q-fab__label--internal-hidden{font-size:0;opacity:0}.q-fab__label--internal-top{padding-bottom:.12em}.q-fab__label--internal-bottom{padding-top:.12em}.q-fab__label--internal-bottom.q-fab__label--internal-hidden,.q-fab__label--internal-top.q-fab__label--internal-hidden{max-height:0}.q-fab__label--internal-left{padding-left:.285em;padding-right:.571em}.q-fab__label--internal-right{padding-right:.285em;padding-left:.571em}.q-fab__icon-holder{min-width:24px;min-height:24px;position:relative}.q-fab__icon-holder--opened .q-fab__icon{transform:rotate(180deg);opacity:0}.q-fab__icon-holder--opened .q-fab__active-icon{transform:rotate(0deg);opacity:1}.q-fab__actions{position:absolute;opacity:0;transition:transform .18s ease-in,opacity .18s ease-in;pointer-events:none;align-items:center;justify-content:center;align-self:center;padding:3px}.q-fab__actions .q-btn{margin:5px}.q-fab__actions--right{transform-origin:0 50%;transform:scale(.4) translateX(-62px);height:56px;left:100%;margin-left:9px}.q-fab__actions--left{transform-origin:100% 50%;transform:scale(.4) translateX(62px);height:56px;right:100%;margin-right:9px;flex-direction:row-reverse}.q-fab__actions--up{transform-origin:50% 100%;transform:scale(.4) translateY(62px);width:56px;bottom:100%;margin-bottom:9px;flex-direction:column-reverse}.q-fab__actions--down{transform-origin:50% 0;transform:scale(.4) translateY(-62px);width:56px;top:100%;margin-top:9px;flex-direction:column}.q-fab__actions--down,.q-fab__actions--up{left:50%;margin-left:-28px}.q-fab__actions--opened{opacity:1;transform:scale(1) translate(.1px);pointer-events:all}.q-fab--align-left>.q-fab__actions--down,.q-fab--align-left>.q-fab__actions--up{align-items:flex-start;left:28px}.q-fab--align-right>.q-fab__actions--down,.q-fab--align-right>.q-fab__actions--up{align-items:flex-end;left:auto;right:0}.q-field{font-size:14px}.q-field ::-ms-clear,.q-field ::-ms-reveal{display:none}.q-field--with-bottom{padding-bottom:20px}.q-field__marginal{height:56px;color:rgba(0,0,0,.54);font-size:24px}.q-field__marginal>*+*{margin-left:2px}.q-field__marginal .q-avatar{font-size:32px}.q-field__before,.q-field__prepend{padding-right:12px}.q-field__after,.q-field__append{padding-left:12px}.q-field__after:empty,.q-field__append:empty{display:none}.q-field__append+.q-field__append{padding-left:2px}.q-field__inner{text-align:left}.q-field__bottom{font-size:12px;min-height:20px;line-height:1;color:rgba(0,0,0,.54);padding:8px 12px 0;backface-visibility:hidden}.q-field__bottom--animated{transform:translateY(100%);position:absolute;left:0;right:0;bottom:0}.q-field__messages{line-height:1}.q-field__messages>div{word-break:break-word;word-wrap:break-word;overflow-wrap:break-word}.q-field__messages>div+div{margin-top:4px}.q-field__counter{padding-left:8px;line-height:1}.q-field--item-aligned{padding:8px 16px}.q-field--item-aligned .q-field__before{min-width:56px}.q-field__control-container{height:inherit}.q-field__control{color:var(--q-primary);height:56px;max-width:100%;outline:none}.q-field__control:after,.q-field__control:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.q-field__control:before{border-radius:inherit}.q-field__shadow{top:8px;opacity:0;overflow:hidden;white-space:pre-wrap;transition:opacity .36s cubic-bezier(.4,0,.2,1)}.q-field__shadow+.q-field__native::-moz-placeholder{-moz-transition:opacity .36s cubic-bezier(.4,0,.2,1);transition:opacity .36s cubic-bezier(.4,0,.2,1)}.q-field__shadow+.q-field__native::placeholder{transition:opacity .36s cubic-bezier(.4,0,.2,1)}.q-field__shadow+.q-field__native:focus::-moz-placeholder{opacity:0}.q-field__shadow+.q-field__native:focus::placeholder{opacity:0}.q-field__input,.q-field__native,.q-field__prefix,.q-field__suffix{font-weight:400;line-height:28px;letter-spacing:.00937em;text-decoration:inherit;text-transform:inherit;border:none;border-radius:0;background:none;color:rgba(0,0,0,.87);outline:0;padding:6px 0}.q-field__input,.q-field__native{width:100%;min-width:0;outline:0!important;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.q-field__input:-webkit-autofill,.q-field__native:-webkit-autofill{-webkit-animation-name:q-autofill;-webkit-animation-fill-mode:both}.q-field__input:-webkit-autofill+.q-field__label,.q-field__native:-webkit-autofill+.q-field__label{transform:translateY(-40%) scale(.75)}.q-field__input[type=color]+.q-field__label,.q-field__input[type=date]+.q-field__label,.q-field__input[type=datetime-local]+.q-field__label,.q-field__input[type=month]+.q-field__label,.q-field__input[type=time]+.q-field__label,.q-field__input[type=week]+.q-field__label,.q-field__native[type=color]+.q-field__label,.q-field__native[type=date]+.q-field__label,.q-field__native[type=datetime-local]+.q-field__label,.q-field__native[type=month]+.q-field__label,.q-field__native[type=time]+.q-field__label,.q-field__native[type=week]+.q-field__label{transform:translateY(-40%) scale(.75)}.q-field__input:invalid,.q-field__native:invalid{box-shadow:none}.q-field__native[type=file]{line-height:1em}.q-field__input{padding:0;height:0;min-height:24px;line-height:24px}.q-field__prefix,.q-field__suffix{transition:opacity .36s cubic-bezier(.4,0,.2,1);white-space:nowrap}.q-field__prefix{padding-right:4px}.q-field__suffix{padding-left:4px}.q-field--disabled .q-placeholder,.q-field--readonly .q-placeholder{opacity:1!important}.q-field--readonly.q-field--labeled .q-field__input,.q-field--readonly.q-field--labeled .q-field__native{cursor:default}.q-field--readonly.q-field--float .q-field__input,.q-field--readonly.q-field--float .q-field__native{cursor:text}.q-field--disabled .q-field__inner{cursor:not-allowed}.q-field--disabled .q-field__control{pointer-events:none}.q-field--disabled .q-field__control>div{opacity:.6!important}.q-field--disabled .q-field__control>div,.q-field--disabled .q-field__control>div *{outline:0!important}.q-field__label{left:0;top:18px;max-width:100%;color:rgba(0,0,0,.6);font-size:16px;line-height:20px;font-weight:400;letter-spacing:.00937em;text-decoration:inherit;text-transform:inherit;transform-origin:left top;transition:transform .36s cubic-bezier(.4,0,.2,1),max-width .324s cubic-bezier(.4,0,.2,1);backface-visibility:hidden}.q-field--float .q-field__label{max-width:133%;transform:translateY(-40%) scale(.75);transition:transform .36s cubic-bezier(.4,0,.2,1),max-width .396s cubic-bezier(.4,0,.2,1)}.q-field--highlighted .q-field__label{color:currentColor}.q-field--highlighted .q-field__shadow{opacity:.5}.q-field--filled .q-field__control{padding:0 12px;background:rgba(0,0,0,.05);border-radius:4px 4px 0 0}.q-field--filled .q-field__control:before{background:rgba(0,0,0,.05);border-bottom:1px solid rgba(0,0,0,.42);opacity:0;transition:opacity .36s cubic-bezier(.4,0,.2,1),background .36s cubic-bezier(.4,0,.2,1)}.q-field--filled .q-field__control:hover:before{opacity:1}.q-field--filled .q-field__control:after{height:2px;top:auto;transform-origin:center bottom;transform:scaleX(0);background:currentColor;transition:transform .36s cubic-bezier(.4,0,.2,1)}.q-field--filled.q-field--rounded .q-field__control{border-radius:28px 28px 0 0}.q-field--filled.q-field--highlighted .q-field__control:before{opacity:1;background:rgba(0,0,0,.12)}.q-field--filled.q-field--highlighted .q-field__control:after{transform:scaleX(1)}.q-field--filled.q-field--dark .q-field__control,.q-field--filled.q-field--dark .q-field__control:before{background:hsla(0,0%,100%,.07)}.q-field--filled.q-field--dark.q-field--highlighted .q-field__control:before{background:hsla(0,0%,100%,.1)}.q-field--filled.q-field--readonly .q-field__control:before{opacity:1;background:transparent;border-bottom-style:dashed}.q-field--outlined .q-field__control{border-radius:4px;padding:0 12px}.q-field--outlined .q-field__control:before{border:1px solid rgba(0,0,0,.24);transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--outlined .q-field__control:hover:before{border-color:#000}.q-field--outlined .q-field__control:after{height:inherit;border-radius:inherit;border:2px solid transparent;transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--outlined .q-field__input:-webkit-autofill,.q-field--outlined .q-field__native:-webkit-autofill{margin-top:1px;margin-bottom:1px}.q-field--outlined.q-field--rounded .q-field__control{border-radius:28px}.q-field--outlined.q-field--highlighted .q-field__control:hover:before{border-color:transparent}.q-field--outlined.q-field--highlighted .q-field__control:after{border-color:currentColor;border-width:2px;transform:scaleX(1)}.q-field--outlined.q-field--readonly .q-field__control:before{border-style:dashed}.q-field--standard .q-field__control:before{border-bottom:1px solid rgba(0,0,0,.24);transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--standard .q-field__control:hover:before{border-color:#000}.q-field--standard .q-field__control:after{height:2px;top:auto;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;transform-origin:center bottom;transform:scaleX(0);background:currentColor;transition:transform .36s cubic-bezier(.4,0,.2,1)}.q-field--standard.q-field--highlighted .q-field__control:after{transform:scaleX(1)}.q-field--standard.q-field--readonly .q-field__control:before{border-bottom-style:dashed}.q-field--dark .q-field__control:before{border-color:hsla(0,0%,100%,.6)}.q-field--dark .q-field__control:hover:before{border-color:#fff}.q-field--dark .q-field__input,.q-field--dark .q-field__native,.q-field--dark .q-field__prefix,.q-field--dark .q-field__suffix{color:#fff}.q-field--dark .q-field__bottom,.q-field--dark .q-field__marginal,.q-field--dark:not(.q-field--highlighted) .q-field__label{color:hsla(0,0%,100%,.7)}.q-field--standout .q-field__control{padding:0 12px;background:rgba(0,0,0,.05);border-radius:4px;transition:box-shadow .36s cubic-bezier(.4,0,.2,1),background-color .36s cubic-bezier(.4,0,.2,1)}.q-field--standout .q-field__control:before{background:rgba(0,0,0,.07);opacity:0;transition:opacity .36s cubic-bezier(.4,0,.2,1),background .36s cubic-bezier(.4,0,.2,1)}.q-field--standout .q-field__control:hover:before{opacity:1}.q-field--standout.q-field--rounded .q-field__control{border-radius:28px}.q-field--standout.q-field--highlighted .q-field__control{box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);background:#000}.q-field--standout.q-field--highlighted .q-field__append,.q-field--standout.q-field--highlighted .q-field__input,.q-field--standout.q-field--highlighted .q-field__native,.q-field--standout.q-field--highlighted .q-field__prefix,.q-field--standout.q-field--highlighted .q-field__prepend,.q-field--standout.q-field--highlighted .q-field__suffix{color:#fff}.q-field--standout.q-field--readonly .q-field__control:before{opacity:1;background:transparent;border:1px dashed rgba(0,0,0,.24)}.q-field--standout.q-field--dark .q-field__control,.q-field--standout.q-field--dark .q-field__control:before{background:hsla(0,0%,100%,.07)}.q-field--standout.q-field--dark.q-field--highlighted .q-field__control{background:#fff}.q-field--standout.q-field--dark.q-field--highlighted .q-field__append,.q-field--standout.q-field--dark.q-field--highlighted .q-field__input,.q-field--standout.q-field--dark.q-field--highlighted .q-field__native,.q-field--standout.q-field--dark.q-field--highlighted .q-field__prefix,.q-field--standout.q-field--dark.q-field--highlighted .q-field__prepend,.q-field--standout.q-field--dark.q-field--highlighted .q-field__suffix{color:#000}.q-field--standout.q-field--dark.q-field--readonly .q-field__control:before{border-color:hsla(0,0%,100%,.24)}.q-field--labeled .q-field__native,.q-field--labeled .q-field__prefix,.q-field--labeled .q-field__suffix{line-height:24px;padding-top:24px;padding-bottom:8px}.q-field--labeled .q-field__shadow{top:0}.q-field--labeled:not(.q-field--float) .q-field__prefix,.q-field--labeled:not(.q-field--float) .q-field__suffix{opacity:0}.q-field--labeled:not(.q-field--float) .q-field__input::-moz-placeholder,.q-field--labeled:not(.q-field--float) .q-field__native::-moz-placeholder{color:transparent}.q-field--labeled:not(.q-field--float) .q-field__input::placeholder,.q-field--labeled:not(.q-field--float) .q-field__native::placeholder{color:transparent}.q-field--labeled.q-field--dense .q-field__native,.q-field--labeled.q-field--dense .q-field__prefix,.q-field--labeled.q-field--dense .q-field__suffix{padding-top:14px;padding-bottom:2px}.q-field--dense .q-field__shadow{top:0}.q-field--dense .q-field__control,.q-field--dense .q-field__marginal{height:40px}.q-field--dense .q-field__bottom{font-size:11px}.q-field--dense .q-field__label{font-size:14px;top:10px}.q-field--dense .q-field__before,.q-field--dense .q-field__prepend{padding-right:6px}.q-field--dense .q-field__after,.q-field--dense .q-field__append{padding-left:6px}.q-field--dense .q-field__append+.q-field__append{padding-left:2px}.q-field--dense .q-field__marginal .q-avatar{font-size:24px}.q-field--dense.q-field--float .q-field__label{transform:translateY(-30%) scale(.75)}.q-field--dense .q-field__input:-webkit-autofill+.q-field__label,.q-field--dense .q-field__native:-webkit-autofill+.q-field__label{transform:translateY(-30%) scale(.75)}.q-field--dense .q-field__input[type=color]+.q-field__label,.q-field--dense .q-field__input[type=date]+.q-field__label,.q-field--dense .q-field__input[type=datetime-local]+.q-field__label,.q-field--dense .q-field__input[type=month]+.q-field__label,.q-field--dense .q-field__input[type=time]+.q-field__label,.q-field--dense .q-field__input[type=week]+.q-field__label,.q-field--dense .q-field__native[type=color]+.q-field__label,.q-field--dense .q-field__native[type=date]+.q-field__label,.q-field--dense .q-field__native[type=datetime-local]+.q-field__label,.q-field--dense .q-field__native[type=month]+.q-field__label,.q-field--dense .q-field__native[type=time]+.q-field__label,.q-field--dense .q-field__native[type=week]+.q-field__label{transform:translateY(-30%) scale(.75)}.q-field--borderless .q-field__bottom,.q-field--borderless.q-field--dense .q-field__control,.q-field--standard .q-field__bottom,.q-field--standard.q-field--dense .q-field__control{padding-left:0;padding-right:0}.q-field--error .q-field__label{animation:q-field-label .36s}.q-field--error .q-field__bottom{color:var(--q-negative)}.q-field__focusable-action{opacity:.6;cursor:pointer;outline:0!important;border:0;color:inherit;background:transparent;padding:0}.q-field__focusable-action:focus,.q-field__focusable-action:hover{opacity:1}.q-field--auto-height .q-field__control{height:auto}.q-field--auto-height .q-field__control,.q-field--auto-height .q-field__native{min-height:56px}.q-field--auto-height .q-field__native{align-items:center}.q-field--auto-height .q-field__control-container{padding-top:0}.q-field--auto-height .q-field__native,.q-field--auto-height .q-field__prefix,.q-field--auto-height .q-field__suffix{line-height:18px}.q-field--auto-height.q-field--labeled .q-field__control-container{padding-top:24px}.q-field--auto-height.q-field--labeled .q-field__shadow{top:24px}.q-field--auto-height.q-field--labeled .q-field__native,.q-field--auto-height.q-field--labeled .q-field__prefix,.q-field--auto-height.q-field--labeled .q-field__suffix{padding-top:0}.q-field--auto-height.q-field--labeled .q-field__native{min-height:24px}.q-field--auto-height.q-field--dense .q-field__control,.q-field--auto-height.q-field--dense .q-field__native{min-height:40px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__control-container{padding-top:14px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__shadow{top:14px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__native{min-height:24px}.q-field--square .q-field__control{border-radius:0!important}.q-transition--field-message-enter-active,.q-transition--field-message-leave-active{transition:transform .6s cubic-bezier(.86,0,.07,1),opacity .6s cubic-bezier(.86,0,.07,1)}.q-transition--field-message-enter-from,.q-transition--field-message-leave-to{opacity:0;transform:translateY(-10px)}.q-transition--field-message-leave-active,.q-transition--field-message-leave-from{position:absolute}@keyframes q-field-label{40%{margin-left:2px}60%,80%{margin-left:-2px}70%,90%{margin-left:2px}}@keyframes q-autofill{to{background:transparent;color:inherit}}.q-file .q-field__native{word-break:break-all;overflow:hidden}.q-file .q-field__input{opacity:0!important}.q-file .q-field__input::-webkit-file-upload-button{cursor:pointer}.q-file__filler{visibility:hidden;width:100%;border:none;padding:0}.q-file__dnd{outline:1px dashed currentColor;outline-offset:-4px}.q-form,.q-img{position:relative}.q-img{width:100%;display:inline-block;vertical-align:middle;overflow:hidden}.q-img__loading .q-spinner{font-size:50px}.q-img__container{border-radius:inherit;font-size:0}.q-img__image{border-radius:inherit;width:100%;height:100%;opacity:0}.q-img__image--with-transition{transition:opacity .28s ease-in}.q-img__image--loaded{opacity:1}.q-img__content{border-radius:inherit;pointer-events:none}.q-img__content>div{pointer-events:all;position:absolute;padding:16px;color:#fff;background:rgba(0,0,0,.47)}.q-img--no-menu .q-img__image,.q-img--no-menu .q-img__placeholder{pointer-events:none}.q-inner-loading{background:hsla(0,0%,100%,.6)}.q-inner-loading--dark{background:rgba(0,0,0,.4)}.q-inner-loading__label{margin-top:8px}.q-textarea .q-field__control{min-height:56px;height:auto}.q-textarea .q-field__control-container{padding-top:2px;padding-bottom:2px}.q-textarea .q-field__shadow{top:2px;bottom:2px}.q-textarea .q-field__native,.q-textarea .q-field__prefix,.q-textarea .q-field__suffix{line-height:18px}.q-textarea .q-field__native{resize:vertical;padding-top:17px;min-height:52px}.q-textarea.q-field--labeled .q-field__control-container{padding-top:26px}.q-textarea.q-field--labeled .q-field__shadow{top:26px}.q-textarea.q-field--labeled .q-field__native,.q-textarea.q-field--labeled .q-field__prefix,.q-textarea.q-field--labeled .q-field__suffix{padding-top:0}.q-textarea.q-field--labeled .q-field__native{min-height:26px;padding-top:1px}.q-textarea--autogrow .q-field__native{resize:none}.q-textarea.q-field--dense .q-field__control,.q-textarea.q-field--dense .q-field__native{min-height:36px}.q-textarea.q-field--dense .q-field__native{padding-top:9px}.q-textarea.q-field--dense.q-field--labeled .q-field__control-container{padding-top:14px}.q-textarea.q-field--dense.q-field--labeled .q-field__shadow{top:14px}.q-textarea.q-field--dense.q-field--labeled .q-field__native{min-height:24px;padding-top:3px}.q-textarea.q-field--dense.q-field--labeled .q-field__prefix,.q-textarea.q-field--dense.q-field--labeled .q-field__suffix{padding-top:2px}.q-textarea.disabled .q-field__native,body.mobile .q-textarea .q-field__native{resize:none}.q-intersection{position:relative}.q-item{min-height:48px;padding:8px 16px;color:inherit;transition:color .3s,background-color .3s}.q-item__section--side{color:#757575;align-items:flex-start;padding-right:16px;width:auto;min-width:0;max-width:100%}.q-item__section--side>.q-icon{font-size:24px}.q-item__section--side>.q-avatar{font-size:40px}.q-item__section--avatar{color:inherit;min-width:56px}.q-item__section--thumbnail img{width:100px;height:56px}.q-item__section--nowrap{white-space:nowrap}.q-item>.q-focus-helper+.q-item__section--thumbnail,.q-item>.q-item__section--thumbnail:first-child{margin-left:-16px}.q-item>.q-item__section--thumbnail:last-of-type{margin-right:-16px}.q-item__label{line-height:1.2em!important;max-width:100%}.q-item__label--overline{color:rgba(0,0,0,.7)}.q-item__label--caption{color:rgba(0,0,0,.54)}.q-item__label--header{color:#757575;padding:16px;font-size:.875rem;line-height:1.25rem;letter-spacing:.01786em}.q-list--padding .q-item__label--header,.q-separator--spaced+.q-item__label--header{padding-top:8px}.q-item__label+.q-item__label{margin-top:4px}.q-item__section--main{width:auto;min-width:0;max-width:100%;flex:10000 1 0%}.q-item__section--main+.q-item__section--main{margin-left:8px}.q-item__section--main~.q-item__section--side{align-items:flex-end;padding-right:0;padding-left:16px}.q-item__section--main.q-item__section--thumbnail{margin-left:0;margin-right:-16px}.q-list--bordered{border:1px solid rgba(0,0,0,.12)}.q-list--separator>.q-item-type+.q-item-type,.q-list--separator>.q-virtual-scroll__content>.q-item-type+.q-item-type{border-top:1px solid rgba(0,0,0,.12)}.q-list--padding{padding:8px 0}.q-item--dense,.q-list--dense>.q-item{min-height:32px;padding:2px 16px}.q-list--dark.q-list--separator>.q-item-type+.q-item-type,.q-list--dark.q-list--separator>.q-virtual-scroll__content>.q-item-type+.q-item-type{border-top-color:hsla(0,0%,100%,.28)}.q-item--dark,.q-list--dark{color:#fff;border-color:hsla(0,0%,100%,.28)}.q-item--dark .q-item__section--side:not(.q-item__section--avatar),.q-list--dark .q-item__section--side:not(.q-item__section--avatar){color:hsla(0,0%,100%,.7)}.q-item--dark .q-item__label--header,.q-list--dark .q-item__label--header{color:hsla(0,0%,100%,.64)}.q-item--dark .q-item__label--caption,.q-item--dark .q-item__label--overline,.q-list--dark .q-item__label--caption,.q-list--dark .q-item__label--overline{color:hsla(0,0%,100%,.8)}.q-item{position:relative}.q-item--active,.q-item.q-router-link--active{color:var(--q-primary)}.q-knob{font-size:48px}.q-knob--editable{cursor:pointer;outline:0}.q-knob--editable:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:none;transition:box-shadow .24s ease-in-out}.q-knob--editable:focus:before{box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12)}body.body--dark .q-knob--editable:focus:before{box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}.q-layout{width:100%;outline:0}.q-layout-container{position:relative;width:100%;height:100%}.q-layout-container .q-layout{min-height:100%}.q-layout-container>div{transform:translateZ(0)}.q-layout-container>div>div{min-height:0;max-height:100%}.q-layout__shadow{width:100%}.q-layout__shadow:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:0 0 10px 2px rgba(0,0,0,.2),0 0 10px rgba(0,0,0,.24)}.q-layout__section--marginal{background-color:var(--q-primary);color:#fff}.q-header--hidden{transform:translateY(-110%)}.q-header--bordered{border-bottom:1px solid rgba(0,0,0,.12)}.q-header .q-layout__shadow{bottom:-10px}.q-header .q-layout__shadow:after{bottom:10px}.q-footer--hidden{transform:translateY(110%)}.q-footer--bordered{border-top:1px solid rgba(0,0,0,.12)}.q-footer .q-layout__shadow{top:-10px}.q-footer .q-layout__shadow:after{top:10px}.q-footer,.q-header{z-index:2000}.q-drawer{position:absolute;top:0;bottom:0;background:#fff;z-index:1000}.q-drawer--on-top{z-index:3000}.q-drawer--left{left:0;transform:translateX(-100%)}.q-drawer--left.q-drawer--bordered{border-right:1px solid rgba(0,0,0,.12)}.q-drawer--left .q-layout__shadow{left:10px;right:-10px}.q-drawer--left .q-layout__shadow:after{right:10px}.q-drawer--right{right:0;transform:translateX(100%)}.q-drawer--right.q-drawer--bordered{border-left:1px solid rgba(0,0,0,.12)}.q-drawer--right .q-layout__shadow{left:-10px}.q-drawer--right .q-layout__shadow:after{left:10px}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini{padding:0!important}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section{text-align:center;justify-content:center;padding-left:0;padding-right:0;min-width:0}.q-drawer--mini .q-expansion-item__content,.q-drawer--mini .q-mini-drawer-hide,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__label,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section--main,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section--side~.q-item__section--side{display:none}.q-drawer--mini-animate .q-drawer__content{overflow-x:hidden!important;white-space:nowrap}.q-drawer--mobile .q-mini-drawer-hide,.q-drawer--mobile .q-mini-drawer-only,.q-drawer--standard .q-mini-drawer-only{display:none}.q-drawer__backdrop{z-index:2999!important;will-change:background-color}.q-drawer__opener{z-index:2001;height:100%;width:15px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.q-footer,.q-header,.q-layout,.q-page{position:relative}.q-page-sticky--shrink{pointer-events:none}.q-page-sticky--shrink>div{display:inline-block;pointer-events:auto}body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content,body.q-ios-padding .q-layout--standard .q-header>.q-tabs:first-child .q-tabs-head,body.q-ios-padding .q-layout--standard .q-header>.q-toolbar:first-child{padding-top:20px;min-height:70px;padding-top:env(safe-area-inset-top);min-height:calc(env(safe-area-inset-top) + 50px)}body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content,body.q-ios-padding .q-layout--standard .q-footer>.q-tabs:last-child .q-tabs-head,body.q-ios-padding .q-layout--standard .q-footer>.q-toolbar:last-child{padding-bottom:env(safe-area-inset-bottom);min-height:calc(env(safe-area-inset-bottom) + 50px)}.q-body--layout-animate .q-drawer__backdrop{transition:background-color .12s!important}.q-body--layout-animate .q-drawer{transition:transform .12s,width .12s,top .12s,bottom .12s!important}.q-body--layout-animate .q-layout__section--marginal{transition:transform .12s,left .12s,right .12s!important}.q-body--layout-animate .q-page-container{transition:padding-top .12s,padding-right .12s,padding-bottom .12s,padding-left .12s!important}.q-body--layout-animate .q-page-sticky{transition:transform .12s,left .12s,right .12s,top .12s,bottom .12s!important}body:not(.q-body--layout-animate) .q-layout--prevent-focus{visibility:hidden}.q-body--drawer-toggle{overflow-x:hidden!important}@media(max-width:599.98px){.q-layout-padding{padding:8px}}@media(min-width:600px)and (max-width:1439.98px){.q-layout-padding{padding:16px}}@media(min-width:1440px){.q-layout-padding{padding:24px}}body.body--dark .q-drawer,body.body--dark .q-footer,body.body--dark .q-header{border-color:hsla(0,0%,100%,.28)}body.body--dark .q-layout__shadow:after{box-shadow:0 0 10px 2px hsla(0,0%,100%,.2),0 0 10px hsla(0,0%,100%,.24)}body.platform-ios .q-layout--containerized{position:unset!important}.q-linear-progress{--q-linear-progress-speed:.3s;position:relative;width:100%;overflow:hidden;font-size:4px;height:1em;color:var(--q-primary);transform:scaleX(1)}.q-linear-progress__model,.q-linear-progress__track{transform-origin:0 0}.q-linear-progress__model--with-transition,.q-linear-progress__track--with-transition{transition:transform var(--q-linear-progress-speed)}.q-linear-progress--reverse .q-linear-progress__model,.q-linear-progress--reverse .q-linear-progress__track{transform-origin:0 100%}.q-linear-progress__model--determinate{background:currentColor}.q-linear-progress__model--indeterminate,.q-linear-progress__model--query{transition:none}.q-linear-progress__model--indeterminate:after,.q-linear-progress__model--indeterminate:before,.q-linear-progress__model--query:after,.q-linear-progress__model--query:before{background:currentColor;content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0}.q-linear-progress__model--indeterminate:before,.q-linear-progress__model--query:before{animation:q-linear-progress--indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.q-linear-progress__model--indeterminate:after,.q-linear-progress__model--query:after{transform:translate3d(-101%,0,0) scaleX(1);animation:q-linear-progress--indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}.q-linear-progress__track{opacity:.4}.q-linear-progress__track--light{background:rgba(0,0,0,.26)}.q-linear-progress__track--dark{background:hsla(0,0%,100%,.6)}.q-linear-progress__stripe{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,0) 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,0))!important;background-size:40px 40px!important}.q-linear-progress__stripe--with-transition{transition:width var(--q-linear-progress-speed)}@keyframes q-linear-progress--indeterminate{0%{transform:translate3d(-35%,0,0) scaleX(.35)}60%{transform:translate3d(100%,0,0) scaleX(.9)}to{transform:translate3d(100%,0,0) scaleX(.9)}}@keyframes q-linear-progress--indeterminate-short{0%{transform:translate3d(-101%,0,0) scaleX(1)}60%{transform:translate3d(107%,0,0) scaleX(.01)}to{transform:translate3d(107%,0,0) scaleX(.01)}}.q-menu{position:fixed!important;display:inline-block;max-width:95vw;box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);background:#fff;border-radius:4px;overflow-y:auto;overflow-x:hidden;outline:0;max-height:65vh;z-index:6000}.q-menu--square{border-radius:0}.q-menu--dark{box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}.q-option-group--inline>div{display:inline-block}.q-pagination input{text-align:center;-moz-appearance:textfield}.q-pagination input::-webkit-inner-spin-button,.q-pagination input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.q-pagination__content{--q-pagination-gutter-parent:-2px;--q-pagination-gutter-child:2px;margin-top:var(--q-pagination-gutter-parent);margin-left:var(--q-pagination-gutter-parent)}.q-pagination__content>.q-btn,.q-pagination__content>.q-input,.q-pagination__middle>.q-btn{margin-top:var(--q-pagination-gutter-child);margin-left:var(--q-pagination-gutter-child)}.q-parallax{position:relative;width:100%;overflow:hidden;border-radius:inherit}.q-parallax__media>img,.q-parallax__media>video{position:absolute;left:50%;bottom:0;min-width:100%;min-height:100%;will-change:transform;display:none}.q-popup-edit{padding:8px 16px}.q-popup-edit__buttons{margin-top:8px}.q-popup-edit__buttons .q-btn+.q-btn{margin-left:8px}.q-pull-to-refresh{position:relative}.q-pull-to-refresh__puller{border-radius:50%;width:40px;height:40px;color:var(--q-primary);background:#fff;box-shadow:0 0 4px 0 rgba(0,0,0,.3)}.q-pull-to-refresh__puller--animating{transition:transform .3s,opacity .3s}.q-radio{vertical-align:middle}.q-radio__native{width:1px;height:1px}.q-radio__bg,.q-radio__icon-container{-webkit-user-select:none;-moz-user-select:none;user-select:none}.q-radio__bg{top:25%;left:25%;width:50%;height:50%;-webkit-print-color-adjust:exact}.q-radio__bg path{fill:currentColor}.q-radio__icon{color:currentColor;font-size:.5em}.q-radio__check{transform-origin:50% 50%;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}.q-radio__inner{font-size:40px;width:1em;min-width:1em;height:1em;outline:0;border-radius:50%;color:rgba(0,0,0,.54)}.q-radio__inner--truthy{color:var(--q-primary)}.q-radio__inner--truthy .q-radio__check{transform:scaleX(1)}.q-radio.disabled{opacity:.75!important}.q-radio--dark .q-radio__inner{color:hsla(0,0%,100%,.7)}.q-radio--dark .q-radio__inner:before{opacity:.32!important}.q-radio--dark .q-radio__inner--truthy{color:var(--q-primary)}.q-radio--dense .q-radio__inner{width:.5em;min-width:.5em;height:.5em}.q-radio--dense .q-radio__bg{left:0;top:0;width:100%;height:100%}.q-radio--dense .q-radio__label{padding-left:.5em}.q-radio--dense.reverse .q-radio__label{padding-left:0;padding-right:.5em}body.desktop .q-radio:not(.disabled) .q-radio__inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}body.desktop .q-radio:not(.disabled):focus .q-radio__inner:before,body.desktop .q-radio:not(.disabled):hover .q-radio__inner:before{transform:scaleX(1)}body.desktop .q-radio--dense:not(.disabled):focus .q-radio__inner:before,body.desktop .q-radio--dense:not(.disabled):hover .q-radio__inner:before{transform:scale3d(1.5,1.5,1)}.q-rating{color:#ffeb3b;vertical-align:middle}.q-rating__icon-container{height:1em;outline:0}.q-rating__icon-container+.q-rating__icon-container{margin-left:2px}.q-rating__icon{color:currentColor;text-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);position:relative;opacity:.4;transition:transform .2s ease-in,opacity .2s ease-in}.q-rating__icon--hovered{transform:scale(1.3)}.q-rating__icon--active{opacity:1}.q-rating__icon--exselected{opacity:.7}.q-rating--no-dimming .q-rating__icon{opacity:1}.q-rating--editable .q-rating__icon-container{cursor:pointer}.q-responsive{position:relative;max-width:100%;max-height:100%}.q-responsive__filler{width:inherit;max-width:inherit;height:inherit;max-height:inherit}.q-responsive__content{border-radius:inherit}.q-responsive__content>*{width:100%!important;height:100%!important;max-height:100%!important;max-width:100%!important}.q-scrollarea{position:relative;contain:strict}.q-scrollarea__bar,.q-scrollarea__thumb{opacity:.2;transition:opacity .3s;will-change:opacity;cursor:grab}.q-scrollarea__bar--v,.q-scrollarea__thumb--v{right:0;width:10px}.q-scrollarea__bar--h,.q-scrollarea__thumb--h{bottom:0;height:10px}.q-scrollarea__bar--invisible,.q-scrollarea__thumb--invisible{opacity:0!important;pointer-events:none}.q-scrollarea__thumb{background:#000;border-radius:3px}.q-scrollarea__thumb:hover{opacity:.3}.q-scrollarea__thumb:active{opacity:.5}.q-scrollarea__content{min-height:100%;min-width:100%}.q-scrollarea--dark .q-scrollarea__thumb{background:#fff}.q-select--without-input .q-field__control{cursor:pointer}.q-select--with-input .q-field__control{cursor:text}.q-select .q-field__input{min-width:50px!important;cursor:text}.q-select .q-field__input--padding{padding-left:4px}.q-select__autocomplete-input,.q-select__focus-target{position:absolute;outline:0!important;width:1px;height:1px;padding:0;border:0;opacity:0}.q-select__dropdown-icon{cursor:pointer;transition:transform .28s}.q-select.q-field--readonly .q-field__control,.q-select.q-field--readonly .q-select__dropdown-icon{cursor:default}.q-select__dialog{width:90vw!important;max-width:90vw!important;max-height:calc(100vh - 70px)!important;background:#fff;display:flex;flex-direction:column}.q-select__dialog>.scroll{position:relative;background:inherit}body.mobile:not(.native-mobile) .q-select__dialog{max-height:calc(100vh - 108px)!important}body.platform-android.native-mobile .q-dialog__inner--top .q-select__dialog{max-height:calc(100vh - 24px)!important}body.platform-android:not(.native-mobile) .q-dialog__inner--top .q-select__dialog{max-height:calc(100vh - 80px)!important}body.platform-ios.native-mobile .q-dialog__inner--top>div{border-radius:4px}body.platform-ios.native-mobile .q-dialog__inner--top .q-select__dialog--focused{max-height:47vh!important}body.platform-ios:not(.native-mobile) .q-dialog__inner--top .q-select__dialog--focused{max-height:50vh!important}.q-separator{border:0;background:rgba(0,0,0,.12);margin:0;transition:background .3s,opacity .3s;flex-shrink:0}.q-separator--dark{background:hsla(0,0%,100%,.28)}.q-separator--horizontal{display:block;height:1px}.q-separator--horizontal-inset{margin-left:16px;margin-right:16px}.q-separator--horizontal-item-inset{margin-left:72px;margin-right:0}.q-separator--horizontal-item-thumbnail-inset{margin-left:116px;margin-right:0}.q-separator--vertical{width:1px;height:auto;align-self:stretch}.q-separator--vertical-inset{margin-top:8px;margin-bottom:8px}.q-skeleton{--q-skeleton-speed:1500ms;background:rgba(0,0,0,.12);border-radius:4px;box-sizing:border-box}.q-skeleton--anim{cursor:wait}.q-skeleton:before{content:" "}.q-skeleton--type-text{transform:scaleY(.5)}.q-skeleton--type-QAvatar,.q-skeleton--type-circle{height:48px;width:48px;border-radius:50%}.q-skeleton--type-QBtn{width:90px;height:36px}.q-skeleton--type-QBadge{width:70px;height:16px}.q-skeleton--type-QChip{width:90px;height:28px;border-radius:16px}.q-skeleton--type-QToolbar{height:50px}.q-skeleton--type-QCheckbox,.q-skeleton--type-QRadio{width:40px;height:40px;border-radius:50%}.q-skeleton--type-QToggle{width:56px;height:40px;border-radius:7px}.q-skeleton--type-QRange,.q-skeleton--type-QSlider{height:40px}.q-skeleton--type-QInput{height:56px}.q-skeleton--bordered{border:1px solid rgba(0,0,0,.05)}.q-skeleton--square{border-radius:0}.q-skeleton--anim-fade{animation:q-skeleton--fade var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--anim-pulse{animation:q-skeleton--pulse var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-pulse-x{animation:q-skeleton--pulse-x var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-pulse-y{animation:q-skeleton--pulse-y var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-blink,.q-skeleton--anim-pop,.q-skeleton--anim-wave{position:relative;overflow:hidden;z-index:1}.q-skeleton--anim-blink:after,.q-skeleton--anim-pop:after,.q-skeleton--anim-wave:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.q-skeleton--anim-blink:after{background:hsla(0,0%,100%,.7);animation:q-skeleton--fade var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--anim-wave:after{background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.5),hsla(0,0%,100%,0));animation:q-skeleton--wave var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--dark{background:hsla(0,0%,100%,.05)}.q-skeleton--dark.q-skeleton--bordered{border:1px solid hsla(0,0%,100%,.25)}.q-skeleton--dark.q-skeleton--anim-wave:after{background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.1),hsla(0,0%,100%,0))}.q-skeleton--dark.q-skeleton--anim-blink:after{background:hsla(0,0%,100%,.2)}@keyframes q-skeleton--fade{0%{opacity:1}50%{opacity:.4}to{opacity:1}}@keyframes q-skeleton--pulse{0%{transform:scale(1)}50%{transform:scale(.85)}to{transform:scale(1)}}@keyframes q-skeleton--pulse-x{0%{transform:scaleX(1)}50%{transform:scaleX(.75)}to{transform:scaleX(1)}}@keyframes q-skeleton--pulse-y{0%{transform:scaleY(1)}50%{transform:scaleY(.75)}to{transform:scaleY(1)}}@keyframes q-skeleton--wave{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.q-slide-item{position:relative;background:#fff}.q-slide-item__bottom,.q-slide-item__left,.q-slide-item__right,.q-slide-item__top{visibility:hidden;font-size:14px;color:#fff}.q-slide-item__bottom .q-icon,.q-slide-item__left .q-icon,.q-slide-item__right .q-icon,.q-slide-item__top .q-icon{font-size:1.714em}.q-slide-item__left{background:#4caf50;padding:8px 16px}.q-slide-item__left>div{transform-origin:left center}.q-slide-item__right{background:#ff9800;padding:8px 16px}.q-slide-item__right>div{transform-origin:right center}.q-slide-item__top{background:#2196f3;padding:16px 8px}.q-slide-item__top>div{transform-origin:top center}.q-slide-item__bottom{background:#9c27b0;padding:16px 8px}.q-slide-item__bottom>div{transform-origin:bottom center}.q-slide-item__content{background:inherit;transition:transform .2s ease-in;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}.q-slider{position:relative}.q-slider--h{width:100%}.q-slider--v{height:200px}.q-slider--editable .q-slider__track-container{cursor:grab}.q-slider__track-container{outline:0}.q-slider__track-container--h{width:100%;padding:12px 0}.q-slider__track-container--h .q-slider__selection{will-change:width,left}.q-slider__track-container--v{height:100%;padding:0 12px}.q-slider__track-container--v .q-slider__selection{will-change:height,top}.q-slider__track{color:var(--q-primary);background:rgba(0,0,0,.1);border-radius:4px;width:inherit;height:inherit}.q-slider__inner{background:rgba(0,0,0,.1)}.q-slider__inner,.q-slider__selection{border-radius:inherit;width:100%;height:100%}.q-slider__selection{background:currentColor}.q-slider__markers{color:rgba(0,0,0,.3);border-radius:inherit;width:100%;height:100%}.q-slider__markers:after{content:"";position:absolute;background:currentColor}.q-slider__markers--h{background-image:repeating-linear-gradient(90deg,currentColor,currentColor 2px,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,0))}.q-slider__markers--h:after{height:100%;width:2px;top:0;right:0}.q-slider__markers--v{background-image:repeating-linear-gradient(180deg,currentColor,currentColor 2px,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,0))}.q-slider__markers--v:after{width:100%;height:2px;left:0;bottom:0}.q-slider__marker-labels-container{position:relative;width:100%;height:100%;min-height:24px;min-width:24px}.q-slider__marker-labels{position:absolute}.q-slider__marker-labels--h-standard{top:0}.q-slider__marker-labels--h-switched{bottom:0}.q-slider__marker-labels--h-ltr{transform:translateX(-50%)}.q-slider__marker-labels--h-rtl{transform:translateX(50%)}.q-slider__marker-labels--v-standard{left:4px}.q-slider__marker-labels--v-switched{right:4px}.q-slider__marker-labels--v-ltr{transform:translateY(-50%)}.q-slider__marker-labels--v-rtl{transform:translateY(50%)}.q-slider__thumb{z-index:1;outline:0;color:var(--q-primary);transition:transform .18s ease-out,fill .18s ease-out,stroke .18s ease-out}.q-slider__thumb.q-slider--focus{opacity:1!important}.q-slider__thumb--h{top:50%;will-change:left}.q-slider__thumb--h-ltr{transform:scale(1) translate(-50%,-50%)}.q-slider__thumb--h-rtl{transform:scale(1) translate(50%,-50%)}.q-slider__thumb--v{left:50%;will-change:top}.q-slider__thumb--v-ltr{transform:scale(1) translate(-50%,-50%)}.q-slider__thumb--v-rtl{transform:scale(1) translate(-50%,50%)}.q-slider__thumb-shape{top:0;left:0;stroke-width:3.5;stroke:currentColor;transition:transform .28s}.q-slider__thumb-shape path{stroke:currentColor;fill:currentColor}.q-slider__focus-ring{border-radius:50%;opacity:0;transition:transform .26667s ease-out,opacity .26667s ease-out,background-color .26667s ease-out;transition-delay:.14s}.q-slider__pin{opacity:0;white-space:nowrap;transition:opacity .28s ease-out;transition-delay:.14s}.q-slider__pin:before{content:"";width:0;height:0;position:absolute}.q-slider__pin--h:before{border-left:6px solid transparent;border-right:6px solid transparent;left:50%;transform:translateX(-50%)}.q-slider__pin--h-standard{bottom:100%}.q-slider__pin--h-standard:before{bottom:2px;border-top:6px solid currentColor}.q-slider__pin--h-switched{top:100%}.q-slider__pin--h-switched:before{top:2px;border-bottom:6px solid currentColor}.q-slider__pin--v{top:0}.q-slider__pin--v:before{top:50%;transform:translateY(-50%);border-top:6px solid transparent;border-bottom:6px solid transparent}.q-slider__pin--v-standard{left:100%}.q-slider__pin--v-standard:before{left:2px;border-right:6px solid currentColor}.q-slider__pin--v-switched{right:100%}.q-slider__pin--v-switched:before{right:2px;border-left:6px solid currentColor}.q-slider__label{z-index:1;white-space:nowrap;position:absolute}.q-slider__label--h{left:50%;transform:translateX(-50%)}.q-slider__label--h-standard{bottom:7px}.q-slider__label--h-switched{top:7px}.q-slider__label--v{top:50%;transform:translateY(-50%)}.q-slider__label--v-standard{left:7px}.q-slider__label--v-switched{right:7px}.q-slider__text-container{min-height:25px;padding:2px 8px;border-radius:4px;background:currentColor;position:relative;text-align:center}.q-slider__text{color:#fff;font-size:12px}.q-slider--no-value .q-slider__inner,.q-slider--no-value .q-slider__selection,.q-slider--no-value .q-slider__thumb{opacity:0}.q-slider--focus .q-slider__focus-ring,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__focus-ring{background:currentColor;transform:scale3d(1.55,1.55,1);opacity:.25}.q-slider--focus .q-slider__inner,.q-slider--focus .q-slider__selection,.q-slider--focus .q-slider__thumb,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__inner,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__selection,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__thumb{opacity:1}.q-slider--inactive .q-slider__thumb--h{transition:left .28s,right .28s}.q-slider--inactive .q-slider__thumb--v{transition:top .28s,bottom .28s}.q-slider--inactive .q-slider__selection{transition:width .28s,left .28s,right .28s,height .28s,top .28s,bottom .28s}.q-slider--inactive .q-slider__text-container{transition:transform .28s}.q-slider--active{cursor:grabbing}.q-slider--active .q-slider__thumb-shape{transform:scale(1.5)}.q-slider--active .q-slider__focus-ring,.q-slider--active.q-slider--label .q-slider__thumb-shape{transform:scale(0)!important}.q-slider--label .q-slider--focus .q-slider__pin,.q-slider--label.q-slider--active .q-slider__pin,.q-slider--label.q-slider--label-always .q-slider__pin,body.desktop .q-slider.q-slider--enabled .q-slider__track-container:hover .q-slider__pin{opacity:1}.q-slider--dark .q-slider__inner,.q-slider--dark .q-slider__track{background:hsla(0,0%,100%,.1)}.q-slider--dark .q-slider__markers{color:hsla(0,0%,100%,.3)}.q-slider--dense .q-slider__track-container--h{padding:6px 0}.q-slider--dense .q-slider__track-container--v{padding:0 6px}.q-space{flex-grow:1!important}.q-spinner{vertical-align:middle}.q-spinner-mat{animation:q-spin 2s linear infinite;transform-origin:center center}.q-spinner-mat .path{stroke-dasharray:1,200;stroke-dashoffset:0;animation:q-mat-dash 1.5s ease-in-out infinite}@keyframes q-spin{0%{transform:rotate(0deg)}25%{transform:rotate(90deg)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg)}to{transform:rotate(359deg)}}@keyframes q-mat-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.q-splitter__panel{position:relative;z-index:0}.q-splitter__panel>.q-splitter{width:100%;height:100%}.q-splitter__separator{background-color:rgba(0,0,0,.12);-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;z-index:1}.q-splitter__separator-area>*{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.q-splitter--dark .q-splitter__separator{background-color:hsla(0,0%,100%,.28)}.q-splitter--vertical>.q-splitter__panel{height:100%}.q-splitter--vertical.q-splitter--active{cursor:col-resize}.q-splitter--vertical>.q-splitter__separator{width:1px}.q-splitter--vertical>.q-splitter__separator>div{left:-6px;right:-6px}.q-splitter--vertical.q-splitter--workable>.q-splitter__separator{cursor:col-resize}.q-splitter--horizontal>.q-splitter__panel{width:100%}.q-splitter--horizontal.q-splitter--active{cursor:row-resize}.q-splitter--horizontal>.q-splitter__separator{height:1px}.q-splitter--horizontal>.q-splitter__separator>div{top:-6px;bottom:-6px}.q-splitter--horizontal.q-splitter--workable>.q-splitter__separator{cursor:row-resize}.q-splitter__after,.q-splitter__before{overflow:auto}.q-stepper{box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);border-radius:4px;background:#fff}.q-stepper__title{font-size:14px;line-height:18px;letter-spacing:.1px}.q-stepper__caption{font-size:12px;line-height:14px}.q-stepper__dot{contain:layout;margin-right:8px;font-size:14px;width:24px;min-width:24px;height:24px;border-radius:50%;background:currentColor}.q-stepper__dot span{color:#fff}.q-stepper__tab{padding:8px 24px;font-size:14px;color:#9e9e9e;flex-direction:row}.q-stepper--dark{box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}.q-stepper--dark .q-stepper__dot span{color:#000}.q-stepper__tab--navigation{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}.q-stepper__tab--active,.q-stepper__tab--done{color:var(--q-primary)}.q-stepper__tab--active .q-stepper__dot,.q-stepper__tab--active .q-stepper__label,.q-stepper__tab--done .q-stepper__dot,.q-stepper__tab--done .q-stepper__label{text-shadow:0 0 0 currentColor}.q-stepper__tab--disabled .q-stepper__dot{background:rgba(0,0,0,.22)}.q-stepper__tab--disabled .q-stepper__label{color:rgba(0,0,0,.32)}.q-stepper__tab--error{color:var(--q-negative)}.q-stepper__tab--error-with-icon .q-stepper__dot{background:transparent!important}.q-stepper__tab--error-with-icon .q-stepper__dot span{color:currentColor;font-size:24px}.q-stepper__header{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-stepper__header--border{border-bottom:1px solid rgba(0,0,0,.12)}.q-stepper__header--standard-labels .q-stepper__tab{min-height:72px;justify-content:center}.q-stepper__header--standard-labels .q-stepper__tab:first-child{justify-content:flex-start}.q-stepper__header--standard-labels .q-stepper__tab:last-child{justify-content:flex-end}.q-stepper__header--standard-labels .q-stepper__tab:only-child{justify-content:center}.q-stepper__header--standard-labels .q-stepper__dot:after{display:none}.q-stepper__header--alternative-labels .q-stepper__tab{min-height:104px;padding:24px 32px;flex-direction:column;justify-content:flex-start}.q-stepper__header--alternative-labels .q-stepper__dot{margin-right:0}.q-stepper__header--alternative-labels .q-stepper__label{margin-top:8px;text-align:center}.q-stepper__header--alternative-labels .q-stepper__label:after,.q-stepper__header--alternative-labels .q-stepper__label:before{display:none}.q-stepper__header--contracted,.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab{min-height:72px}.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab:first-child{align-items:flex-start}.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab:last-child{align-items:flex-end}.q-stepper__header--contracted .q-stepper__tab{padding:24px 0}.q-stepper__header--contracted .q-stepper__tab:first-child .q-stepper__dot{transform:translateX(24px)}.q-stepper__header--contracted .q-stepper__tab:last-child .q-stepper__dot{transform:translateX(-24px)}.q-stepper__header--contracted .q-stepper__tab:not(:last-child) .q-stepper__dot:after{display:block!important}.q-stepper__header--contracted .q-stepper__dot{margin:0}.q-stepper__header--contracted .q-stepper__label{display:none}.q-stepper__nav{padding-top:24px}.q-stepper--flat{box-shadow:none}.q-stepper--bordered{border:1px solid rgba(0,0,0,.12)}.q-stepper--horizontal .q-stepper__step-inner{padding:24px}.q-stepper--horizontal .q-stepper__tab:first-child{border-top-left-radius:inherit}.q-stepper--horizontal .q-stepper__tab:last-child{border-top-right-radius:inherit}.q-stepper--horizontal .q-stepper__tab:first-child .q-stepper__dot:before,.q-stepper--horizontal .q-stepper__tab:last-child .q-stepper__dot:after,.q-stepper--horizontal .q-stepper__tab:last-child .q-stepper__label:after{display:none}.q-stepper--horizontal .q-stepper__tab{overflow:hidden}.q-stepper--horizontal .q-stepper__line{contain:layout}.q-stepper--horizontal .q-stepper__line:after,.q-stepper--horizontal .q-stepper__line:before{position:absolute;top:50%;height:1px;width:100vw;background:rgba(0,0,0,.12)}.q-stepper--horizontal .q-stepper__dot:after,.q-stepper--horizontal .q-stepper__label:after{content:"";left:100%;margin-left:8px}.q-stepper--horizontal .q-stepper__dot:before{content:"";right:100%;margin-right:8px}.q-stepper--horizontal>.q-stepper__nav{padding:0 24px 24px}.q-stepper--vertical{padding:16px 0}.q-stepper--vertical .q-stepper__tab{padding:12px 24px}.q-stepper--vertical .q-stepper__title{line-height:18px}.q-stepper--vertical .q-stepper__step-inner{padding:0 24px 32px 60px}.q-stepper--vertical>.q-stepper__nav{padding:24px 24px 0}.q-stepper--vertical .q-stepper__step{overflow:hidden}.q-stepper--vertical .q-stepper__dot{margin-right:12px}.q-stepper--vertical .q-stepper__dot:after,.q-stepper--vertical .q-stepper__dot:before{content:"";position:absolute;left:50%;width:1px;height:99999px;background:rgba(0,0,0,.12)}.q-stepper--vertical .q-stepper__dot:before{bottom:100%;margin-bottom:8px}.q-stepper--vertical .q-stepper__dot:after{top:100%;margin-top:8px}.q-stepper--vertical .q-stepper__step:first-child .q-stepper__dot:before,.q-stepper--vertical .q-stepper__step:last-child .q-stepper__dot:after{display:none}.q-stepper--vertical .q-stepper__step:last-child .q-stepper__step-inner{padding-bottom:8px}.q-stepper--dark .q-stepper__header--border,.q-stepper--dark.q-stepper--bordered{border-color:hsla(0,0%,100%,.28)}.q-stepper--dark.q-stepper--horizontal .q-stepper__line:after,.q-stepper--dark.q-stepper--horizontal .q-stepper__line:before,.q-stepper--dark.q-stepper--vertical .q-stepper__dot:after,.q-stepper--dark.q-stepper--vertical .q-stepper__dot:before{background:hsla(0,0%,100%,.28)}.q-stepper--dark .q-stepper__tab--disabled{color:hsla(0,0%,100%,.28)}.q-stepper--dark .q-stepper__tab--disabled .q-stepper__dot{background:hsla(0,0%,100%,.28)}.q-stepper--dark .q-stepper__tab--disabled .q-stepper__label{color:hsla(0,0%,100%,.54)}.q-tab-panels{background:#fff}.q-tab-panel{padding:16px}.q-markup-table{overflow:auto;background:#fff}.q-table{width:100%;max-width:100%;border-collapse:separate;border-spacing:0}.q-table tbody td,.q-table thead tr{height:48px}.q-table th{font-weight:500;font-size:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.q-table th.sortable{cursor:pointer}.q-table th.sortable:hover .q-table__sort-icon{opacity:.64}.q-table th.sorted .q-table__sort-icon{opacity:.86!important}.q-table th.sort-desc .q-table__sort-icon{transform:rotate(180deg)}.q-table td,.q-table th{padding:7px 16px;background-color:inherit}.q-table td,.q-table th,.q-table thead{border-style:solid;border-width:0}.q-table tbody td{font-size:13px}.q-table__card{color:#000;background-color:#fff;border-radius:4px;box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12)}.q-table__card .q-table__middle{flex:1 1 auto}.q-table__card .q-table__bottom,.q-table__card .q-table__top{flex:0 0 auto}.q-table__container{position:relative}.q-table__container>div:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-table__container>div:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.q-table__container>.q-inner-loading{border-radius:inherit!important}.q-table__top{padding:12px 16px}.q-table__top .q-table__control{flex-wrap:wrap}.q-table__title{font-size:20px;letter-spacing:.005em;font-weight:400}.q-table__separator{min-width:8px!important}.q-table__progress{height:0!important}.q-table__progress th{padding:0!important;border:0!important}.q-table__progress .q-linear-progress{position:absolute;bottom:0}.q-table__middle{max-width:100%}.q-table__bottom{min-height:50px;padding:4px 14px 4px 16px;font-size:12px}.q-table__bottom .q-table__control{min-height:24px}.q-table__bottom-nodata-icon{font-size:200%;margin-right:8px}.q-table__bottom-item{margin-right:16px}.q-table__control{display:flex;align-items:center}.q-table__sort-icon{transition:transform .3s cubic-bezier(.25,.8,.5,1);opacity:0;font-size:120%}.q-table__sort-icon--center,.q-table__sort-icon--left{margin-left:4px}.q-table__sort-icon--right{margin-right:4px}.q-table--col-auto-width{width:1px}.q-table--dark,.q-table__card--dark{box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}.q-table--flat{box-shadow:none}.q-table--bordered{border:1px solid rgba(0,0,0,.12)}.q-table--square{border-radius:0}.q-table__linear-progress{height:2px}.q-table--no-wrap td,.q-table--no-wrap th{white-space:nowrap}.q-table--grid{box-shadow:none;border-radius:4px}.q-table--grid .q-table__top{padding-bottom:4px}.q-table--grid .q-table__middle{min-height:2px;margin-bottom:4px}.q-table--grid .q-table__middle thead,.q-table--grid .q-table__middle thead th{border:0!important}.q-table--grid .q-table__linear-progress{bottom:0}.q-table--grid .q-table__bottom{border-top:0}.q-table--grid .q-table__grid-content{flex:1 1 auto}.q-table--grid.fullscreen{background:inherit}.q-table__grid-item-card{vertical-align:top;padding:12px}.q-table__grid-item-card .q-separator{margin:12px 0}.q-table__grid-item-row+.q-table__grid-item-row{margin-top:8px}.q-table__grid-item-title{opacity:.54;font-weight:500;font-size:12px}.q-table__grid-item-value{font-size:13px}.q-table__grid-item{padding:4px;transition:transform .3s cubic-bezier(.25,.8,.5,1)}.q-table__grid-item--selected{transform:scale(.95)}.q-table--cell-separator tbody tr:not(:last-child)>td,.q-table--cell-separator thead th,.q-table--horizontal-separator tbody tr:not(:last-child)>td,.q-table--horizontal-separator thead th{border-bottom-width:1px}.q-table--cell-separator td,.q-table--cell-separator th,.q-table--vertical-separator td,.q-table--vertical-separator th{border-left-width:1px}.q-table--cell-separator thead tr:last-child th,.q-table--cell-separator.q-table--loading tr:nth-last-child(2) th,.q-table--vertical-separator thead tr:last-child th,.q-table--vertical-separator.q-table--loading tr:nth-last-child(2) th{border-bottom-width:1px}.q-table--cell-separator td:first-child,.q-table--cell-separator th:first-child,.q-table--vertical-separator td:first-child,.q-table--vertical-separator th:first-child{border-left:0}.q-table--cell-separator .q-table__top,.q-table--vertical-separator .q-table__top{border-bottom:1px solid rgba(0,0,0,.12)}.q-table--dense .q-table__top{padding:6px 16px}.q-table--dense .q-table__bottom{min-height:33px}.q-table--dense .q-table__sort-icon{font-size:110%}.q-table--dense .q-table td,.q-table--dense .q-table th{padding:4px 8px}.q-table--dense .q-table tbody td,.q-table--dense .q-table tbody tr,.q-table--dense .q-table thead tr{height:28px}.q-table--dense .q-table td:first-child,.q-table--dense .q-table th:first-child{padding-left:16px}.q-table--dense .q-table td:last-child,.q-table--dense .q-table th:last-child{padding-right:16px}.q-table--dense .q-table__bottom-item{margin-right:8px}.q-table--dense .q-table__select .q-field__control,.q-table--dense .q-table__select .q-field__native{min-height:24px;padding:0}.q-table--dense .q-table__select .q-field__marginal{height:24px}.q-table__bottom{border-top:1px solid rgba(0,0,0,.12)}.q-table td,.q-table th,.q-table thead,.q-table tr{border-color:rgba(0,0,0,.12)}.q-table tbody td{position:relative}.q-table tbody td:after,.q-table tbody td:before{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.q-table tbody td:before{background:rgba(0,0,0,.03)}.q-table tbody td:after{background:rgba(0,0,0,.06)}.q-table tbody tr.selected td:after,body.desktop .q-table>tbody>tr:not(.q-tr--no-hover):hover>td:not(.q-td--no-hover):before{content:""}.q-table--dark,.q-table--dark .q-table__bottom,.q-table--dark td,.q-table--dark th,.q-table--dark thead,.q-table--dark tr,.q-table__card--dark{border-color:hsla(0,0%,100%,.28)}.q-table--dark tbody td:before{background:hsla(0,0%,100%,.07)}.q-table--dark tbody td:after{background:hsla(0,0%,100%,.1)}.q-table--dark.q-table--cell-separator .q-table__top,.q-table--dark.q-table--vertical-separator .q-table__top{border-color:hsla(0,0%,100%,.28)}.q-tab{padding:0 16px;min-height:48px;transition:color .3s,background-color .3s;text-transform:uppercase;white-space:nowrap;color:inherit;text-decoration:none}.q-tab--full{min-height:72px}.q-tab--no-caps{text-transform:none}.q-tab__content{height:inherit;padding:4px 0;min-width:40px}.q-tab__content--inline .q-tab__icon+.q-tab__label{padding-left:8px}.q-tab__content .q-chip--floating{top:0;right:-16px}.q-tab__icon{width:24px;height:24px;font-size:24px}.q-tab__label{font-size:14px;line-height:1.715em;font-weight:500}.q-tab .q-badge{top:3px;right:-12px}.q-tab__alert,.q-tab__alert-icon{position:absolute}.q-tab__alert{top:7px;right:-9px;height:10px;width:10px;border-radius:50%;background:currentColor}.q-tab__alert-icon{top:2px;right:-12px;font-size:18px}.q-tab__indicator{opacity:0;height:2px;background:currentColor}.q-tab--active .q-tab__indicator{opacity:1;transform-origin:left}.q-tab--inactive{opacity:.85}.q-tabs{position:relative;transition:color .3s,background-color .3s}.q-tabs--scrollable.q-tabs__arrows--outside.q-tabs--horizontal{padding-left:36px;padding-right:36px}.q-tabs--scrollable.q-tabs__arrows--outside.q-tabs--vertical{padding-top:36px;padding-bottom:36px}.q-tabs--scrollable.q-tabs__arrows--outside .q-tabs__arrow--faded{opacity:.3;pointer-events:none}.q-tabs--scrollable.q-tabs__arrows--inside .q-tabs__arrow--faded{display:none}.q-tabs--not-scrollable.q-tabs__arrows--outside,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows.q-tabs__arrows--outside{padding-left:0;padding-right:0}.q-tabs--not-scrollable .q-tabs__arrow,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows .q-tabs__arrow{display:none}.q-tabs--not-scrollable .q-tabs__content,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows .q-tabs__content{border-radius:inherit}.q-tabs__arrow{cursor:pointer;font-size:32px;min-width:36px;text-shadow:0 0 3px #fff,0 0 1px #fff,0 0 1px #000;transition:opacity .3s}.q-tabs__content{overflow:hidden;flex:1 1 auto}.q-tabs__content--align-center{justify-content:center}.q-tabs__content--align-right{justify-content:flex-end}.q-tabs__content--align-justify .q-tab{flex:1 1 auto}.q-tabs__offset{display:none}.q-tabs--horizontal .q-tabs__arrow{height:100%}.q-tabs--horizontal .q-tabs__arrow--left{top:0;left:0;bottom:0}.q-tabs--horizontal .q-tabs__arrow--right{top:0;right:0;bottom:0}.q-tabs--vertical,.q-tabs--vertical .q-tabs__content{display:block!important;height:100%}.q-tabs--vertical .q-tabs__arrow{width:100%;height:36px;text-align:center}.q-tabs--vertical .q-tabs__arrow--left{top:0;left:0;right:0}.q-tabs--vertical .q-tabs__arrow--right{left:0;right:0;bottom:0}.q-tabs--vertical .q-tab{padding:0 8px}.q-tabs--vertical .q-tab__indicator{height:unset;width:2px}.q-tabs--vertical.q-tabs--not-scrollable .q-tabs__content{height:100%}.q-tabs--vertical.q-tabs--dense .q-tab__content{min-width:24px}.q-tabs--dense .q-tab{min-height:36px}.q-tabs--dense .q-tab--full{min-height:52px}.q-time{box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);border-radius:4px;background:#fff;outline:0;width:290px;min-width:290px;max-width:100%}.q-time--bordered{border:1px solid rgba(0,0,0,.12)}.q-time__header{border-top-left-radius:inherit;color:#fff;background-color:var(--q-primary);padding:16px;font-weight:300}.q-time__actions{padding:0 16px 16px}.q-time__header-label{font-size:28px;line-height:1;letter-spacing:-.00833em}.q-time__header-label>div+div{margin-left:4px}.q-time__link{opacity:.56;outline:0;transition:opacity .3s ease-out}.q-time__link--active,.q-time__link:focus,.q-time__link:hover{opacity:1}.q-time__header-ampm{font-size:16px;letter-spacing:.1em}.q-time__content{padding:16px}.q-time__content:before{content:"";display:block;padding-bottom:100%}.q-time__container-parent{padding:16px}.q-time__container-child{border-radius:50%;background:rgba(0,0,0,.12)}.q-time__clock{padding:24px;width:100%;height:100%;max-width:100%;max-height:100%;font-size:14px}.q-time__clock-circle{position:relative}.q-time__clock-center{height:6px;width:6px;margin:auto;border-radius:50%;min-height:0;background:currentColor}.q-time__clock-pointer{width:2px;height:50%;transform-origin:0 0;min-height:0;position:absolute;left:50%;right:0;bottom:0;color:var(--q-primary);background:currentColor;transform:translateX(-50%)}.q-time__clock-pointer:after,.q-time__clock-pointer:before{content:"";position:absolute;left:50%;border-radius:50%;background:currentColor;transform:translateX(-50%)}.q-time__clock-pointer:before{bottom:-4px;width:8px;height:8px}.q-time__clock-pointer:after{top:-3px;height:6px;width:6px}.q-time__clock-position{position:absolute;min-height:32px;width:32px;height:32px;font-size:12px;line-height:32px;margin:0;padding:0;transform:translate(-50%,-50%);border-radius:50%}.q-time__clock-position--disable{opacity:.4}.q-time__clock-position--active{background-color:var(--q-primary);color:#fff}.q-time__clock-pos-0{top:0;left:50%}.q-time__clock-pos-1{top:6.7%;left:75%}.q-time__clock-pos-2{top:25%;left:93.3%}.q-time__clock-pos-3{top:50%;left:100%}.q-time__clock-pos-4{top:75%;left:93.3%}.q-time__clock-pos-5{top:93.3%;left:75%}.q-time__clock-pos-6{top:100%;left:50%}.q-time__clock-pos-7{top:93.3%;left:25%}.q-time__clock-pos-8{top:75%;left:6.7%}.q-time__clock-pos-9{top:50%;left:0}.q-time__clock-pos-10{top:25%;left:6.7%}.q-time__clock-pos-11{top:6.7%;left:25%}.q-time__clock-pos-12{top:15%;left:50%}.q-time__clock-pos-13{top:19.69%;left:67.5%}.q-time__clock-pos-14{top:32.5%;left:80.31%}.q-time__clock-pos-15{top:50%;left:85%}.q-time__clock-pos-16{top:67.5%;left:80.31%}.q-time__clock-pos-17{top:80.31%;left:67.5%}.q-time__clock-pos-18{top:85%;left:50%}.q-time__clock-pos-19{top:80.31%;left:32.5%}.q-time__clock-pos-20{top:67.5%;left:19.69%}.q-time__clock-pos-21{top:50%;left:15%}.q-time__clock-pos-22{top:32.5%;left:19.69%}.q-time__clock-pos-23{top:19.69%;left:32.5%}.q-time__now-button{background-color:var(--q-primary);color:#fff;top:12px;right:12px}.q-time--readonly .q-time__content,.q-time--readonly .q-time__header-ampm,.q-time.disabled .q-time__content,.q-time.disabled .q-time__header-ampm{pointer-events:none}.q-time--portrait{display:inline-flex;flex-direction:column}.q-time--portrait .q-time__header{border-top-right-radius:inherit;min-height:86px}.q-time--portrait .q-time__header-ampm{margin-left:12px}.q-time--portrait.q-time--bordered .q-time__content{margin:1px 0}.q-time--landscape{display:inline-flex;align-items:stretch;min-width:420px}.q-time--landscape>div{display:flex;flex-direction:column;justify-content:center}.q-time--landscape .q-time__header{border-bottom-left-radius:inherit;min-width:156px}.q-time--landscape .q-time__header-ampm{margin-top:12px}.q-time--dark{border-color:hsla(0,0%,100%,.28);box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}.q-timeline{padding:0;width:100%;list-style:none}.q-timeline h6{line-height:inherit}.q-timeline--dark{color:#fff}.q-timeline--dark .q-timeline__subtitle{opacity:.7}.q-timeline__content{padding-bottom:24px}.q-timeline__title{margin-top:0;margin-bottom:16px}.q-timeline__subtitle{font-size:12px;margin-bottom:8px;opacity:.6;text-transform:uppercase;letter-spacing:1px;font-weight:700}.q-timeline__dot{position:absolute;top:0;bottom:0;width:15px}.q-timeline__dot:after,.q-timeline__dot:before{content:"";background:currentColor;display:block;position:absolute}.q-timeline__dot:before{border:3px solid transparent;border-radius:100%;height:15px;width:15px;top:4px;left:0;transition:background .3s ease-in-out,border .3s ease-in-out}.q-timeline__dot:after{width:3px;opacity:.4;top:24px;bottom:0;left:6px}.q-timeline__dot .q-icon{position:absolute;top:0;left:0;right:0;font-size:16px;height:38px;line-height:38px;width:100%;color:#fff}.q-timeline__dot .q-icon>img,.q-timeline__dot .q-icon>svg{width:1em;height:1em}.q-timeline__dot-img{position:absolute;top:4px;left:0;right:0;height:31px;width:31px;background:currentColor;border-radius:50%}.q-timeline__heading{position:relative}.q-timeline__heading:first-child .q-timeline__heading-title{padding-top:0}.q-timeline__heading:last-child .q-timeline__heading-title{padding-bottom:0}.q-timeline__heading-title{padding:32px 0;margin:0}.q-timeline__entry{position:relative;line-height:22px}.q-timeline__entry:last-child{padding-bottom:0!important}.q-timeline__entry:last-child .q-timeline__dot:after{content:none}.q-timeline__entry--icon .q-timeline__dot{width:31px}.q-timeline__entry--icon .q-timeline__dot:before{height:31px;width:31px}.q-timeline__entry--icon .q-timeline__dot:after{top:41px;left:14px}.q-timeline__entry--icon .q-timeline__subtitle{padding-top:8px}.q-timeline--dense--right .q-timeline__entry{padding-left:40px}.q-timeline--dense--right .q-timeline__entry--icon .q-timeline__dot{left:-8px}.q-timeline--dense--right .q-timeline__dot{left:0}.q-timeline--dense--left .q-timeline__heading{text-align:right}.q-timeline--dense--left .q-timeline__entry{padding-right:40px}.q-timeline--dense--left .q-timeline__entry--icon .q-timeline__dot{right:-8px}.q-timeline--dense--left .q-timeline__content,.q-timeline--dense--left .q-timeline__subtitle,.q-timeline--dense--left .q-timeline__title{text-align:right}.q-timeline--dense--left .q-timeline__dot{right:0}.q-timeline--comfortable{display:table}.q-timeline--comfortable .q-timeline__heading{display:table-row;font-size:200%}.q-timeline--comfortable .q-timeline__heading>div{display:table-cell}.q-timeline--comfortable .q-timeline__entry{display:table-row;padding:0}.q-timeline--comfortable .q-timeline__entry--icon .q-timeline__content{padding-top:8px}.q-timeline--comfortable .q-timeline__content,.q-timeline--comfortable .q-timeline__dot,.q-timeline--comfortable .q-timeline__subtitle{display:table-cell;vertical-align:top}.q-timeline--comfortable .q-timeline__subtitle{width:35%}.q-timeline--comfortable .q-timeline__dot{position:relative;min-width:31px}.q-timeline--comfortable--right .q-timeline__heading .q-timeline__heading-title{margin-left:-50px}.q-timeline--comfortable--right .q-timeline__subtitle{text-align:right;padding-right:30px}.q-timeline--comfortable--right .q-timeline__content{padding-left:30px}.q-timeline--comfortable--right .q-timeline__entry--icon .q-timeline__dot{left:-8px}.q-timeline--comfortable--left .q-timeline__heading{text-align:right}.q-timeline--comfortable--left .q-timeline__heading .q-timeline__heading-title{margin-right:-50px}.q-timeline--comfortable--left .q-timeline__subtitle{padding-left:30px}.q-timeline--comfortable--left .q-timeline__content{padding-right:30px}.q-timeline--comfortable--left .q-timeline__content,.q-timeline--comfortable--left .q-timeline__title{text-align:right}.q-timeline--comfortable--left .q-timeline__entry--icon .q-timeline__dot{right:0}.q-timeline--comfortable--left .q-timeline__dot{right:-8px}.q-timeline--loose .q-timeline__heading-title{text-align:center;margin-left:0}.q-timeline--loose .q-timeline__content,.q-timeline--loose .q-timeline__dot,.q-timeline--loose .q-timeline__entry,.q-timeline--loose .q-timeline__subtitle{display:block;margin:0;padding:0}.q-timeline--loose .q-timeline__dot{position:absolute;left:50%;margin-left:-7.15px}.q-timeline--loose .q-timeline__entry{padding-bottom:24px;overflow:hidden}.q-timeline--loose .q-timeline__entry--icon .q-timeline__dot{margin-left:-15px}.q-timeline--loose .q-timeline__entry--icon .q-timeline__subtitle{line-height:38px}.q-timeline--loose .q-timeline__entry--icon .q-timeline__content{padding-top:8px}.q-timeline--loose .q-timeline__entry--left .q-timeline__content,.q-timeline--loose .q-timeline__entry--right .q-timeline__subtitle{float:left;padding-right:30px;text-align:right}.q-timeline--loose .q-timeline__entry--left .q-timeline__subtitle,.q-timeline--loose .q-timeline__entry--right .q-timeline__content{float:right;text-align:left;padding-left:30px}.q-timeline--loose .q-timeline__content,.q-timeline--loose .q-timeline__subtitle{width:50%}.q-toggle{vertical-align:middle}.q-toggle__native{width:1px;height:1px}.q-toggle__track{height:.35em;border-radius:.175em;opacity:.38;background:currentColor}.q-toggle__thumb{top:.25em;left:.25em;width:.5em;height:.5em;transition:left .22s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0}.q-toggle__thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#fff;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.q-toggle__thumb .q-icon{font-size:.3em;min-width:1em;color:#000;opacity:.54;z-index:1}.q-toggle__inner{font-size:40px;width:1.4em;min-width:1.4em;height:1em;padding:.325em .3em;-webkit-print-color-adjust:exact}.q-toggle__inner--indet .q-toggle__thumb{left:.45em}.q-toggle__inner--truthy{color:var(--q-primary)}.q-toggle__inner--truthy .q-toggle__track{opacity:.54}.q-toggle__inner--truthy .q-toggle__thumb{left:.65em}.q-toggle__inner--truthy .q-toggle__thumb:after{background-color:currentColor}.q-toggle__inner--truthy .q-toggle__thumb .q-icon{color:#fff;opacity:1}.q-toggle.disabled{opacity:.75!important}.q-toggle--dark .q-toggle__inner{color:#fff}.q-toggle--dark .q-toggle__inner--truthy{color:var(--q-primary)}.q-toggle--dark .q-toggle__thumb:after{box-shadow:none}.q-toggle--dark .q-toggle__thumb:before{opacity:.32!important}.q-toggle--dense .q-toggle__inner{width:.8em;min-width:.8em;height:.5em;padding:.07625em 0}.q-toggle--dense .q-toggle__thumb{top:0;left:0}.q-toggle--dense .q-toggle__inner--indet .q-toggle__thumb{left:.15em}.q-toggle--dense .q-toggle__inner--truthy .q-toggle__thumb{left:.3em}.q-toggle--dense .q-toggle__label{padding-left:.5em}.q-toggle--dense.reverse .q-toggle__label{padding-left:0;padding-right:.5em}body.desktop .q-toggle:not(.disabled) .q-toggle__thumb:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1)}body.desktop .q-toggle:not(.disabled):focus .q-toggle__thumb:before,body.desktop .q-toggle:not(.disabled):hover .q-toggle__thumb:before{transform:scale3d(2,2,1)}body.desktop .q-toggle--dense:not(.disabled):focus .q-toggle__thumb:before,body.desktop .q-toggle--dense:not(.disabled):hover .q-toggle__thumb:before{transform:scale3d(1.5,1.5,1)}.q-toolbar{position:relative;padding:0 12px;min-height:50px;width:100%}.q-toolbar--inset{padding-left:58px}.q-toolbar .q-avatar{font-size:38px}.q-toolbar__title{flex:1 1 0%;min-width:1px;max-width:100%;font-size:21px;font-weight:400;letter-spacing:.01em;padding:0 12px}.q-toolbar__title:first-child{padding-left:0}.q-toolbar__title:last-child{padding-right:0}.q-tooltip--style{font-size:10px;color:#fafafa;background:#757575;border-radius:4px;text-transform:none;font-weight:400}.q-tooltip{z-index:9000;position:fixed!important;overflow-y:auto;overflow-x:hidden;padding:6px 10px}@media(max-width:599.98px){.q-tooltip{font-size:14px;padding:8px 16px}}.q-tree{position:relative;color:#9e9e9e}.q-tree__node{padding:0 0 3px 22px}.q-tree__node:after{content:"";position:absolute;top:-3px;bottom:0;width:2px;right:auto;left:-13px;border-left:1px solid currentColor}.q-tree__node:last-child:after{display:none}.q-tree__node--disabled{pointer-events:none}.q-tree__node--disabled .disabled{opacity:1!important}.q-tree__node--disabled>.disabled,.q-tree__node--disabled>div,.q-tree__node--disabled>i{opacity:.6!important}.q-tree__node--disabled>.disabled .q-tree__node--disabled>.disabled,.q-tree__node--disabled>.disabled .q-tree__node--disabled>div,.q-tree__node--disabled>.disabled .q-tree__node--disabled>i,.q-tree__node--disabled>div .q-tree__node--disabled>.disabled,.q-tree__node--disabled>div .q-tree__node--disabled>div,.q-tree__node--disabled>div .q-tree__node--disabled>i,.q-tree__node--disabled>i .q-tree__node--disabled>.disabled,.q-tree__node--disabled>i .q-tree__node--disabled>div,.q-tree__node--disabled>i .q-tree__node--disabled>i{opacity:1!important}.q-tree__node-header:before{content:"";position:absolute;top:-3px;bottom:50%;width:31px;left:-35px;border-left:1px solid currentColor;border-bottom:1px solid currentColor}.q-tree__children{padding-left:25px}.q-tree__node-body{padding:5px 0 8px 5px}.q-tree__node--parent{padding-left:2px}.q-tree__node--parent>.q-tree__node-header:before{width:15px;left:-15px}.q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body{padding:5px 0 8px 27px}.q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body:after{content:"";position:absolute;top:0;width:2px;height:100%;right:auto;left:12px;border-left:1px solid currentColor;bottom:50px}.q-tree__node--link{cursor:pointer}.q-tree__node-header{padding:4px;margin-top:3px;border-radius:4px;outline:0}.q-tree__node-header-content{color:#000;transition:color .3s}.q-tree__node--selected .q-tree__node-header-content{color:#9e9e9e}.q-tree__icon,.q-tree__node-header-content .q-icon{font-size:21px}.q-tree__img{height:42px;border-radius:2px}.q-tree__avatar,.q-tree__node-header-content .q-avatar{font-size:28px;border-radius:50%;width:28px;height:28px}.q-tree__arrow,.q-tree__spinner{font-size:16px;margin-right:4px}.q-tree__arrow{transition:transform .3s}.q-tree__arrow--rotate{transform:rotate(90deg)}.q-tree__tickbox{margin-right:4px}.q-tree>.q-tree__node{padding:0}.q-tree>.q-tree__node:after,.q-tree>.q-tree__node>.q-tree__node-header:before{display:none}.q-tree>.q-tree__node--child>.q-tree__node-header{padding-left:24px}.q-tree--dark .q-tree__node-header-content{color:#fff}.q-tree--no-connectors .q-tree__node-body:after,.q-tree--no-connectors .q-tree__node-header:before,.q-tree--no-connectors .q-tree__node:after{display:none!important}.q-tree--dense>.q-tree__node--child>.q-tree__node-header{padding-left:1px}.q-tree--dense .q-tree__arrow,.q-tree--dense .q-tree__spinner{margin-right:1px}.q-tree--dense .q-tree__img{height:32px}.q-tree--dense .q-tree__tickbox{margin-right:3px}.q-tree--dense .q-tree__node{padding:0}.q-tree--dense .q-tree__node:after{top:0;left:-8px}.q-tree--dense .q-tree__node-header{margin-top:0;padding:1px}.q-tree--dense .q-tree__node-header:before{top:0;left:-8px;width:8px}.q-tree--dense .q-tree__node--child{padding-left:17px}.q-tree--dense .q-tree__node--child>.q-tree__node-header:before{left:-25px;width:21px}.q-tree--dense .q-tree__node-body{padding:0 0 2px}.q-tree--dense .q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body{padding:0 0 2px 20px}.q-tree--dense .q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body:after{left:8px}.q-tree--dense .q-tree__children{padding-left:16px}[dir=rtl] .q-tree__arrow{transform:rotate(180deg)}[dir=rtl] .q-tree__arrow--rotate{transform:rotate(90deg)}.q-uploader{box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);border-radius:4px;vertical-align:top;background:#fff;position:relative;width:320px;max-height:320px}.q-uploader--bordered{border:1px solid rgba(0,0,0,.12)}.q-uploader__input{opacity:0;width:100%;height:100%;cursor:pointer!important;z-index:1}.q-uploader__input::-webkit-file-upload-button{cursor:pointer}.q-uploader__file:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:currentColor;opacity:.04}.q-uploader__file:before,.q-uploader__header{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-uploader__header{position:relative;background-color:var(--q-primary);color:#fff;width:100%}.q-uploader__spinner{font-size:24px;margin-right:4px}.q-uploader__header-content{padding:8px}.q-uploader__dnd{outline:1px dashed currentColor;outline-offset:-4px;background:hsla(0,0%,100%,.6)}.q-uploader__overlay{font-size:36px;color:#000;background-color:hsla(0,0%,100%,.6)}.q-uploader__list{position:relative;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;padding:8px;min-height:60px;flex:1 1 auto}.q-uploader__file{border-radius:4px 4px 0 0;border:1px solid rgba(0,0,0,.12)}.q-uploader__file .q-circular-progress{font-size:24px}.q-uploader__file--img{color:#fff;height:200px;min-width:200px;background-position:50% 50%;background-size:cover;background-repeat:no-repeat}.q-uploader__file--img:before{content:none}.q-uploader__file--img .q-circular-progress{color:#fff}.q-uploader__file--img .q-uploader__file-header{padding-bottom:24px;background:linear-gradient(180deg,rgba(0,0,0,.7) 20%,hsla(0,0%,100%,0))}.q-uploader__file+.q-uploader__file{margin-top:8px}.q-uploader__file-header{position:relative;padding:4px 8px;border-top-left-radius:inherit;border-top-right-radius:inherit}.q-uploader__file-header-content{padding-right:8px}.q-uploader__file-status{font-size:24px;margin-right:4px}.q-uploader__title{font-size:14px;font-weight:700;line-height:18px;word-break:break-word}.q-uploader__subtitle{font-size:12px;line-height:18px}.q-uploader--disable .q-uploader__header,.q-uploader--disable .q-uploader__list{pointer-events:none}.q-uploader--dark{box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}.q-uploader--dark,.q-uploader--dark .q-uploader__file{border-color:hsla(0,0%,100%,.28)}.q-uploader--dark .q-uploader__dnd,.q-uploader--dark .q-uploader__overlay{background:hsla(0,0%,100%,.3)}.q-uploader--dark .q-uploader__overlay{color:#fff}.q-video{position:relative;overflow:hidden;border-radius:inherit}.q-video embed,.q-video iframe,.q-video object{width:100%;height:100%}.q-video--responsive{height:0}.q-video--responsive embed,.q-video--responsive iframe,.q-video--responsive object{position:absolute;top:0;left:0}.q-virtual-scroll:focus{outline:0}.q-virtual-scroll__content{outline:none;contain:content}.q-virtual-scroll__content>*{overflow-anchor:none}.q-virtual-scroll__content>[data-q-vs-anchor]{overflow-anchor:auto}.q-virtual-scroll__padding{background:linear-gradient(hsla(0,0%,100%,0),hsla(0,0%,100%,0) 20%,hsla(0,0%,50%,.03) 0,hsla(0,0%,50%,.08) 50%,hsla(0,0%,50%,.03) 80%,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,0));background-size:var(--q-virtual-scroll-item-width,100%) var(--q-virtual-scroll-item-height,50px)}.q-table .q-virtual-scroll__padding tr{height:0!important}.q-table .q-virtual-scroll__padding td{padding:0!important}.q-virtual-scroll--horizontal{align-items:stretch}.q-virtual-scroll--horizontal,.q-virtual-scroll--horizontal .q-virtual-scroll__content{display:flex;flex-direction:row;flex-wrap:nowrap}.q-virtual-scroll--horizontal .q-virtual-scroll__content,.q-virtual-scroll--horizontal .q-virtual-scroll__content>*,.q-virtual-scroll--horizontal .q-virtual-scroll__padding{flex:0 0 auto}.q-virtual-scroll--horizontal .q-virtual-scroll__padding{background:linear-gradient(270deg,hsla(0,0%,100%,0),hsla(0,0%,100%,0) 20%,hsla(0,0%,50%,.03) 0,hsla(0,0%,50%,.08) 50%,hsla(0,0%,50%,.03) 80%,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,0));background-size:var(--q-virtual-scroll-item-width,50px) var(--q-virtual-scroll-item-height,100%)}.q-ripple{width:100%;height:100%;border-radius:inherit;z-index:0;overflow:hidden;contain:strict}.q-ripple,.q-ripple__inner{position:absolute;top:0;left:0;color:inherit;pointer-events:none}.q-ripple__inner{opacity:0;border-radius:50%;background:currentColor;will-change:transform,opacity}.q-ripple__inner--enter{transition:transform .225s cubic-bezier(.4,0,.2,1),opacity .1s cubic-bezier(.4,0,.2,1)}.q-ripple__inner--leave{transition:opacity .25s cubic-bezier(.4,0,.2,1)}.q-morph--internal,.q-morph--invisible{opacity:0!important;pointer-events:none!important;position:fixed!important;right:200vw!important;bottom:200vh!important}.q-loading{color:#000;position:fixed!important}.q-loading__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;opacity:.5;z-index:-1;background-color:#000;transition:background-color .28s}.q-loading__box{border-radius:4px;padding:18px;color:#fff;max-width:450px}.q-loading__message{margin:40px 20px 0;text-align:center}.q-notifications__list{z-index:9500;pointer-events:none;left:0;right:0;margin-bottom:10px;position:relative}.q-notifications__list--center{top:0;bottom:0}.q-notifications__list--top{top:0}.q-notifications__list--bottom{bottom:0}body.q-ios-padding .q-notifications__list--center,body.q-ios-padding .q-notifications__list--top{top:20px;top:env(safe-area-inset-top)}body.q-ios-padding .q-notifications__list--bottom,body.q-ios-padding .q-notifications__list--center{bottom:env(safe-area-inset-bottom)}.q-notification{box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12);border-radius:4px;pointer-events:all;display:inline-flex;margin:10px 10px 0;transition:transform 1s,opacity 1s;z-index:9500;flex-shrink:0;max-width:95vw;background:#323232;color:#fff;font-size:14px}.q-notification__icon{font-size:24px;flex:0 0 1em}.q-notification__icon--additional{margin-right:16px}.q-notification__avatar{font-size:32px}.q-notification__avatar--additional{margin-right:8px}.q-notification__spinner{font-size:32px}.q-notification__spinner--additional{margin-right:8px}.q-notification__message{padding:8px 0}.q-notification__caption{font-size:.9em;opacity:.7}.q-notification__actions{color:var(--q-primary)}.q-notification__badge{animation:q-notif-badge .42s;padding:4px 8px;position:absolute;box-shadow:0 1px 3px rgba(0,0,0,.2),0 1px 1px rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);background-color:var(--q-negative);color:#fff;border-radius:4px;font-size:12px;line-height:12px}.q-notification__badge--top-left,.q-notification__badge--top-right{top:-6px}.q-notification__badge--bottom-left,.q-notification__badge--bottom-right{bottom:-6px}.q-notification__badge--bottom-left,.q-notification__badge--top-left{left:-22px}.q-notification__badge--bottom-right,.q-notification__badge--top-right{right:-22px}.q-notification__progress{z-index:-1;position:absolute;height:3px;bottom:0;left:-10px;right:-10px;animation:q-notif-progress linear;background:currentColor;opacity:.3;border-radius:4px 4px 0 0;transform-origin:0 50%;transform:scaleX(0)}.q-notification--standard{padding:0 16px;min-height:48px}.q-notification--standard .q-notification__actions{padding:6px 0 6px 8px;margin-right:-8px}.q-notification--multi-line{min-height:68px;padding:8px 16px}.q-notification--multi-line .q-notification__badge--top-left,.q-notification--multi-line .q-notification__badge--top-right{top:-15px}.q-notification--multi-line .q-notification__badge--bottom-left,.q-notification--multi-line .q-notification__badge--bottom-right{bottom:-15px}.q-notification--multi-line .q-notification__progress{bottom:-8px}.q-notification--multi-line .q-notification__actions{padding:0}.q-notification--multi-line .q-notification__actions--with-media{padding-left:25px}.q-notification--top-enter-from,.q-notification--top-leave-to,.q-notification--top-left-enter-from,.q-notification--top-left-leave-to,.q-notification--top-right-enter-from,.q-notification--top-right-leave-to{opacity:0;transform:translateY(-50px);z-index:9499}.q-notification--center-enter-from,.q-notification--center-leave-to,.q-notification--left-enter-from,.q-notification--left-leave-to,.q-notification--right-enter-from,.q-notification--right-leave-to{opacity:0;transform:rotateX(90deg);z-index:9499}.q-notification--bottom-enter-from,.q-notification--bottom-leave-to,.q-notification--bottom-left-enter-from,.q-notification--bottom-left-leave-to,.q-notification--bottom-right-enter-from,.q-notification--bottom-right-leave-to{opacity:0;transform:translateY(50px);z-index:9499}.q-notification--bottom-leave-active,.q-notification--bottom-left-leave-active,.q-notification--bottom-right-leave-active,.q-notification--center-leave-active,.q-notification--left-leave-active,.q-notification--right-leave-active,.q-notification--top-leave-active,.q-notification--top-left-leave-active,.q-notification--top-right-leave-active{position:absolute;z-index:9499;margin-left:0;margin-right:0}.q-notification--center-leave-active,.q-notification--top-leave-active{top:0}.q-notification--bottom-leave-active,.q-notification--bottom-left-leave-active,.q-notification--bottom-right-leave-active{bottom:0}@media(min-width:600px){.q-notification{max-width:65vw}}@keyframes q-notif-badge{15%{transform:translate3d(-25%,0,0) rotate(-5deg)}30%{transform:translate3d(20%,0,0) rotate(3deg)}45%{transform:translate3d(-15%,0,0) rotate(-3deg)}60%{transform:translate3d(10%,0,0) rotate(2deg)}75%{transform:translate3d(-5%,0,0) rotate(-1deg)}}@keyframes q-notif-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}:root{--animate-duration:0.3s;--animate-delay:0.3s;--animate-repeat:1}.animated{animation-duration:var(--animate-duration);animation-fill-mode:both}.animated.infinite{animation-iteration-count:infinite}.animated.hinge{animation-duration:2s}.animated.repeat-1{animation-iteration-count:var(--animate-repeat)}.animated.repeat-2{animation-iteration-count:calc(var(--animate-repeat)*2)}.animated.repeat-3{animation-iteration-count:calc(var(--animate-repeat)*3)}.animated.delay-1s{animation-delay:var(--animate-delay)}.animated.delay-2s{animation-delay:calc(var(--animate-delay)*2)}.animated.delay-3s{animation-delay:calc(var(--animate-delay)*3)}.animated.delay-4s{animation-delay:calc(var(--animate-delay)*4)}.animated.delay-5s{animation-delay:calc(var(--animate-delay)*5)}.animated.faster{animation-duration:calc(var(--animate-duration)/2)}.animated.fast{animation-duration:calc(var(--animate-duration)*.8)}.animated.slow{animation-duration:calc(var(--animate-duration)*2)}.animated.slower{animation-duration:calc(var(--animate-duration)*3)}@media (prefers-reduced-motion:reduce),print{.animated{animation-duration:1ms!important;transition-duration:1ms!important;animation-iteration-count:1!important}.animated[class*=Out]{opacity:0}}.q-animate--scale{animation:q-scale .15s;animation-timing-function:cubic-bezier(.25,.8,.25,1)}@keyframes q-scale{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.q-animate--fade{animation:q-fade .2s}@keyframes q-fade{0%{opacity:0}to{opacity:1}}:root{--q-primary:#027be3;--q-secondary:#26a69a;--q-accent:#9c27b0;--q-positive:#21ba45;--q-negative:#c10015;--q-info:#31ccec;--q-warning:#f2c037;--q-dark:#1d1d1d;--q-dark-page:#121212}.text-dark{color:var(--q-dark)!important}.bg-dark{background:var(--q-dark)!important}.text-primary{color:var(--q-primary)!important}.bg-primary{background:var(--q-primary)!important}.text-secondary{color:var(--q-secondary)!important}.bg-secondary{background:var(--q-secondary)!important}.text-accent{color:var(--q-accent)!important}.bg-accent{background:var(--q-accent)!important}.text-positive{color:var(--q-positive)!important}.bg-positive{background:var(--q-positive)!important}.text-negative{color:var(--q-negative)!important}.bg-negative{background:var(--q-negative)!important}.text-info{color:var(--q-info)!important}.bg-info{background:var(--q-info)!important}.text-warning{color:var(--q-warning)!important}.bg-warning{background:var(--q-warning)!important}.text-white{color:#fff!important}.bg-white{background:#fff!important}.text-black{color:#000!important}.bg-black{background:#000!important}.text-transparent{color:transparent!important}.bg-transparent{background:transparent!important}.text-separator{color:rgba(0,0,0,.12)!important}.bg-separator{background:rgba(0,0,0,.12)!important}.text-dark-separator{color:hsla(0,0%,100%,.28)!important}.bg-dark-separator{background:hsla(0,0%,100%,.28)!important}.text-red{color:#f44336!important}.text-red-1{color:#ffebee!important}.text-red-2{color:#ffcdd2!important}.text-red-3{color:#ef9a9a!important}.text-red-4{color:#e57373!important}.text-red-5{color:#ef5350!important}.text-red-6{color:#f44336!important}.text-red-7{color:#e53935!important}.text-red-8{color:#d32f2f!important}.text-red-9{color:#c62828!important}.text-red-10{color:#b71c1c!important}.text-red-11{color:#ff8a80!important}.text-red-12{color:#ff5252!important}.text-red-13{color:#ff1744!important}.text-red-14{color:#d50000!important}.text-pink{color:#e91e63!important}.text-pink-1{color:#fce4ec!important}.text-pink-2{color:#f8bbd0!important}.text-pink-3{color:#f48fb1!important}.text-pink-4{color:#f06292!important}.text-pink-5{color:#ec407a!important}.text-pink-6{color:#e91e63!important}.text-pink-7{color:#d81b60!important}.text-pink-8{color:#c2185b!important}.text-pink-9{color:#ad1457!important}.text-pink-10{color:#880e4f!important}.text-pink-11{color:#ff80ab!important}.text-pink-12{color:#ff4081!important}.text-pink-13{color:#f50057!important}.text-pink-14{color:#c51162!important}.text-purple{color:#9c27b0!important}.text-purple-1{color:#f3e5f5!important}.text-purple-2{color:#e1bee7!important}.text-purple-3{color:#ce93d8!important}.text-purple-4{color:#ba68c8!important}.text-purple-5{color:#ab47bc!important}.text-purple-6{color:#9c27b0!important}.text-purple-7{color:#8e24aa!important}.text-purple-8{color:#7b1fa2!important}.text-purple-9{color:#6a1b9a!important}.text-purple-10{color:#4a148c!important}.text-purple-11{color:#ea80fc!important}.text-purple-12{color:#e040fb!important}.text-purple-13{color:#d500f9!important}.text-purple-14{color:#a0f!important}.text-deep-purple{color:#673ab7!important}.text-deep-purple-1{color:#ede7f6!important}.text-deep-purple-2{color:#d1c4e9!important}.text-deep-purple-3{color:#b39ddb!important}.text-deep-purple-4{color:#9575cd!important}.text-deep-purple-5{color:#7e57c2!important}.text-deep-purple-6{color:#673ab7!important}.text-deep-purple-7{color:#5e35b1!important}.text-deep-purple-8{color:#512da8!important}.text-deep-purple-9{color:#4527a0!important}.text-deep-purple-10{color:#311b92!important}.text-deep-purple-11{color:#b388ff!important}.text-deep-purple-12{color:#7c4dff!important}.text-deep-purple-13{color:#651fff!important}.text-deep-purple-14{color:#6200ea!important}.text-indigo{color:#3f51b5!important}.text-indigo-1{color:#e8eaf6!important}.text-indigo-2{color:#c5cae9!important}.text-indigo-3{color:#9fa8da!important}.text-indigo-4{color:#7986cb!important}.text-indigo-5{color:#5c6bc0!important}.text-indigo-6{color:#3f51b5!important}.text-indigo-7{color:#3949ab!important}.text-indigo-8{color:#303f9f!important}.text-indigo-9{color:#283593!important}.text-indigo-10{color:#1a237e!important}.text-indigo-11{color:#8c9eff!important}.text-indigo-12{color:#536dfe!important}.text-indigo-13{color:#3d5afe!important}.text-indigo-14{color:#304ffe!important}.text-blue{color:#2196f3!important}.text-blue-1{color:#e3f2fd!important}.text-blue-2{color:#bbdefb!important}.text-blue-3{color:#90caf9!important}.text-blue-4{color:#64b5f6!important}.text-blue-5{color:#42a5f5!important}.text-blue-6{color:#2196f3!important}.text-blue-7{color:#1e88e5!important}.text-blue-8{color:#1976d2!important}.text-blue-9{color:#1565c0!important}.text-blue-10{color:#0d47a1!important}.text-blue-11{color:#82b1ff!important}.text-blue-12{color:#448aff!important}.text-blue-13{color:#2979ff!important}.text-blue-14{color:#2962ff!important}.text-light-blue{color:#03a9f4!important}.text-light-blue-1{color:#e1f5fe!important}.text-light-blue-2{color:#b3e5fc!important}.text-light-blue-3{color:#81d4fa!important}.text-light-blue-4{color:#4fc3f7!important}.text-light-blue-5{color:#29b6f6!important}.text-light-blue-6{color:#03a9f4!important}.text-light-blue-7{color:#039be5!important}.text-light-blue-8{color:#0288d1!important}.text-light-blue-9{color:#0277bd!important}.text-light-blue-10{color:#01579b!important}.text-light-blue-11{color:#80d8ff!important}.text-light-blue-12{color:#40c4ff!important}.text-light-blue-13{color:#00b0ff!important}.text-light-blue-14{color:#0091ea!important}.text-cyan{color:#00bcd4!important}.text-cyan-1{color:#e0f7fa!important}.text-cyan-2{color:#b2ebf2!important}.text-cyan-3{color:#80deea!important}.text-cyan-4{color:#4dd0e1!important}.text-cyan-5{color:#26c6da!important}.text-cyan-6{color:#00bcd4!important}.text-cyan-7{color:#00acc1!important}.text-cyan-8{color:#0097a7!important}.text-cyan-9{color:#00838f!important}.text-cyan-10{color:#006064!important}.text-cyan-11{color:#84ffff!important}.text-cyan-12{color:#18ffff!important}.text-cyan-13{color:#00e5ff!important}.text-cyan-14{color:#00b8d4!important}.text-teal{color:#009688!important}.text-teal-1{color:#e0f2f1!important}.text-teal-2{color:#b2dfdb!important}.text-teal-3{color:#80cbc4!important}.text-teal-4{color:#4db6ac!important}.text-teal-5{color:#26a69a!important}.text-teal-6{color:#009688!important}.text-teal-7{color:#00897b!important}.text-teal-8{color:#00796b!important}.text-teal-9{color:#00695c!important}.text-teal-10{color:#004d40!important}.text-teal-11{color:#a7ffeb!important}.text-teal-12{color:#64ffda!important}.text-teal-13{color:#1de9b6!important}.text-teal-14{color:#00bfa5!important}.text-green{color:#4caf50!important}.text-green-1{color:#e8f5e9!important}.text-green-2{color:#c8e6c9!important}.text-green-3{color:#a5d6a7!important}.text-green-4{color:#81c784!important}.text-green-5{color:#66bb6a!important}.text-green-6{color:#4caf50!important}.text-green-7{color:#43a047!important}.text-green-8{color:#388e3c!important}.text-green-9{color:#2e7d32!important}.text-green-10{color:#1b5e20!important}.text-green-11{color:#b9f6ca!important}.text-green-12{color:#69f0ae!important}.text-green-13{color:#00e676!important}.text-green-14{color:#00c853!important}.text-light-green{color:#8bc34a!important}.text-light-green-1{color:#f1f8e9!important}.text-light-green-2{color:#dcedc8!important}.text-light-green-3{color:#c5e1a5!important}.text-light-green-4{color:#aed581!important}.text-light-green-5{color:#9ccc65!important}.text-light-green-6{color:#8bc34a!important}.text-light-green-7{color:#7cb342!important}.text-light-green-8{color:#689f38!important}.text-light-green-9{color:#558b2f!important}.text-light-green-10{color:#33691e!important}.text-light-green-11{color:#ccff90!important}.text-light-green-12{color:#b2ff59!important}.text-light-green-13{color:#76ff03!important}.text-light-green-14{color:#64dd17!important}.text-lime{color:#cddc39!important}.text-lime-1{color:#f9fbe7!important}.text-lime-2{color:#f0f4c3!important}.text-lime-3{color:#e6ee9c!important}.text-lime-4{color:#dce775!important}.text-lime-5{color:#d4e157!important}.text-lime-6{color:#cddc39!important}.text-lime-7{color:#c0ca33!important}.text-lime-8{color:#afb42b!important}.text-lime-9{color:#9e9d24!important}.text-lime-10{color:#827717!important}.text-lime-11{color:#f4ff81!important}.text-lime-12{color:#eeff41!important}.text-lime-13{color:#c6ff00!important}.text-lime-14{color:#aeea00!important}.text-yellow{color:#ffeb3b!important}.text-yellow-1{color:#fffde7!important}.text-yellow-2{color:#fff9c4!important}.text-yellow-3{color:#fff59d!important}.text-yellow-4{color:#fff176!important}.text-yellow-5{color:#ffee58!important}.text-yellow-6{color:#ffeb3b!important}.text-yellow-7{color:#fdd835!important}.text-yellow-8{color:#fbc02d!important}.text-yellow-9{color:#f9a825!important}.text-yellow-10{color:#f57f17!important}.text-yellow-11{color:#ffff8d!important}.text-yellow-12{color:#ff0!important}.text-yellow-13{color:#ffea00!important}.text-yellow-14{color:#ffd600!important}.text-amber{color:#ffc107!important}.text-amber-1{color:#fff8e1!important}.text-amber-2{color:#ffecb3!important}.text-amber-3{color:#ffe082!important}.text-amber-4{color:#ffd54f!important}.text-amber-5{color:#ffca28!important}.text-amber-6{color:#ffc107!important}.text-amber-7{color:#ffb300!important}.text-amber-8{color:#ffa000!important}.text-amber-9{color:#ff8f00!important}.text-amber-10{color:#ff6f00!important}.text-amber-11{color:#ffe57f!important}.text-amber-12{color:#ffd740!important}.text-amber-13{color:#ffc400!important}.text-amber-14{color:#ffab00!important}.text-orange{color:#ff9800!important}.text-orange-1{color:#fff3e0!important}.text-orange-2{color:#ffe0b2!important}.text-orange-3{color:#ffcc80!important}.text-orange-4{color:#ffb74d!important}.text-orange-5{color:#ffa726!important}.text-orange-6{color:#ff9800!important}.text-orange-7{color:#fb8c00!important}.text-orange-8{color:#f57c00!important}.text-orange-9{color:#ef6c00!important}.text-orange-10{color:#e65100!important}.text-orange-11{color:#ffd180!important}.text-orange-12{color:#ffab40!important}.text-orange-13{color:#ff9100!important}.text-orange-14{color:#ff6d00!important}.text-deep-orange{color:#ff5722!important}.text-deep-orange-1{color:#fbe9e7!important}.text-deep-orange-2{color:#ffccbc!important}.text-deep-orange-3{color:#ffab91!important}.text-deep-orange-4{color:#ff8a65!important}.text-deep-orange-5{color:#ff7043!important}.text-deep-orange-6{color:#ff5722!important}.text-deep-orange-7{color:#f4511e!important}.text-deep-orange-8{color:#e64a19!important}.text-deep-orange-9{color:#d84315!important}.text-deep-orange-10{color:#bf360c!important}.text-deep-orange-11{color:#ff9e80!important}.text-deep-orange-12{color:#ff6e40!important}.text-deep-orange-13{color:#ff3d00!important}.text-deep-orange-14{color:#dd2c00!important}.text-brown{color:#795548!important}.text-brown-1{color:#efebe9!important}.text-brown-2{color:#d7ccc8!important}.text-brown-3{color:#bcaaa4!important}.text-brown-4{color:#a1887f!important}.text-brown-5{color:#8d6e63!important}.text-brown-6{color:#795548!important}.text-brown-7{color:#6d4c41!important}.text-brown-8{color:#5d4037!important}.text-brown-9{color:#4e342e!important}.text-brown-10{color:#3e2723!important}.text-brown-11{color:#d7ccc8!important}.text-brown-12{color:#bcaaa4!important}.text-brown-13{color:#8d6e63!important}.text-brown-14{color:#5d4037!important}.text-grey{color:#9e9e9e!important}.text-grey-1{color:#fafafa!important}.text-grey-2{color:#f5f5f5!important}.text-grey-3{color:#eee!important}.text-grey-4{color:#e0e0e0!important}.text-grey-5{color:#bdbdbd!important}.text-grey-6{color:#9e9e9e!important}.text-grey-7{color:#757575!important}.text-grey-8{color:#616161!important}.text-grey-9{color:#424242!important}.text-grey-10{color:#212121!important}.text-grey-11{color:#f5f5f5!important}.text-grey-12{color:#eee!important}.text-grey-13{color:#bdbdbd!important}.text-grey-14{color:#616161!important}.text-blue-grey{color:#607d8b!important}.text-blue-grey-1{color:#eceff1!important}.text-blue-grey-2{color:#cfd8dc!important}.text-blue-grey-3{color:#b0bec5!important}.text-blue-grey-4{color:#90a4ae!important}.text-blue-grey-5{color:#78909c!important}.text-blue-grey-6{color:#607d8b!important}.text-blue-grey-7{color:#546e7a!important}.text-blue-grey-8{color:#455a64!important}.text-blue-grey-9{color:#37474f!important}.text-blue-grey-10{color:#263238!important}.text-blue-grey-11{color:#cfd8dc!important}.text-blue-grey-12{color:#b0bec5!important}.text-blue-grey-13{color:#78909c!important}.text-blue-grey-14{color:#455a64!important}.bg-red{background:#f44336!important}.bg-red-1{background:#ffebee!important}.bg-red-2{background:#ffcdd2!important}.bg-red-3{background:#ef9a9a!important}.bg-red-4{background:#e57373!important}.bg-red-5{background:#ef5350!important}.bg-red-6{background:#f44336!important}.bg-red-7{background:#e53935!important}.bg-red-8{background:#d32f2f!important}.bg-red-9{background:#c62828!important}.bg-red-10{background:#b71c1c!important}.bg-red-11{background:#ff8a80!important}.bg-red-12{background:#ff5252!important}.bg-red-13{background:#ff1744!important}.bg-red-14{background:#d50000!important}.bg-pink{background:#e91e63!important}.bg-pink-1{background:#fce4ec!important}.bg-pink-2{background:#f8bbd0!important}.bg-pink-3{background:#f48fb1!important}.bg-pink-4{background:#f06292!important}.bg-pink-5{background:#ec407a!important}.bg-pink-6{background:#e91e63!important}.bg-pink-7{background:#d81b60!important}.bg-pink-8{background:#c2185b!important}.bg-pink-9{background:#ad1457!important}.bg-pink-10{background:#880e4f!important}.bg-pink-11{background:#ff80ab!important}.bg-pink-12{background:#ff4081!important}.bg-pink-13{background:#f50057!important}.bg-pink-14{background:#c51162!important}.bg-purple{background:#9c27b0!important}.bg-purple-1{background:#f3e5f5!important}.bg-purple-2{background:#e1bee7!important}.bg-purple-3{background:#ce93d8!important}.bg-purple-4{background:#ba68c8!important}.bg-purple-5{background:#ab47bc!important}.bg-purple-6{background:#9c27b0!important}.bg-purple-7{background:#8e24aa!important}.bg-purple-8{background:#7b1fa2!important}.bg-purple-9{background:#6a1b9a!important}.bg-purple-10{background:#4a148c!important}.bg-purple-11{background:#ea80fc!important}.bg-purple-12{background:#e040fb!important}.bg-purple-13{background:#d500f9!important}.bg-purple-14{background:#a0f!important}.bg-deep-purple{background:#673ab7!important}.bg-deep-purple-1{background:#ede7f6!important}.bg-deep-purple-2{background:#d1c4e9!important}.bg-deep-purple-3{background:#b39ddb!important}.bg-deep-purple-4{background:#9575cd!important}.bg-deep-purple-5{background:#7e57c2!important}.bg-deep-purple-6{background:#673ab7!important}.bg-deep-purple-7{background:#5e35b1!important}.bg-deep-purple-8{background:#512da8!important}.bg-deep-purple-9{background:#4527a0!important}.bg-deep-purple-10{background:#311b92!important}.bg-deep-purple-11{background:#b388ff!important}.bg-deep-purple-12{background:#7c4dff!important}.bg-deep-purple-13{background:#651fff!important}.bg-deep-purple-14{background:#6200ea!important}.bg-indigo{background:#3f51b5!important}.bg-indigo-1{background:#e8eaf6!important}.bg-indigo-2{background:#c5cae9!important}.bg-indigo-3{background:#9fa8da!important}.bg-indigo-4{background:#7986cb!important}.bg-indigo-5{background:#5c6bc0!important}.bg-indigo-6{background:#3f51b5!important}.bg-indigo-7{background:#3949ab!important}.bg-indigo-8{background:#303f9f!important}.bg-indigo-9{background:#283593!important}.bg-indigo-10{background:#1a237e!important}.bg-indigo-11{background:#8c9eff!important}.bg-indigo-12{background:#536dfe!important}.bg-indigo-13{background:#3d5afe!important}.bg-indigo-14{background:#304ffe!important}.bg-blue{background:#2196f3!important}.bg-blue-1{background:#e3f2fd!important}.bg-blue-2{background:#bbdefb!important}.bg-blue-3{background:#90caf9!important}.bg-blue-4{background:#64b5f6!important}.bg-blue-5{background:#42a5f5!important}.bg-blue-6{background:#2196f3!important}.bg-blue-7{background:#1e88e5!important}.bg-blue-8{background:#1976d2!important}.bg-blue-9{background:#1565c0!important}.bg-blue-10{background:#0d47a1!important}.bg-blue-11{background:#82b1ff!important}.bg-blue-12{background:#448aff!important}.bg-blue-13{background:#2979ff!important}.bg-blue-14{background:#2962ff!important}.bg-light-blue{background:#03a9f4!important}.bg-light-blue-1{background:#e1f5fe!important}.bg-light-blue-2{background:#b3e5fc!important}.bg-light-blue-3{background:#81d4fa!important}.bg-light-blue-4{background:#4fc3f7!important}.bg-light-blue-5{background:#29b6f6!important}.bg-light-blue-6{background:#03a9f4!important}.bg-light-blue-7{background:#039be5!important}.bg-light-blue-8{background:#0288d1!important}.bg-light-blue-9{background:#0277bd!important}.bg-light-blue-10{background:#01579b!important}.bg-light-blue-11{background:#80d8ff!important}.bg-light-blue-12{background:#40c4ff!important}.bg-light-blue-13{background:#00b0ff!important}.bg-light-blue-14{background:#0091ea!important}.bg-cyan{background:#00bcd4!important}.bg-cyan-1{background:#e0f7fa!important}.bg-cyan-2{background:#b2ebf2!important}.bg-cyan-3{background:#80deea!important}.bg-cyan-4{background:#4dd0e1!important}.bg-cyan-5{background:#26c6da!important}.bg-cyan-6{background:#00bcd4!important}.bg-cyan-7{background:#00acc1!important}.bg-cyan-8{background:#0097a7!important}.bg-cyan-9{background:#00838f!important}.bg-cyan-10{background:#006064!important}.bg-cyan-11{background:#84ffff!important}.bg-cyan-12{background:#18ffff!important}.bg-cyan-13{background:#00e5ff!important}.bg-cyan-14{background:#00b8d4!important}.bg-teal{background:#009688!important}.bg-teal-1{background:#e0f2f1!important}.bg-teal-2{background:#b2dfdb!important}.bg-teal-3{background:#80cbc4!important}.bg-teal-4{background:#4db6ac!important}.bg-teal-5{background:#26a69a!important}.bg-teal-6{background:#009688!important}.bg-teal-7{background:#00897b!important}.bg-teal-8{background:#00796b!important}.bg-teal-9{background:#00695c!important}.bg-teal-10{background:#004d40!important}.bg-teal-11{background:#a7ffeb!important}.bg-teal-12{background:#64ffda!important}.bg-teal-13{background:#1de9b6!important}.bg-teal-14{background:#00bfa5!important}.bg-green{background:#4caf50!important}.bg-green-1{background:#e8f5e9!important}.bg-green-2{background:#c8e6c9!important}.bg-green-3{background:#a5d6a7!important}.bg-green-4{background:#81c784!important}.bg-green-5{background:#66bb6a!important}.bg-green-6{background:#4caf50!important}.bg-green-7{background:#43a047!important}.bg-green-8{background:#388e3c!important}.bg-green-9{background:#2e7d32!important}.bg-green-10{background:#1b5e20!important}.bg-green-11{background:#b9f6ca!important}.bg-green-12{background:#69f0ae!important}.bg-green-13{background:#00e676!important}.bg-green-14{background:#00c853!important}.bg-light-green{background:#8bc34a!important}.bg-light-green-1{background:#f1f8e9!important}.bg-light-green-2{background:#dcedc8!important}.bg-light-green-3{background:#c5e1a5!important}.bg-light-green-4{background:#aed581!important}.bg-light-green-5{background:#9ccc65!important}.bg-light-green-6{background:#8bc34a!important}.bg-light-green-7{background:#7cb342!important}.bg-light-green-8{background:#689f38!important}.bg-light-green-9{background:#558b2f!important}.bg-light-green-10{background:#33691e!important}.bg-light-green-11{background:#ccff90!important}.bg-light-green-12{background:#b2ff59!important}.bg-light-green-13{background:#76ff03!important}.bg-light-green-14{background:#64dd17!important}.bg-lime{background:#cddc39!important}.bg-lime-1{background:#f9fbe7!important}.bg-lime-2{background:#f0f4c3!important}.bg-lime-3{background:#e6ee9c!important}.bg-lime-4{background:#dce775!important}.bg-lime-5{background:#d4e157!important}.bg-lime-6{background:#cddc39!important}.bg-lime-7{background:#c0ca33!important}.bg-lime-8{background:#afb42b!important}.bg-lime-9{background:#9e9d24!important}.bg-lime-10{background:#827717!important}.bg-lime-11{background:#f4ff81!important}.bg-lime-12{background:#eeff41!important}.bg-lime-13{background:#c6ff00!important}.bg-lime-14{background:#aeea00!important}.bg-yellow{background:#ffeb3b!important}.bg-yellow-1{background:#fffde7!important}.bg-yellow-2{background:#fff9c4!important}.bg-yellow-3{background:#fff59d!important}.bg-yellow-4{background:#fff176!important}.bg-yellow-5{background:#ffee58!important}.bg-yellow-6{background:#ffeb3b!important}.bg-yellow-7{background:#fdd835!important}.bg-yellow-8{background:#fbc02d!important}.bg-yellow-9{background:#f9a825!important}.bg-yellow-10{background:#f57f17!important}.bg-yellow-11{background:#ffff8d!important}.bg-yellow-12{background:#ff0!important}.bg-yellow-13{background:#ffea00!important}.bg-yellow-14{background:#ffd600!important}.bg-amber{background:#ffc107!important}.bg-amber-1{background:#fff8e1!important}.bg-amber-2{background:#ffecb3!important}.bg-amber-3{background:#ffe082!important}.bg-amber-4{background:#ffd54f!important}.bg-amber-5{background:#ffca28!important}.bg-amber-6{background:#ffc107!important}.bg-amber-7{background:#ffb300!important}.bg-amber-8{background:#ffa000!important}.bg-amber-9{background:#ff8f00!important}.bg-amber-10{background:#ff6f00!important}.bg-amber-11{background:#ffe57f!important}.bg-amber-12{background:#ffd740!important}.bg-amber-13{background:#ffc400!important}.bg-amber-14{background:#ffab00!important}.bg-orange{background:#ff9800!important}.bg-orange-1{background:#fff3e0!important}.bg-orange-2{background:#ffe0b2!important}.bg-orange-3{background:#ffcc80!important}.bg-orange-4{background:#ffb74d!important}.bg-orange-5{background:#ffa726!important}.bg-orange-6{background:#ff9800!important}.bg-orange-7{background:#fb8c00!important}.bg-orange-8{background:#f57c00!important}.bg-orange-9{background:#ef6c00!important}.bg-orange-10{background:#e65100!important}.bg-orange-11{background:#ffd180!important}.bg-orange-12{background:#ffab40!important}.bg-orange-13{background:#ff9100!important}.bg-orange-14{background:#ff6d00!important}.bg-deep-orange{background:#ff5722!important}.bg-deep-orange-1{background:#fbe9e7!important}.bg-deep-orange-2{background:#ffccbc!important}.bg-deep-orange-3{background:#ffab91!important}.bg-deep-orange-4{background:#ff8a65!important}.bg-deep-orange-5{background:#ff7043!important}.bg-deep-orange-6{background:#ff5722!important}.bg-deep-orange-7{background:#f4511e!important}.bg-deep-orange-8{background:#e64a19!important}.bg-deep-orange-9{background:#d84315!important}.bg-deep-orange-10{background:#bf360c!important}.bg-deep-orange-11{background:#ff9e80!important}.bg-deep-orange-12{background:#ff6e40!important}.bg-deep-orange-13{background:#ff3d00!important}.bg-deep-orange-14{background:#dd2c00!important}.bg-brown{background:#795548!important}.bg-brown-1{background:#efebe9!important}.bg-brown-2{background:#d7ccc8!important}.bg-brown-3{background:#bcaaa4!important}.bg-brown-4{background:#a1887f!important}.bg-brown-5{background:#8d6e63!important}.bg-brown-6{background:#795548!important}.bg-brown-7{background:#6d4c41!important}.bg-brown-8{background:#5d4037!important}.bg-brown-9{background:#4e342e!important}.bg-brown-10{background:#3e2723!important}.bg-brown-11{background:#d7ccc8!important}.bg-brown-12{background:#bcaaa4!important}.bg-brown-13{background:#8d6e63!important}.bg-brown-14{background:#5d4037!important}.bg-grey{background:#9e9e9e!important}.bg-grey-1{background:#fafafa!important}.bg-grey-2{background:#f5f5f5!important}.bg-grey-3{background:#eee!important}.bg-grey-4{background:#e0e0e0!important}.bg-grey-5{background:#bdbdbd!important}.bg-grey-6{background:#9e9e9e!important}.bg-grey-7{background:#757575!important}.bg-grey-8{background:#616161!important}.bg-grey-9{background:#424242!important}.bg-grey-10{background:#212121!important}.bg-grey-11{background:#f5f5f5!important}.bg-grey-12{background:#eee!important}.bg-grey-13{background:#bdbdbd!important}.bg-grey-14{background:#616161!important}.bg-blue-grey{background:#607d8b!important}.bg-blue-grey-1{background:#eceff1!important}.bg-blue-grey-2{background:#cfd8dc!important}.bg-blue-grey-3{background:#b0bec5!important}.bg-blue-grey-4{background:#90a4ae!important}.bg-blue-grey-5{background:#78909c!important}.bg-blue-grey-6{background:#607d8b!important}.bg-blue-grey-7{background:#546e7a!important}.bg-blue-grey-8{background:#455a64!important}.bg-blue-grey-9{background:#37474f!important}.bg-blue-grey-10{background:#263238!important}.bg-blue-grey-11{background:#cfd8dc!important}.bg-blue-grey-12{background:#b0bec5!important}.bg-blue-grey-13{background:#78909c!important}.bg-blue-grey-14{background:#455a64!important}.shadow-transition{transition:box-shadow .28s cubic-bezier(.4,0,.2,1)!important}.shadow-1{box-shadow:0 1px 3px rgba(0,0,0,.2),0 1px 1px rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}.shadow-up-1{box-shadow:0 -1px 3px rgba(0,0,0,.2),0 -1px 1px rgba(0,0,0,.14),0 -2px 1px -1px rgba(0,0,0,.12)}.shadow-2{box-shadow:0 1px 5px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12)}.shadow-up-2{box-shadow:0 -1px 5px rgba(0,0,0,.2),0 -2px 2px rgba(0,0,0,.14),0 -3px 1px -2px rgba(0,0,0,.12)}.shadow-3{box-shadow:0 1px 8px rgba(0,0,0,.2),0 3px 4px rgba(0,0,0,.14),0 3px 3px -2px rgba(0,0,0,.12)}.shadow-up-3{box-shadow:0 -1px 8px rgba(0,0,0,.2),0 -3px 4px rgba(0,0,0,.14),0 -3px 3px -2px rgba(0,0,0,.12)}.shadow-4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px rgba(0,0,0,.14),0 1px 10px rgba(0,0,0,.12)}.shadow-up-4{box-shadow:0 -2px 4px -1px rgba(0,0,0,.2),0 -4px 5px rgba(0,0,0,.14),0 -1px 10px rgba(0,0,0,.12)}.shadow-5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px rgba(0,0,0,.14),0 1px 14px rgba(0,0,0,.12)}.shadow-up-5{box-shadow:0 -3px 5px -1px rgba(0,0,0,.2),0 -5px 8px rgba(0,0,0,.14),0 -1px 14px rgba(0,0,0,.12)}.shadow-6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px rgba(0,0,0,.14),0 1px 18px rgba(0,0,0,.12)}.shadow-up-6{box-shadow:0 -3px 5px -1px rgba(0,0,0,.2),0 -6px 10px rgba(0,0,0,.14),0 -1px 18px rgba(0,0,0,.12)}.shadow-7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.shadow-up-7{box-shadow:0 -4px 5px -2px rgba(0,0,0,.2),0 -7px 10px 1px rgba(0,0,0,.14),0 -2px 16px 1px rgba(0,0,0,.12)}.shadow-8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.shadow-up-8{box-shadow:0 -5px 5px -3px rgba(0,0,0,.2),0 -8px 10px 1px rgba(0,0,0,.14),0 -3px 14px 2px rgba(0,0,0,.12)}.shadow-9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.shadow-up-9{box-shadow:0 -5px 6px -3px rgba(0,0,0,.2),0 -9px 12px 1px rgba(0,0,0,.14),0 -3px 16px 2px rgba(0,0,0,.12)}.shadow-10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.shadow-up-10{box-shadow:0 -6px 6px -3px rgba(0,0,0,.2),0 -10px 14px 1px rgba(0,0,0,.14),0 -4px 18px 3px rgba(0,0,0,.12)}.shadow-11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.shadow-up-11{box-shadow:0 -6px 7px -4px rgba(0,0,0,.2),0 -11px 15px 1px rgba(0,0,0,.14),0 -4px 20px 3px rgba(0,0,0,.12)}.shadow-12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.shadow-up-12{box-shadow:0 -7px 8px -4px rgba(0,0,0,.2),0 -12px 17px 2px rgba(0,0,0,.14),0 -5px 22px 4px rgba(0,0,0,.12)}.shadow-13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.shadow-up-13{box-shadow:0 -7px 8px -4px rgba(0,0,0,.2),0 -13px 19px 2px rgba(0,0,0,.14),0 -5px 24px 4px rgba(0,0,0,.12)}.shadow-14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.shadow-up-14{box-shadow:0 -7px 9px -4px rgba(0,0,0,.2),0 -14px 21px 2px rgba(0,0,0,.14),0 -5px 26px 4px rgba(0,0,0,.12)}.shadow-15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.shadow-up-15{box-shadow:0 -8px 9px -5px rgba(0,0,0,.2),0 -15px 22px 2px rgba(0,0,0,.14),0 -6px 28px 5px rgba(0,0,0,.12)}.shadow-16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.shadow-up-16{box-shadow:0 -8px 10px -5px rgba(0,0,0,.2),0 -16px 24px 2px rgba(0,0,0,.14),0 -6px 30px 5px rgba(0,0,0,.12)}.shadow-17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.shadow-up-17{box-shadow:0 -8px 11px -5px rgba(0,0,0,.2),0 -17px 26px 2px rgba(0,0,0,.14),0 -6px 32px 5px rgba(0,0,0,.12)}.shadow-18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.shadow-up-18{box-shadow:0 -9px 11px -5px rgba(0,0,0,.2),0 -18px 28px 2px rgba(0,0,0,.14),0 -7px 34px 6px rgba(0,0,0,.12)}.shadow-19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.shadow-up-19{box-shadow:0 -9px 12px -6px rgba(0,0,0,.2),0 -19px 29px 2px rgba(0,0,0,.14),0 -7px 36px 6px rgba(0,0,0,.12)}.shadow-20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.shadow-up-20{box-shadow:0 -10px 13px -6px rgba(0,0,0,.2),0 -20px 31px 3px rgba(0,0,0,.14),0 -8px 38px 7px rgba(0,0,0,.12)}.shadow-21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.shadow-up-21{box-shadow:0 -10px 13px -6px rgba(0,0,0,.2),0 -21px 33px 3px rgba(0,0,0,.14),0 -8px 40px 7px rgba(0,0,0,.12)}.shadow-22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.shadow-up-22{box-shadow:0 -10px 14px -6px rgba(0,0,0,.2),0 -22px 35px 3px rgba(0,0,0,.14),0 -8px 42px 7px rgba(0,0,0,.12)}.shadow-23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.shadow-up-23{box-shadow:0 -11px 14px -7px rgba(0,0,0,.2),0 -23px 36px 3px rgba(0,0,0,.14),0 -9px 44px 8px rgba(0,0,0,.12)}.shadow-24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.shadow-up-24{box-shadow:0 -11px 15px -7px rgba(0,0,0,.2),0 -24px 38px 3px rgba(0,0,0,.14),0 -9px 46px 8px rgba(0,0,0,.12)}.inset-shadow{box-shadow:inset 0 7px 9px -7px rgba(0,0,0,.7)}.inset-shadow-down{box-shadow:inset 0 -7px 9px -7px rgba(0,0,0,.7)}body.body--dark .shadow-1{box-shadow:0 1px 3px hsla(0,0%,100%,.2),0 1px 1px hsla(0,0%,100%,.14),0 2px 1px -1px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-1{box-shadow:0 -1px 3px hsla(0,0%,100%,.2),0 -1px 1px hsla(0,0%,100%,.14),0 -2px 1px -1px hsla(0,0%,100%,.12)}body.body--dark .shadow-2{box-shadow:0 1px 5px hsla(0,0%,100%,.2),0 2px 2px hsla(0,0%,100%,.14),0 3px 1px -2px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-2{box-shadow:0 -1px 5px hsla(0,0%,100%,.2),0 -2px 2px hsla(0,0%,100%,.14),0 -3px 1px -2px hsla(0,0%,100%,.12)}body.body--dark .shadow-3{box-shadow:0 1px 8px hsla(0,0%,100%,.2),0 3px 4px hsla(0,0%,100%,.14),0 3px 3px -2px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-3{box-shadow:0 -1px 8px hsla(0,0%,100%,.2),0 -3px 4px hsla(0,0%,100%,.14),0 -3px 3px -2px hsla(0,0%,100%,.12)}body.body--dark .shadow-4{box-shadow:0 2px 4px -1px hsla(0,0%,100%,.2),0 4px 5px hsla(0,0%,100%,.14),0 1px 10px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-4{box-shadow:0 -2px 4px -1px hsla(0,0%,100%,.2),0 -4px 5px hsla(0,0%,100%,.14),0 -1px 10px hsla(0,0%,100%,.12)}body.body--dark .shadow-5{box-shadow:0 3px 5px -1px hsla(0,0%,100%,.2),0 5px 8px hsla(0,0%,100%,.14),0 1px 14px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-5{box-shadow:0 -3px 5px -1px hsla(0,0%,100%,.2),0 -5px 8px hsla(0,0%,100%,.14),0 -1px 14px hsla(0,0%,100%,.12)}body.body--dark .shadow-6{box-shadow:0 3px 5px -1px hsla(0,0%,100%,.2),0 6px 10px hsla(0,0%,100%,.14),0 1px 18px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-6{box-shadow:0 -3px 5px -1px hsla(0,0%,100%,.2),0 -6px 10px hsla(0,0%,100%,.14),0 -1px 18px hsla(0,0%,100%,.12)}body.body--dark .shadow-7{box-shadow:0 4px 5px -2px hsla(0,0%,100%,.2),0 7px 10px 1px hsla(0,0%,100%,.14),0 2px 16px 1px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-7{box-shadow:0 -4px 5px -2px hsla(0,0%,100%,.2),0 -7px 10px 1px hsla(0,0%,100%,.14),0 -2px 16px 1px hsla(0,0%,100%,.12)}body.body--dark .shadow-8{box-shadow:0 5px 5px -3px hsla(0,0%,100%,.2),0 8px 10px 1px hsla(0,0%,100%,.14),0 3px 14px 2px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-8{box-shadow:0 -5px 5px -3px hsla(0,0%,100%,.2),0 -8px 10px 1px hsla(0,0%,100%,.14),0 -3px 14px 2px hsla(0,0%,100%,.12)}body.body--dark .shadow-9{box-shadow:0 5px 6px -3px hsla(0,0%,100%,.2),0 9px 12px 1px hsla(0,0%,100%,.14),0 3px 16px 2px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-9{box-shadow:0 -5px 6px -3px hsla(0,0%,100%,.2),0 -9px 12px 1px hsla(0,0%,100%,.14),0 -3px 16px 2px hsla(0,0%,100%,.12)}body.body--dark .shadow-10{box-shadow:0 6px 6px -3px hsla(0,0%,100%,.2),0 10px 14px 1px hsla(0,0%,100%,.14),0 4px 18px 3px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-10{box-shadow:0 -6px 6px -3px hsla(0,0%,100%,.2),0 -10px 14px 1px hsla(0,0%,100%,.14),0 -4px 18px 3px hsla(0,0%,100%,.12)}body.body--dark .shadow-11{box-shadow:0 6px 7px -4px hsla(0,0%,100%,.2),0 11px 15px 1px hsla(0,0%,100%,.14),0 4px 20px 3px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-11{box-shadow:0 -6px 7px -4px hsla(0,0%,100%,.2),0 -11px 15px 1px hsla(0,0%,100%,.14),0 -4px 20px 3px hsla(0,0%,100%,.12)}body.body--dark .shadow-12{box-shadow:0 7px 8px -4px hsla(0,0%,100%,.2),0 12px 17px 2px hsla(0,0%,100%,.14),0 5px 22px 4px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-12{box-shadow:0 -7px 8px -4px hsla(0,0%,100%,.2),0 -12px 17px 2px hsla(0,0%,100%,.14),0 -5px 22px 4px hsla(0,0%,100%,.12)}body.body--dark .shadow-13{box-shadow:0 7px 8px -4px hsla(0,0%,100%,.2),0 13px 19px 2px hsla(0,0%,100%,.14),0 5px 24px 4px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-13{box-shadow:0 -7px 8px -4px hsla(0,0%,100%,.2),0 -13px 19px 2px hsla(0,0%,100%,.14),0 -5px 24px 4px hsla(0,0%,100%,.12)}body.body--dark .shadow-14{box-shadow:0 7px 9px -4px hsla(0,0%,100%,.2),0 14px 21px 2px hsla(0,0%,100%,.14),0 5px 26px 4px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-14{box-shadow:0 -7px 9px -4px hsla(0,0%,100%,.2),0 -14px 21px 2px hsla(0,0%,100%,.14),0 -5px 26px 4px hsla(0,0%,100%,.12)}body.body--dark .shadow-15{box-shadow:0 8px 9px -5px hsla(0,0%,100%,.2),0 15px 22px 2px hsla(0,0%,100%,.14),0 6px 28px 5px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-15{box-shadow:0 -8px 9px -5px hsla(0,0%,100%,.2),0 -15px 22px 2px hsla(0,0%,100%,.14),0 -6px 28px 5px hsla(0,0%,100%,.12)}body.body--dark .shadow-16{box-shadow:0 8px 10px -5px hsla(0,0%,100%,.2),0 16px 24px 2px hsla(0,0%,100%,.14),0 6px 30px 5px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-16{box-shadow:0 -8px 10px -5px hsla(0,0%,100%,.2),0 -16px 24px 2px hsla(0,0%,100%,.14),0 -6px 30px 5px hsla(0,0%,100%,.12)}body.body--dark .shadow-17{box-shadow:0 8px 11px -5px hsla(0,0%,100%,.2),0 17px 26px 2px hsla(0,0%,100%,.14),0 6px 32px 5px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-17{box-shadow:0 -8px 11px -5px hsla(0,0%,100%,.2),0 -17px 26px 2px hsla(0,0%,100%,.14),0 -6px 32px 5px hsla(0,0%,100%,.12)}body.body--dark .shadow-18{box-shadow:0 9px 11px -5px hsla(0,0%,100%,.2),0 18px 28px 2px hsla(0,0%,100%,.14),0 7px 34px 6px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-18{box-shadow:0 -9px 11px -5px hsla(0,0%,100%,.2),0 -18px 28px 2px hsla(0,0%,100%,.14),0 -7px 34px 6px hsla(0,0%,100%,.12)}body.body--dark .shadow-19{box-shadow:0 9px 12px -6px hsla(0,0%,100%,.2),0 19px 29px 2px hsla(0,0%,100%,.14),0 7px 36px 6px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-19{box-shadow:0 -9px 12px -6px hsla(0,0%,100%,.2),0 -19px 29px 2px hsla(0,0%,100%,.14),0 -7px 36px 6px hsla(0,0%,100%,.12)}body.body--dark .shadow-20{box-shadow:0 10px 13px -6px hsla(0,0%,100%,.2),0 20px 31px 3px hsla(0,0%,100%,.14),0 8px 38px 7px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-20{box-shadow:0 -10px 13px -6px hsla(0,0%,100%,.2),0 -20px 31px 3px hsla(0,0%,100%,.14),0 -8px 38px 7px hsla(0,0%,100%,.12)}body.body--dark .shadow-21{box-shadow:0 10px 13px -6px hsla(0,0%,100%,.2),0 21px 33px 3px hsla(0,0%,100%,.14),0 8px 40px 7px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-21{box-shadow:0 -10px 13px -6px hsla(0,0%,100%,.2),0 -21px 33px 3px hsla(0,0%,100%,.14),0 -8px 40px 7px hsla(0,0%,100%,.12)}body.body--dark .shadow-22{box-shadow:0 10px 14px -6px hsla(0,0%,100%,.2),0 22px 35px 3px hsla(0,0%,100%,.14),0 8px 42px 7px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-22{box-shadow:0 -10px 14px -6px hsla(0,0%,100%,.2),0 -22px 35px 3px hsla(0,0%,100%,.14),0 -8px 42px 7px hsla(0,0%,100%,.12)}body.body--dark .shadow-23{box-shadow:0 11px 14px -7px hsla(0,0%,100%,.2),0 23px 36px 3px hsla(0,0%,100%,.14),0 9px 44px 8px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-23{box-shadow:0 -11px 14px -7px hsla(0,0%,100%,.2),0 -23px 36px 3px hsla(0,0%,100%,.14),0 -9px 44px 8px hsla(0,0%,100%,.12)}body.body--dark .shadow-24{box-shadow:0 11px 15px -7px hsla(0,0%,100%,.2),0 24px 38px 3px hsla(0,0%,100%,.14),0 9px 46px 8px hsla(0,0%,100%,.12)}body.body--dark .shadow-up-24{box-shadow:0 -11px 15px -7px hsla(0,0%,100%,.2),0 -24px 38px 3px hsla(0,0%,100%,.14),0 -9px 46px 8px hsla(0,0%,100%,.12)}body.body--dark .inset-shadow{box-shadow:inset 0 7px 9px -7px hsla(0,0%,100%,.7)}body.body--dark .inset-shadow-down{box-shadow:inset 0 -7px 9px -7px hsla(0,0%,100%,.7)}.no-shadow,.shadow-0{box-shadow:none!important}.z-marginals{z-index:2000}.z-notify{z-index:9500}.z-fullscreen{z-index:6000}.z-inherit{z-index:inherit!important}.column,.flex,.row{display:flex;flex-wrap:wrap}.column.inline,.flex.inline,.row.inline{display:inline-flex}.row.reverse{flex-direction:row-reverse}.column{flex-direction:column}.column.reverse{flex-direction:column-reverse}.wrap{flex-wrap:wrap}.no-wrap{flex-wrap:nowrap}.reverse-wrap{flex-wrap:wrap-reverse}.order-first{order:-10000}.order-last{order:10000}.order-none{order:0}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.flex-center,.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.flex-center,.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-stretch{align-content:stretch}.content-between{align-content:space-between}.content-around{align-content:space-around}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-baseline{align-self:baseline}.self-stretch{align-self:stretch}.q-gutter-none,.q-gutter-none>*,.q-gutter-x-none,.q-gutter-x-none>*{margin-left:0}.q-gutter-none,.q-gutter-none>*,.q-gutter-y-none,.q-gutter-y-none>*{margin-top:0}.q-col-gutter-none,.q-col-gutter-x-none{margin-left:0}.q-col-gutter-none>*,.q-col-gutter-x-none>*{padding-left:0}.q-col-gutter-none,.q-col-gutter-y-none{margin-top:0}.q-col-gutter-none>*,.q-col-gutter-y-none>*{padding-top:0}.q-gutter-x-xs,.q-gutter-xs{margin-left:-4px}.q-gutter-x-xs>*,.q-gutter-xs>*{margin-left:4px}.q-gutter-xs,.q-gutter-y-xs{margin-top:-4px}.q-gutter-xs>*,.q-gutter-y-xs>*{margin-top:4px}.q-col-gutter-x-xs,.q-col-gutter-xs{margin-left:-4px}.q-col-gutter-x-xs>*,.q-col-gutter-xs>*{padding-left:4px}.q-col-gutter-xs,.q-col-gutter-y-xs{margin-top:-4px}.q-col-gutter-xs>*,.q-col-gutter-y-xs>*{padding-top:4px}.q-gutter-sm,.q-gutter-x-sm{margin-left:-8px}.q-gutter-sm>*,.q-gutter-x-sm>*{margin-left:8px}.q-gutter-sm,.q-gutter-y-sm{margin-top:-8px}.q-gutter-sm>*,.q-gutter-y-sm>*{margin-top:8px}.q-col-gutter-sm,.q-col-gutter-x-sm{margin-left:-8px}.q-col-gutter-sm>*,.q-col-gutter-x-sm>*{padding-left:8px}.q-col-gutter-sm,.q-col-gutter-y-sm{margin-top:-8px}.q-col-gutter-sm>*,.q-col-gutter-y-sm>*{padding-top:8px}.q-gutter-md,.q-gutter-x-md{margin-left:-16px}.q-gutter-md>*,.q-gutter-x-md>*{margin-left:16px}.q-gutter-md,.q-gutter-y-md{margin-top:-16px}.q-gutter-md>*,.q-gutter-y-md>*{margin-top:16px}.q-col-gutter-md,.q-col-gutter-x-md{margin-left:-16px}.q-col-gutter-md>*,.q-col-gutter-x-md>*{padding-left:16px}.q-col-gutter-md,.q-col-gutter-y-md{margin-top:-16px}.q-col-gutter-md>*,.q-col-gutter-y-md>*{padding-top:16px}.q-gutter-lg,.q-gutter-x-lg{margin-left:-24px}.q-gutter-lg>*,.q-gutter-x-lg>*{margin-left:24px}.q-gutter-lg,.q-gutter-y-lg{margin-top:-24px}.q-gutter-lg>*,.q-gutter-y-lg>*{margin-top:24px}.q-col-gutter-lg,.q-col-gutter-x-lg{margin-left:-24px}.q-col-gutter-lg>*,.q-col-gutter-x-lg>*{padding-left:24px}.q-col-gutter-lg,.q-col-gutter-y-lg{margin-top:-24px}.q-col-gutter-lg>*,.q-col-gutter-y-lg>*{padding-top:24px}.q-gutter-x-xl,.q-gutter-xl{margin-left:-48px}.q-gutter-x-xl>*,.q-gutter-xl>*{margin-left:48px}.q-gutter-xl,.q-gutter-y-xl{margin-top:-48px}.q-gutter-xl>*,.q-gutter-y-xl>*{margin-top:48px}.q-col-gutter-x-xl,.q-col-gutter-xl{margin-left:-48px}.q-col-gutter-x-xl>*,.q-col-gutter-xl>*{padding-left:48px}.q-col-gutter-xl,.q-col-gutter-y-xl{margin-top:-48px}.q-col-gutter-xl>*,.q-col-gutter-y-xl>*{padding-top:48px}@media(min-width:0){.flex>.col,.flex>.col-0,.flex>.col-1,.flex>.col-10,.flex>.col-11,.flex>.col-12,.flex>.col-2,.flex>.col-3,.flex>.col-4,.flex>.col-5,.flex>.col-6,.flex>.col-7,.flex>.col-8,.flex>.col-9,.flex>.col-auto,.flex>.col-grow,.flex>.col-shrink,.flex>.col-xs,.flex>.col-xs-0,.flex>.col-xs-1,.flex>.col-xs-10,.flex>.col-xs-11,.flex>.col-xs-12,.flex>.col-xs-2,.flex>.col-xs-3,.flex>.col-xs-4,.flex>.col-xs-5,.flex>.col-xs-6,.flex>.col-xs-7,.flex>.col-xs-8,.flex>.col-xs-9,.flex>.col-xs-auto,.flex>.col-xs-grow,.flex>.col-xs-shrink,.row>.col,.row>.col-0,.row>.col-1,.row>.col-10,.row>.col-11,.row>.col-12,.row>.col-2,.row>.col-3,.row>.col-4,.row>.col-5,.row>.col-6,.row>.col-7,.row>.col-8,.row>.col-9,.row>.col-auto,.row>.col-grow,.row>.col-shrink,.row>.col-xs,.row>.col-xs-0,.row>.col-xs-1,.row>.col-xs-10,.row>.col-xs-11,.row>.col-xs-12,.row>.col-xs-2,.row>.col-xs-3,.row>.col-xs-4,.row>.col-xs-5,.row>.col-xs-6,.row>.col-xs-7,.row>.col-xs-8,.row>.col-xs-9,.row>.col-xs-auto,.row>.col-xs-grow,.row>.col-xs-shrink{width:auto;min-width:0;max-width:100%}.column>.col,.column>.col-0,.column>.col-1,.column>.col-10,.column>.col-11,.column>.col-12,.column>.col-2,.column>.col-3,.column>.col-4,.column>.col-5,.column>.col-6,.column>.col-7,.column>.col-8,.column>.col-9,.column>.col-auto,.column>.col-grow,.column>.col-shrink,.column>.col-xs,.column>.col-xs-0,.column>.col-xs-1,.column>.col-xs-10,.column>.col-xs-11,.column>.col-xs-12,.column>.col-xs-2,.column>.col-xs-3,.column>.col-xs-4,.column>.col-xs-5,.column>.col-xs-6,.column>.col-xs-7,.column>.col-xs-8,.column>.col-xs-9,.column>.col-xs-auto,.column>.col-xs-grow,.column>.col-xs-shrink,.flex>.col,.flex>.col-0,.flex>.col-1,.flex>.col-10,.flex>.col-11,.flex>.col-12,.flex>.col-2,.flex>.col-3,.flex>.col-4,.flex>.col-5,.flex>.col-6,.flex>.col-7,.flex>.col-8,.flex>.col-9,.flex>.col-auto,.flex>.col-grow,.flex>.col-shrink,.flex>.col-xs,.flex>.col-xs-0,.flex>.col-xs-1,.flex>.col-xs-10,.flex>.col-xs-11,.flex>.col-xs-12,.flex>.col-xs-2,.flex>.col-xs-3,.flex>.col-xs-4,.flex>.col-xs-5,.flex>.col-xs-6,.flex>.col-xs-7,.flex>.col-xs-8,.flex>.col-xs-9,.flex>.col-xs-auto,.flex>.col-xs-grow,.flex>.col-xs-shrink{height:auto;min-height:0;max-height:100%}.col,.col-xs{flex:10000 1 0%}.col-0,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-xs-0,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-auto{flex:0 0 auto}.col-grow,.col-xs-grow{flex:1 0 auto}.col-shrink,.col-xs-shrink{flex:0 1 auto}.row>.col-0,.row>.col-xs-0{height:auto;width:0}.row>.offset-0,.row>.offset-xs-0{margin-left:0}.column>.col-0,.column>.col-xs-0{height:0;width:auto}.row>.col-1,.row>.col-xs-1{height:auto;width:8.3333%}.row>.offset-1,.row>.offset-xs-1{margin-left:8.3333%}.column>.col-1,.column>.col-xs-1{height:8.3333%;width:auto}.row>.col-2,.row>.col-xs-2{height:auto;width:16.6667%}.row>.offset-2,.row>.offset-xs-2{margin-left:16.6667%}.column>.col-2,.column>.col-xs-2{height:16.6667%;width:auto}.row>.col-3,.row>.col-xs-3{height:auto;width:25%}.row>.offset-3,.row>.offset-xs-3{margin-left:25%}.column>.col-3,.column>.col-xs-3{height:25%;width:auto}.row>.col-4,.row>.col-xs-4{height:auto;width:33.3333%}.row>.offset-4,.row>.offset-xs-4{margin-left:33.3333%}.column>.col-4,.column>.col-xs-4{height:33.3333%;width:auto}.row>.col-5,.row>.col-xs-5{height:auto;width:41.6667%}.row>.offset-5,.row>.offset-xs-5{margin-left:41.6667%}.column>.col-5,.column>.col-xs-5{height:41.6667%;width:auto}.row>.col-6,.row>.col-xs-6{height:auto;width:50%}.row>.offset-6,.row>.offset-xs-6{margin-left:50%}.column>.col-6,.column>.col-xs-6{height:50%;width:auto}.row>.col-7,.row>.col-xs-7{height:auto;width:58.3333%}.row>.offset-7,.row>.offset-xs-7{margin-left:58.3333%}.column>.col-7,.column>.col-xs-7{height:58.3333%;width:auto}.row>.col-8,.row>.col-xs-8{height:auto;width:66.6667%}.row>.offset-8,.row>.offset-xs-8{margin-left:66.6667%}.column>.col-8,.column>.col-xs-8{height:66.6667%;width:auto}.row>.col-9,.row>.col-xs-9{height:auto;width:75%}.row>.offset-9,.row>.offset-xs-9{margin-left:75%}.column>.col-9,.column>.col-xs-9{height:75%;width:auto}.row>.col-10,.row>.col-xs-10{height:auto;width:83.3333%}.row>.offset-10,.row>.offset-xs-10{margin-left:83.3333%}.column>.col-10,.column>.col-xs-10{height:83.3333%;width:auto}.row>.col-11,.row>.col-xs-11{height:auto;width:91.6667%}.row>.offset-11,.row>.offset-xs-11{margin-left:91.6667%}.column>.col-11,.column>.col-xs-11{height:91.6667%;width:auto}.row>.col-12,.row>.col-xs-12{height:auto;width:100%}.row>.offset-12,.row>.offset-xs-12{margin-left:100%}.column>.col-12,.column>.col-xs-12{height:100%;width:auto}.row>.col-all{height:auto;flex:0 0 100%}}@media(min-width:600px){.flex>.col-sm,.flex>.col-sm-0,.flex>.col-sm-1,.flex>.col-sm-10,.flex>.col-sm-11,.flex>.col-sm-12,.flex>.col-sm-2,.flex>.col-sm-3,.flex>.col-sm-4,.flex>.col-sm-5,.flex>.col-sm-6,.flex>.col-sm-7,.flex>.col-sm-8,.flex>.col-sm-9,.flex>.col-sm-auto,.flex>.col-sm-grow,.flex>.col-sm-shrink,.row>.col-sm,.row>.col-sm-0,.row>.col-sm-1,.row>.col-sm-10,.row>.col-sm-11,.row>.col-sm-12,.row>.col-sm-2,.row>.col-sm-3,.row>.col-sm-4,.row>.col-sm-5,.row>.col-sm-6,.row>.col-sm-7,.row>.col-sm-8,.row>.col-sm-9,.row>.col-sm-auto,.row>.col-sm-grow,.row>.col-sm-shrink{width:auto;min-width:0;max-width:100%}.column>.col-sm,.column>.col-sm-0,.column>.col-sm-1,.column>.col-sm-10,.column>.col-sm-11,.column>.col-sm-12,.column>.col-sm-2,.column>.col-sm-3,.column>.col-sm-4,.column>.col-sm-5,.column>.col-sm-6,.column>.col-sm-7,.column>.col-sm-8,.column>.col-sm-9,.column>.col-sm-auto,.column>.col-sm-grow,.column>.col-sm-shrink,.flex>.col-sm,.flex>.col-sm-0,.flex>.col-sm-1,.flex>.col-sm-10,.flex>.col-sm-11,.flex>.col-sm-12,.flex>.col-sm-2,.flex>.col-sm-3,.flex>.col-sm-4,.flex>.col-sm-5,.flex>.col-sm-6,.flex>.col-sm-7,.flex>.col-sm-8,.flex>.col-sm-9,.flex>.col-sm-auto,.flex>.col-sm-grow,.flex>.col-sm-shrink{height:auto;min-height:0;max-height:100%}.col-sm{flex:10000 1 0%}.col-sm-0,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto{flex:0 0 auto}.col-sm-grow{flex:1 0 auto}.col-sm-shrink{flex:0 1 auto}.row>.col-sm-0{height:auto;width:0}.row>.offset-sm-0{margin-left:0}.column>.col-sm-0{height:0;width:auto}.row>.col-sm-1{height:auto;width:8.3333%}.row>.offset-sm-1{margin-left:8.3333%}.column>.col-sm-1{height:8.3333%;width:auto}.row>.col-sm-2{height:auto;width:16.6667%}.row>.offset-sm-2{margin-left:16.6667%}.column>.col-sm-2{height:16.6667%;width:auto}.row>.col-sm-3{height:auto;width:25%}.row>.offset-sm-3{margin-left:25%}.column>.col-sm-3{height:25%;width:auto}.row>.col-sm-4{height:auto;width:33.3333%}.row>.offset-sm-4{margin-left:33.3333%}.column>.col-sm-4{height:33.3333%;width:auto}.row>.col-sm-5{height:auto;width:41.6667%}.row>.offset-sm-5{margin-left:41.6667%}.column>.col-sm-5{height:41.6667%;width:auto}.row>.col-sm-6{height:auto;width:50%}.row>.offset-sm-6{margin-left:50%}.column>.col-sm-6{height:50%;width:auto}.row>.col-sm-7{height:auto;width:58.3333%}.row>.offset-sm-7{margin-left:58.3333%}.column>.col-sm-7{height:58.3333%;width:auto}.row>.col-sm-8{height:auto;width:66.6667%}.row>.offset-sm-8{margin-left:66.6667%}.column>.col-sm-8{height:66.6667%;width:auto}.row>.col-sm-9{height:auto;width:75%}.row>.offset-sm-9{margin-left:75%}.column>.col-sm-9{height:75%;width:auto}.row>.col-sm-10{height:auto;width:83.3333%}.row>.offset-sm-10{margin-left:83.3333%}.column>.col-sm-10{height:83.3333%;width:auto}.row>.col-sm-11{height:auto;width:91.6667%}.row>.offset-sm-11{margin-left:91.6667%}.column>.col-sm-11{height:91.6667%;width:auto}.row>.col-sm-12{height:auto;width:100%}.row>.offset-sm-12{margin-left:100%}.column>.col-sm-12{height:100%;width:auto}}@media(min-width:1024px){.flex>.col-md,.flex>.col-md-0,.flex>.col-md-1,.flex>.col-md-10,.flex>.col-md-11,.flex>.col-md-12,.flex>.col-md-2,.flex>.col-md-3,.flex>.col-md-4,.flex>.col-md-5,.flex>.col-md-6,.flex>.col-md-7,.flex>.col-md-8,.flex>.col-md-9,.flex>.col-md-auto,.flex>.col-md-grow,.flex>.col-md-shrink,.row>.col-md,.row>.col-md-0,.row>.col-md-1,.row>.col-md-10,.row>.col-md-11,.row>.col-md-12,.row>.col-md-2,.row>.col-md-3,.row>.col-md-4,.row>.col-md-5,.row>.col-md-6,.row>.col-md-7,.row>.col-md-8,.row>.col-md-9,.row>.col-md-auto,.row>.col-md-grow,.row>.col-md-shrink{width:auto;min-width:0;max-width:100%}.column>.col-md,.column>.col-md-0,.column>.col-md-1,.column>.col-md-10,.column>.col-md-11,.column>.col-md-12,.column>.col-md-2,.column>.col-md-3,.column>.col-md-4,.column>.col-md-5,.column>.col-md-6,.column>.col-md-7,.column>.col-md-8,.column>.col-md-9,.column>.col-md-auto,.column>.col-md-grow,.column>.col-md-shrink,.flex>.col-md,.flex>.col-md-0,.flex>.col-md-1,.flex>.col-md-10,.flex>.col-md-11,.flex>.col-md-12,.flex>.col-md-2,.flex>.col-md-3,.flex>.col-md-4,.flex>.col-md-5,.flex>.col-md-6,.flex>.col-md-7,.flex>.col-md-8,.flex>.col-md-9,.flex>.col-md-auto,.flex>.col-md-grow,.flex>.col-md-shrink{height:auto;min-height:0;max-height:100%}.col-md{flex:10000 1 0%}.col-md-0,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto{flex:0 0 auto}.col-md-grow{flex:1 0 auto}.col-md-shrink{flex:0 1 auto}.row>.col-md-0{height:auto;width:0}.row>.offset-md-0{margin-left:0}.column>.col-md-0{height:0;width:auto}.row>.col-md-1{height:auto;width:8.3333%}.row>.offset-md-1{margin-left:8.3333%}.column>.col-md-1{height:8.3333%;width:auto}.row>.col-md-2{height:auto;width:16.6667%}.row>.offset-md-2{margin-left:16.6667%}.column>.col-md-2{height:16.6667%;width:auto}.row>.col-md-3{height:auto;width:25%}.row>.offset-md-3{margin-left:25%}.column>.col-md-3{height:25%;width:auto}.row>.col-md-4{height:auto;width:33.3333%}.row>.offset-md-4{margin-left:33.3333%}.column>.col-md-4{height:33.3333%;width:auto}.row>.col-md-5{height:auto;width:41.6667%}.row>.offset-md-5{margin-left:41.6667%}.column>.col-md-5{height:41.6667%;width:auto}.row>.col-md-6{height:auto;width:50%}.row>.offset-md-6{margin-left:50%}.column>.col-md-6{height:50%;width:auto}.row>.col-md-7{height:auto;width:58.3333%}.row>.offset-md-7{margin-left:58.3333%}.column>.col-md-7{height:58.3333%;width:auto}.row>.col-md-8{height:auto;width:66.6667%}.row>.offset-md-8{margin-left:66.6667%}.column>.col-md-8{height:66.6667%;width:auto}.row>.col-md-9{height:auto;width:75%}.row>.offset-md-9{margin-left:75%}.column>.col-md-9{height:75%;width:auto}.row>.col-md-10{height:auto;width:83.3333%}.row>.offset-md-10{margin-left:83.3333%}.column>.col-md-10{height:83.3333%;width:auto}.row>.col-md-11{height:auto;width:91.6667%}.row>.offset-md-11{margin-left:91.6667%}.column>.col-md-11{height:91.6667%;width:auto}.row>.col-md-12{height:auto;width:100%}.row>.offset-md-12{margin-left:100%}.column>.col-md-12{height:100%;width:auto}}@media(min-width:1440px){.flex>.col-lg,.flex>.col-lg-0,.flex>.col-lg-1,.flex>.col-lg-10,.flex>.col-lg-11,.flex>.col-lg-12,.flex>.col-lg-2,.flex>.col-lg-3,.flex>.col-lg-4,.flex>.col-lg-5,.flex>.col-lg-6,.flex>.col-lg-7,.flex>.col-lg-8,.flex>.col-lg-9,.flex>.col-lg-auto,.flex>.col-lg-grow,.flex>.col-lg-shrink,.row>.col-lg,.row>.col-lg-0,.row>.col-lg-1,.row>.col-lg-10,.row>.col-lg-11,.row>.col-lg-12,.row>.col-lg-2,.row>.col-lg-3,.row>.col-lg-4,.row>.col-lg-5,.row>.col-lg-6,.row>.col-lg-7,.row>.col-lg-8,.row>.col-lg-9,.row>.col-lg-auto,.row>.col-lg-grow,.row>.col-lg-shrink{width:auto;min-width:0;max-width:100%}.column>.col-lg,.column>.col-lg-0,.column>.col-lg-1,.column>.col-lg-10,.column>.col-lg-11,.column>.col-lg-12,.column>.col-lg-2,.column>.col-lg-3,.column>.col-lg-4,.column>.col-lg-5,.column>.col-lg-6,.column>.col-lg-7,.column>.col-lg-8,.column>.col-lg-9,.column>.col-lg-auto,.column>.col-lg-grow,.column>.col-lg-shrink,.flex>.col-lg,.flex>.col-lg-0,.flex>.col-lg-1,.flex>.col-lg-10,.flex>.col-lg-11,.flex>.col-lg-12,.flex>.col-lg-2,.flex>.col-lg-3,.flex>.col-lg-4,.flex>.col-lg-5,.flex>.col-lg-6,.flex>.col-lg-7,.flex>.col-lg-8,.flex>.col-lg-9,.flex>.col-lg-auto,.flex>.col-lg-grow,.flex>.col-lg-shrink{height:auto;min-height:0;max-height:100%}.col-lg{flex:10000 1 0%}.col-lg-0,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto{flex:0 0 auto}.col-lg-grow{flex:1 0 auto}.col-lg-shrink{flex:0 1 auto}.row>.col-lg-0{height:auto;width:0}.row>.offset-lg-0{margin-left:0}.column>.col-lg-0{height:0;width:auto}.row>.col-lg-1{height:auto;width:8.3333%}.row>.offset-lg-1{margin-left:8.3333%}.column>.col-lg-1{height:8.3333%;width:auto}.row>.col-lg-2{height:auto;width:16.6667%}.row>.offset-lg-2{margin-left:16.6667%}.column>.col-lg-2{height:16.6667%;width:auto}.row>.col-lg-3{height:auto;width:25%}.row>.offset-lg-3{margin-left:25%}.column>.col-lg-3{height:25%;width:auto}.row>.col-lg-4{height:auto;width:33.3333%}.row>.offset-lg-4{margin-left:33.3333%}.column>.col-lg-4{height:33.3333%;width:auto}.row>.col-lg-5{height:auto;width:41.6667%}.row>.offset-lg-5{margin-left:41.6667%}.column>.col-lg-5{height:41.6667%;width:auto}.row>.col-lg-6{height:auto;width:50%}.row>.offset-lg-6{margin-left:50%}.column>.col-lg-6{height:50%;width:auto}.row>.col-lg-7{height:auto;width:58.3333%}.row>.offset-lg-7{margin-left:58.3333%}.column>.col-lg-7{height:58.3333%;width:auto}.row>.col-lg-8{height:auto;width:66.6667%}.row>.offset-lg-8{margin-left:66.6667%}.column>.col-lg-8{height:66.6667%;width:auto}.row>.col-lg-9{height:auto;width:75%}.row>.offset-lg-9{margin-left:75%}.column>.col-lg-9{height:75%;width:auto}.row>.col-lg-10{height:auto;width:83.3333%}.row>.offset-lg-10{margin-left:83.3333%}.column>.col-lg-10{height:83.3333%;width:auto}.row>.col-lg-11{height:auto;width:91.6667%}.row>.offset-lg-11{margin-left:91.6667%}.column>.col-lg-11{height:91.6667%;width:auto}.row>.col-lg-12{height:auto;width:100%}.row>.offset-lg-12{margin-left:100%}.column>.col-lg-12{height:100%;width:auto}}@media(min-width:1920px){.flex>.col-xl,.flex>.col-xl-0,.flex>.col-xl-1,.flex>.col-xl-10,.flex>.col-xl-11,.flex>.col-xl-12,.flex>.col-xl-2,.flex>.col-xl-3,.flex>.col-xl-4,.flex>.col-xl-5,.flex>.col-xl-6,.flex>.col-xl-7,.flex>.col-xl-8,.flex>.col-xl-9,.flex>.col-xl-auto,.flex>.col-xl-grow,.flex>.col-xl-shrink,.row>.col-xl,.row>.col-xl-0,.row>.col-xl-1,.row>.col-xl-10,.row>.col-xl-11,.row>.col-xl-12,.row>.col-xl-2,.row>.col-xl-3,.row>.col-xl-4,.row>.col-xl-5,.row>.col-xl-6,.row>.col-xl-7,.row>.col-xl-8,.row>.col-xl-9,.row>.col-xl-auto,.row>.col-xl-grow,.row>.col-xl-shrink{width:auto;min-width:0;max-width:100%}.column>.col-xl,.column>.col-xl-0,.column>.col-xl-1,.column>.col-xl-10,.column>.col-xl-11,.column>.col-xl-12,.column>.col-xl-2,.column>.col-xl-3,.column>.col-xl-4,.column>.col-xl-5,.column>.col-xl-6,.column>.col-xl-7,.column>.col-xl-8,.column>.col-xl-9,.column>.col-xl-auto,.column>.col-xl-grow,.column>.col-xl-shrink,.flex>.col-xl,.flex>.col-xl-0,.flex>.col-xl-1,.flex>.col-xl-10,.flex>.col-xl-11,.flex>.col-xl-12,.flex>.col-xl-2,.flex>.col-xl-3,.flex>.col-xl-4,.flex>.col-xl-5,.flex>.col-xl-6,.flex>.col-xl-7,.flex>.col-xl-8,.flex>.col-xl-9,.flex>.col-xl-auto,.flex>.col-xl-grow,.flex>.col-xl-shrink{height:auto;min-height:0;max-height:100%}.col-xl{flex:10000 1 0%}.col-xl-0,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{flex:0 0 auto}.col-xl-grow{flex:1 0 auto}.col-xl-shrink{flex:0 1 auto}.row>.col-xl-0{height:auto;width:0}.row>.offset-xl-0{margin-left:0}.column>.col-xl-0{height:0;width:auto}.row>.col-xl-1{height:auto;width:8.3333%}.row>.offset-xl-1{margin-left:8.3333%}.column>.col-xl-1{height:8.3333%;width:auto}.row>.col-xl-2{height:auto;width:16.6667%}.row>.offset-xl-2{margin-left:16.6667%}.column>.col-xl-2{height:16.6667%;width:auto}.row>.col-xl-3{height:auto;width:25%}.row>.offset-xl-3{margin-left:25%}.column>.col-xl-3{height:25%;width:auto}.row>.col-xl-4{height:auto;width:33.3333%}.row>.offset-xl-4{margin-left:33.3333%}.column>.col-xl-4{height:33.3333%;width:auto}.row>.col-xl-5{height:auto;width:41.6667%}.row>.offset-xl-5{margin-left:41.6667%}.column>.col-xl-5{height:41.6667%;width:auto}.row>.col-xl-6{height:auto;width:50%}.row>.offset-xl-6{margin-left:50%}.column>.col-xl-6{height:50%;width:auto}.row>.col-xl-7{height:auto;width:58.3333%}.row>.offset-xl-7{margin-left:58.3333%}.column>.col-xl-7{height:58.3333%;width:auto}.row>.col-xl-8{height:auto;width:66.6667%}.row>.offset-xl-8{margin-left:66.6667%}.column>.col-xl-8{height:66.6667%;width:auto}.row>.col-xl-9{height:auto;width:75%}.row>.offset-xl-9{margin-left:75%}.column>.col-xl-9{height:75%;width:auto}.row>.col-xl-10{height:auto;width:83.3333%}.row>.offset-xl-10{margin-left:83.3333%}.column>.col-xl-10{height:83.3333%;width:auto}.row>.col-xl-11{height:auto;width:91.6667%}.row>.offset-xl-11{margin-left:91.6667%}.column>.col-xl-11{height:91.6667%;width:auto}.row>.col-xl-12{height:auto;width:100%}.row>.offset-xl-12{margin-left:100%}.column>.col-xl-12{height:100%;width:auto}}.rounded-borders{border-radius:4px}.border-radius-inherit{border-radius:inherit}.no-transition{transition:none!important}.transition-0{transition:0s!important}.glossy{background-image:linear-gradient(180deg,hsla(0,0%,100%,.3),hsla(0,0%,100%,0) 50%,rgba(0,0,0,.12) 51%,rgba(0,0,0,.04))!important}.q-placeholder::-moz-placeholder{color:inherit;opacity:.7}.q-placeholder::placeholder{color:inherit;opacity:.7}.q-body--fullscreen-mixin,.q-body--prevent-scroll{position:fixed!important}.q-body--force-scrollbar-x{overflow-x:scroll}.q-body--force-scrollbar-y{overflow-y:scroll}.q-no-input-spinner{-moz-appearance:textfield!important}.q-no-input-spinner::-webkit-inner-spin-button,.q-no-input-spinner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.q-link{outline:0;text-decoration:none}.q-link--focusable:focus-visible{-webkit-text-decoration:underline dashed currentColor 1px;text-decoration:underline dashed currentColor 1px}body.electron .q-electron-drag{-webkit-user-select:none;-webkit-app-region:drag}body.electron .q-electron-drag .q-btn-item,body.electron .q-electron-drag--exception{-webkit-app-region:no-drag}img.responsive{max-width:100%;height:auto}.non-selectable{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.scroll,body.mobile .scroll--mobile{overflow:auto}.scroll,.scroll-x,.scroll-y{-webkit-overflow-scrolling:touch;will-change:scroll-position}.scroll-x{overflow-x:auto}.scroll-y{overflow-y:auto}.no-scroll{overflow:hidden!important}.no-pointer-events,.no-pointer-events--children,.no-pointer-events--children *{pointer-events:none!important}.all-pointer-events{pointer-events:all!important}.cursor-pointer{cursor:pointer!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-inherit{cursor:inherit!important}.cursor-none{cursor:none!important}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.rotate-135{transform:rotate(135deg)}.rotate-180{transform:rotate(180deg)}.rotate-225{transform:rotate(225deg)}.rotate-270{transform:rotate(270deg)}.rotate-315{transform:rotate(315deg)}.flip-horizontal{transform:scaleX(-1)}.flip-vertical{transform:scaleY(-1)}.float-left{float:left}.float-right{float:right}.relative-position{position:relative}.fixed,.fixed-bottom,.fixed-bottom-left,.fixed-bottom-right,.fixed-center,.fixed-full,.fixed-left,.fixed-right,.fixed-top,.fixed-top-left,.fixed-top-right,.fullscreen{position:fixed}.absolute,.absolute-bottom,.absolute-bottom-left,.absolute-bottom-right,.absolute-center,.absolute-full,.absolute-left,.absolute-right,.absolute-top,.absolute-top-left,.absolute-top-right{position:absolute}.absolute-top,.fixed-top{top:0;left:0;right:0}.absolute-right,.fixed-right{top:0;right:0;bottom:0}.absolute-bottom,.fixed-bottom{right:0;bottom:0;left:0}.absolute-left,.fixed-left{top:0;bottom:0;left:0}.absolute-top-left,.fixed-top-left{top:0;left:0}.absolute-top-right,.fixed-top-right{top:0;right:0}.absolute-bottom-left,.fixed-bottom-left{bottom:0;left:0}.absolute-bottom-right,.fixed-bottom-right{bottom:0;right:0}.fullscreen{z-index:6000;border-radius:0!important;max-width:100vw;max-height:100vh}body.q-ios-padding .fullscreen{padding-top:20px!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}.absolute-full,.fixed-full,.fullscreen{top:0;right:0;bottom:0;left:0}.absolute-center,.fixed-center{top:50%;left:50%;transform:translate(-50%,-50%)}.vertical-top{vertical-align:top!important}.vertical-middle{vertical-align:middle!important}.vertical-bottom{vertical-align:bottom!important}.on-left{margin-right:12px}.on-right{margin-left:12px}.q-position-engine{margin-top:var(--q-pe-top,0)!important;margin-left:var(--q-pe-left,0)!important;will-change:auto;visibility:collapse}:root{--q-size-xs:0;--q-size-sm:600px;--q-size-md:1024px;--q-size-lg:1440px;--q-size-xl:1920px}.fit{width:100%!important}.fit,.full-height{height:100%!important}.full-width{width:100%!important;margin-left:0!important;margin-right:0!important}.window-height{margin-top:0!important;margin-bottom:0!important;height:100vh!important}.window-width{margin-left:0!important;margin-right:0!important;width:100vw!important}.block{display:block!important}.inline-block{display:inline-block!important}.q-pa-none{padding:0 0}.q-pl-none{padding-left:0}.q-pr-none{padding-right:0}.q-pt-none{padding-top:0}.q-pb-none{padding-bottom:0}.q-px-none{padding-left:0;padding-right:0}.q-py-none{padding-top:0;padding-bottom:0}.q-ma-none{margin:0 0}.q-ml-none{margin-left:0}.q-mr-none{margin-right:0}.q-mt-none{margin-top:0}.q-mb-none{margin-bottom:0}.q-mx-none{margin-left:0;margin-right:0}.q-my-none{margin-top:0;margin-bottom:0}.q-pa-xs{padding:4px 4px}.q-pl-xs{padding-left:4px}.q-pr-xs{padding-right:4px}.q-pt-xs{padding-top:4px}.q-pb-xs{padding-bottom:4px}.q-px-xs{padding-left:4px;padding-right:4px}.q-py-xs{padding-top:4px;padding-bottom:4px}.q-ma-xs{margin:4px 4px}.q-ml-xs{margin-left:4px}.q-mr-xs{margin-right:4px}.q-mt-xs{margin-top:4px}.q-mb-xs{margin-bottom:4px}.q-mx-xs{margin-left:4px;margin-right:4px}.q-my-xs{margin-top:4px;margin-bottom:4px}.q-pa-sm{padding:8px 8px}.q-pl-sm{padding-left:8px}.q-pr-sm{padding-right:8px}.q-pt-sm{padding-top:8px}.q-pb-sm{padding-bottom:8px}.q-px-sm{padding-left:8px;padding-right:8px}.q-py-sm{padding-top:8px;padding-bottom:8px}.q-ma-sm{margin:8px 8px}.q-ml-sm{margin-left:8px}.q-mr-sm{margin-right:8px}.q-mt-sm{margin-top:8px}.q-mb-sm{margin-bottom:8px}.q-mx-sm{margin-left:8px;margin-right:8px}.q-my-sm{margin-top:8px;margin-bottom:8px}.q-pa-md{padding:16px 16px}.q-pl-md{padding-left:16px}.q-pr-md{padding-right:16px}.q-pt-md{padding-top:16px}.q-pb-md{padding-bottom:16px}.q-px-md{padding-left:16px;padding-right:16px}.q-py-md{padding-top:16px;padding-bottom:16px}.q-ma-md{margin:16px 16px}.q-ml-md{margin-left:16px}.q-mr-md{margin-right:16px}.q-mt-md{margin-top:16px}.q-mb-md{margin-bottom:16px}.q-mx-md{margin-left:16px;margin-right:16px}.q-my-md{margin-top:16px;margin-bottom:16px}.q-pa-lg{padding:24px 24px}.q-pl-lg{padding-left:24px}.q-pr-lg{padding-right:24px}.q-pt-lg{padding-top:24px}.q-pb-lg{padding-bottom:24px}.q-px-lg{padding-left:24px;padding-right:24px}.q-py-lg{padding-top:24px;padding-bottom:24px}.q-ma-lg{margin:24px 24px}.q-ml-lg{margin-left:24px}.q-mr-lg{margin-right:24px}.q-mt-lg{margin-top:24px}.q-mb-lg{margin-bottom:24px}.q-mx-lg{margin-left:24px;margin-right:24px}.q-my-lg{margin-top:24px;margin-bottom:24px}.q-pa-xl{padding:48px 48px}.q-pl-xl{padding-left:48px}.q-pr-xl{padding-right:48px}.q-pt-xl{padding-top:48px}.q-pb-xl{padding-bottom:48px}.q-px-xl{padding-left:48px;padding-right:48px}.q-py-xl{padding-top:48px;padding-bottom:48px}.q-ma-xl{margin:48px 48px}.q-ml-xl{margin-left:48px}.q-mr-xl{margin-right:48px}.q-mt-xl{margin-top:48px}.q-mb-xl{margin-bottom:48px}.q-mx-xl{margin-left:48px;margin-right:48px}.q-my-xl{margin-top:48px;margin-bottom:48px}.q-mt-auto,.q-my-auto{margin-top:auto}.q-ml-auto{margin-left:auto}.q-mb-auto,.q-my-auto{margin-bottom:auto}.q-mr-auto,.q-mx-auto{margin-right:auto}.q-mx-auto{margin-left:auto}.q-touch{-webkit-user-select:none;-moz-user-select:none;user-select:none;user-drag:none;-khtml-user-drag:none;-webkit-user-drag:none}.q-touch-x{touch-action:pan-x}.q-touch-y{touch-action:pan-y}:root{--q-transition-duration:.3s}.q-transition--fade-enter-active,.q-transition--fade-leave-active,.q-transition--flip-enter-active,.q-transition--flip-leave-active,.q-transition--jump-down-enter-active,.q-transition--jump-down-leave-active,.q-transition--jump-left-enter-active,.q-transition--jump-left-leave-active,.q-transition--jump-right-enter-active,.q-transition--jump-right-leave-active,.q-transition--jump-up-enter-active,.q-transition--jump-up-leave-active,.q-transition--rotate-enter-active,.q-transition--rotate-leave-active,.q-transition--scale-enter-active,.q-transition--scale-leave-active,.q-transition--slide-down-enter-active,.q-transition--slide-down-leave-active,.q-transition--slide-left-enter-active,.q-transition--slide-left-leave-active,.q-transition--slide-right-enter-active,.q-transition--slide-right-leave-active,.q-transition--slide-up-enter-active,.q-transition--slide-up-leave-active{--q-transition-duration:.3s;--q-transition-easing:cubic-bezier(0.215,0.61,0.355,1)}.q-transition--fade-leave-active,.q-transition--flip-leave-active,.q-transition--jump-down-leave-active,.q-transition--jump-left-leave-active,.q-transition--jump-right-leave-active,.q-transition--jump-up-leave-active,.q-transition--rotate-leave-active,.q-transition--scale-leave-active,.q-transition--slide-down-leave-active,.q-transition--slide-left-leave-active,.q-transition--slide-right-leave-active,.q-transition--slide-up-leave-active{position:absolute}.q-transition--slide-down-enter-active,.q-transition--slide-down-leave-active,.q-transition--slide-left-enter-active,.q-transition--slide-left-leave-active,.q-transition--slide-right-enter-active,.q-transition--slide-right-leave-active,.q-transition--slide-up-enter-active,.q-transition--slide-up-leave-active{transition:transform var(--q-transition-duration) var(--q-transition-easing)}.q-transition--slide-right-enter-from{transform:translate3d(-100%,0,0)}.q-transition--slide-left-enter-from,.q-transition--slide-right-leave-to{transform:translate3d(100%,0,0)}.q-transition--slide-left-leave-to{transform:translate3d(-100%,0,0)}.q-transition--slide-up-enter-from{transform:translate3d(0,100%,0)}.q-transition--slide-down-enter-from,.q-transition--slide-up-leave-to{transform:translate3d(0,-100%,0)}.q-transition--slide-down-leave-to{transform:translate3d(0,100%,0)}.q-transition--jump-down-enter-active,.q-transition--jump-down-leave-active,.q-transition--jump-left-enter-active,.q-transition--jump-left-leave-active,.q-transition--jump-right-enter-active,.q-transition--jump-right-leave-active,.q-transition--jump-up-enter-active,.q-transition--jump-up-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration)}.q-transition--jump-down-enter-from,.q-transition--jump-down-leave-to,.q-transition--jump-left-enter-from,.q-transition--jump-left-leave-to,.q-transition--jump-right-enter-from,.q-transition--jump-right-leave-to,.q-transition--jump-up-enter-from,.q-transition--jump-up-leave-to{opacity:0}.q-transition--jump-right-enter-from{transform:translate3d(-15px,0,0)}.q-transition--jump-left-enter-from,.q-transition--jump-right-leave-to{transform:translate3d(15px,0,0)}.q-transition--jump-left-leave-to{transform:translateX(-15px)}.q-transition--jump-up-enter-from{transform:translate3d(0,15px,0)}.q-transition--jump-down-enter-from,.q-transition--jump-up-leave-to{transform:translate3d(0,-15px,0)}.q-transition--jump-down-leave-to{transform:translate3d(0,15px,0)}.q-transition--fade-enter-active,.q-transition--fade-leave-active{transition:opacity var(--q-transition-duration) ease-out}.q-transition--fade-enter-from,.q-transition--fade-leave-to{opacity:0}.q-transition--scale-enter-active,.q-transition--scale-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration) var(--q-transition-easing)}.q-transition--scale-enter-from,.q-transition--scale-leave-to{opacity:0;transform:scale3d(0,0,1)}.q-transition--rotate-enter-active,.q-transition--rotate-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration) var(--q-transition-easing);transform-style:preserve-3d}.q-transition--rotate-enter-from,.q-transition--rotate-leave-to{opacity:0;transform:scale3d(0,0,1) rotate(90deg)}.q-transition--flip-down-enter-active,.q-transition--flip-down-leave-active,.q-transition--flip-left-enter-active,.q-transition--flip-left-leave-active,.q-transition--flip-right-enter-active,.q-transition--flip-right-leave-active,.q-transition--flip-up-enter-active,.q-transition--flip-up-leave-active{transition:transform var(--q-transition-duration);backface-visibility:hidden}.q-transition--flip-down-enter-to,.q-transition--flip-down-leave-from,.q-transition--flip-left-enter-to,.q-transition--flip-left-leave-from,.q-transition--flip-right-enter-to,.q-transition--flip-right-leave-from,.q-transition--flip-up-enter-to,.q-transition--flip-up-leave-from{transform:perspective(400px) rotate3d(1,1,0,0deg)}.q-transition--flip-right-enter-from{transform:perspective(400px) rotateY(-180deg)}.q-transition--flip-left-enter-from,.q-transition--flip-right-leave-to{transform:perspective(400px) rotateY(180deg)}.q-transition--flip-left-leave-to{transform:perspective(400px) rotateY(-180deg)}.q-transition--flip-up-enter-from{transform:perspective(400px) rotateX(-180deg)}.q-transition--flip-down-enter-from,.q-transition--flip-up-leave-to{transform:perspective(400px) rotateX(180deg)}.q-transition--flip-down-leave-to{transform:perspective(400px) rotateX(-180deg)}body{min-width:100px;min-height:100%;font-family:Roboto,-apple-system,Helvetica Neue,Helvetica,Arial,sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:antialiased;line-height:1.5;font-size:14px}h1{font-size:6rem;line-height:6rem;letter-spacing:-.01562em}h1,h2{font-weight:300}h2{font-size:3.75rem;line-height:3.75rem;letter-spacing:-.00833em}h3{font-size:3rem;line-height:3.125rem;letter-spacing:normal}h3,h4{font-weight:400}h4{font-size:2.125rem;line-height:2.5rem;letter-spacing:.00735em}h5{font-size:1.5rem;font-weight:400;letter-spacing:normal}h5,h6{line-height:2rem}h6{font-size:1.25rem;font-weight:500;letter-spacing:.0125em}p{margin:0 0 16px}.text-h1{font-size:6rem;font-weight:300;line-height:6rem;letter-spacing:-.01562em}.text-h2{font-size:3.75rem;font-weight:300;line-height:3.75rem;letter-spacing:-.00833em}.text-h3{font-size:3rem;font-weight:400;line-height:3.125rem;letter-spacing:normal}.text-h4{font-size:2.125rem;font-weight:400;line-height:2.5rem;letter-spacing:.00735em}.text-h5{font-size:1.5rem;font-weight:400;line-height:2rem;letter-spacing:normal}.text-h6{font-size:1.25rem;font-weight:500;line-height:2rem;letter-spacing:.0125em}.text-subtitle1{font-size:1rem;font-weight:400;line-height:1.75rem;letter-spacing:.00937em}.text-subtitle2{font-size:.875rem;font-weight:500;line-height:1.375rem;letter-spacing:.00714em}.text-body1{font-size:1rem;font-weight:400;line-height:1.5rem;letter-spacing:.03125em}.text-body2{font-size:.875rem;font-weight:400;line-height:1.25rem;letter-spacing:.01786em}.text-overline{font-size:.75rem;font-weight:500;line-height:2rem;letter-spacing:.16667em}.text-caption{font-size:.75rem;font-weight:400;line-height:1.25rem;letter-spacing:.03333em}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify;-webkit-hyphens:auto;hyphens:auto}.text-italic{font-style:italic}.text-bold{font-weight:700}.text-no-wrap{white-space:nowrap}.text-strike{text-decoration:line-through}.text-weight-thin{font-weight:100}.text-weight-light{font-weight:300}.text-weight-regular{font-weight:400}.text-weight-medium{font-weight:500}.text-weight-bold{font-weight:700}.text-weight-bolder{font-weight:900}small{font-size:80%}big{font-size:170%}sub{bottom:-.25em}sup{top:-.5em}.no-margin{margin:0!important}.no-padding{padding:0!important}.no-border{border:0!important}.no-border-radius{border-radius:0!important}.no-box-shadow{box-shadow:none!important}.no-outline{outline:0!important}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ellipsis-2-lines,.ellipsis-3-lines{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.ellipsis-2-lines{-webkit-line-clamp:2}.ellipsis-3-lines{-webkit-line-clamp:3}.readonly{cursor:default!important}.disabled,.disabled *,[disabled],[disabled] *{outline:0!important;cursor:not-allowed!important}.disabled,[disabled]{opacity:.6!important}.hidden{display:none!important}.invisible,.invisible *{visibility:hidden!important;transition:none!important;animation:none!important}.transparent{background:transparent!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-hidden-y{overflow-y:hidden!important}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}.dimmed:after,.light-dimmed:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.dimmed:after{background:rgba(0,0,0,.4)!important}.light-dimmed:after{background:hsla(0,0%,100%,.6)!important}.z-top{z-index:7000!important}.z-max{z-index:9998!important}body.capacitor .capacitor-hide,body.cordova .cordova-hide,body.desktop .desktop-hide,body.electron .electron-hide,body.mobile .mobile-hide,body.native-mobile .native-mobile-hide,body.platform-android .platform-android-hide,body.platform-ios .platform-ios-hide,body.touch .touch-hide,body.within-iframe .within-iframe-hide,body:not(.capacitor) .capacitor-only,body:not(.cordova) .cordova-only,body:not(.desktop) .desktop-only,body:not(.electron) .electron-only,body:not(.mobile) .mobile-only,body:not(.native-mobile) .native-mobile-only,body:not(.platform-android) .platform-android-only,body:not(.platform-ios) .platform-ios-only,body:not(.touch) .touch-only,body:not(.within-iframe) .within-iframe-only{display:none!important}@media (orientation:portrait){.orientation-landscape{display:none!important}}@media (orientation:landscape){.orientation-portrait{display:none!important}}@media screen{.print-only{display:none!important}}@media print{.print-hide{display:none!important}}@media(max-width:599.98px){.gt-lg,.gt-md,.gt-sm,.gt-xs,.lg,.md,.sm,.xl,.xs-hide{display:none!important}}@media(min-width:600px)and (max-width:1023.98px){.gt-lg,.gt-md,.gt-sm,.lg,.lt-sm,.md,.sm-hide,.xl,.xs{display:none!important}}@media(min-width:1024px)and (max-width:1439.98px){.gt-lg,.gt-md,.lg,.lt-md,.lt-sm,.md-hide,.sm,.xl,.xs{display:none!important}}@media(min-width:1440px)and (max-width:1919.98px){.gt-lg,.lg-hide,.lt-lg,.lt-md,.lt-sm,.md,.sm,.xl,.xs{display:none!important}}@media(min-width:1920px){.lg,.lt-lg,.lt-md,.lt-sm,.lt-xl,.md,.sm,.xl-hide,.xs{display:none!important}}.q-focus-helper,.q-focusable,.q-hoverable,.q-manual-focusable{outline:0}body.desktop .q-focus-helper{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;border-radius:inherit;opacity:0;transition:background-color .3s cubic-bezier(.25,.8,.5,1),opacity .4s cubic-bezier(.25,.8,.5,1)}body.desktop .q-focus-helper:after,body.desktop .q-focus-helper:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;border-radius:inherit;transition:background-color .3s cubic-bezier(.25,.8,.5,1),opacity .6s cubic-bezier(.25,.8,.5,1)}body.desktop .q-focus-helper:before{background:#000}body.desktop .q-focus-helper:after{background:#fff}body.desktop .q-focus-helper--rounded{border-radius:4px}body.desktop .q-focus-helper--round{border-radius:50%}body.desktop .q-focusable:focus>.q-focus-helper,body.desktop .q-hoverable:hover>.q-focus-helper,body.desktop .q-manual-focusable--focused>.q-focus-helper{background:currentColor;opacity:.15}body.desktop .q-focusable:focus>.q-focus-helper:before,body.desktop .q-hoverable:hover>.q-focus-helper:before,body.desktop .q-manual-focusable--focused>.q-focus-helper:before{opacity:.1}body.desktop .q-focusable:focus>.q-focus-helper:after,body.desktop .q-hoverable:hover>.q-focus-helper:after,body.desktop .q-manual-focusable--focused>.q-focus-helper:after{opacity:.4}body.desktop .q-focusable:focus>.q-focus-helper,body.desktop .q-manual-focusable--focused>.q-focus-helper{opacity:.22}body.body--dark{color:#fff;background:var(--q-dark-page)}.q-dark{color:#fff;background:var(--q-dark)}*{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}body.body--dark{background:#1d1d1d}.q-btn--outline:before{border:.1rem solid currentColor}.q-btn--rectangle{border-radius:.5rem}.q-chip--square{border-radius:.35rem;border-width:.1rem}.q-chip--square .q-avatar{border-radius:.35rem 0 0 .35rem}.q-card{box-shadow:none}.q-field--outlined .q-field__control{border-radius:.75rem}.q-field--outlined .q-field__control:before{border-width:.1rem;border-radius:.75rem}.q-field--outlined .q-field__control:hover:before{border-color:#757575}.q-menu{box-shadow:none;border:.1rem solid #bdbdbd;border-radius:.75rem;margin-top:.2rem!important}
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
index 48b3f70..a69d12c 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1 +1 @@
-
NER Annotator for SpaCy We're sorry but ner-annotator doesn't work properly without JavaScript enabled. Please enable it to continue.
\ No newline at end of file
+NER Annotator for SpaCy We're sorry but ner-annotator doesn't work properly without JavaScript enabled. Please enable it to continue.
\ No newline at end of file
diff --git a/docs/js/app.d340ae3c.js b/docs/js/app.d340ae3c.js
new file mode 100644
index 0000000..578bb10
--- /dev/null
+++ b/docs/js/app.d340ae3c.js
@@ -0,0 +1,2 @@
+(function(){"use strict";var e={3925:function(e,t,n){var o=n(5102),s=n(9269),a=n(3201);function l(e,t,n,l,r,i){const c=(0,s.up)("menu-bar"),u=(0,s.up)("annotation-sidebar"),d=(0,s.up)("q-drawer"),p=(0,s.up)("start-page"),m=(0,s.up)("annotation-page"),h=(0,s.up)("q-page-container"),g=(0,s.up)("q-layout"),f=(0,s.up)("drag-n-drop-overlay"),w=(0,s.up)("exit-dialog");return(0,s.wg)(),(0,s.iD)("div",{class:"fullscreen",style:{"overflow-y":"scroll"},onDragover:t[3]||(t[3]=(0,o.iM)(((...e)=>i.onDragEnter&&i.onDragEnter(...e)),["prevent"])),onDragenter:t[4]||(t[4]=(...e)=>i.onDragEnter&&i.onDragEnter(...e)),onDragleave:t[5]||(t[5]=(0,o.iM)(((...e)=>i.onDragLeave&&i.onDragLeave(...e)),["self"])),onDrop:t[6]||(t[6]=(0,o.iM)(((...e)=>i.onDrop&&i.onDrop(...e)),["stop","prevent"]))},[(0,s._)("div",{style:(0,a.j5)({"pointer-events":r.overlayActive?"none":"auto"})},[(0,s.Wm)(g,{view:"hHh lpR fFf"},{default:(0,s.w5)((()=>["start"!==r.currentPage?((0,s.wg)(),(0,s.j4)(c,{key:0})):(0,s.kq)("",!0),(0,s.Wm)(d,{"model-value":"start"!==r.currentPage,bordered:"",class:(0,a.C_)(e.$q.dark.isActive?"bg-dark":"bg-grey-2")},{default:(0,s.w5)((()=>[(0,s.Wm)(u)])),_:1},8,["model-value","class"]),(0,s.Wm)(h,null,{default:(0,s.w5)((()=>["start"===r.currentPage?((0,s.wg)(),(0,s.j4)(p,{key:0,onFileLoaded:t[0]||(t[0]=e=>i.switchToPage("annotate"))})):(0,s.kq)("",!0),"annotate"===r.currentPage?((0,s.wg)(),(0,s.j4)(m,{key:1})):(0,s.kq)("",!0)])),_:1})])),_:1}),(0,s.Wm)(f,{style:(0,a.j5)({visibility:r.overlayActive&&null==r.pendingFileDrop?"visible":"hidden"})},null,8,["style"]),(0,s.Wm)(w,{show:null!=r.pendingFileDrop&&"start"!=r.currentPage,onHide:t[1]||(t[1]=e=>r.pendingFileDrop=null),onConfirm:t[2]||(t[2]=e=>i.processFileDrop())},null,8,["show"])],4)],32)}var r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAIqUlEQVQYGZ3BCYydZaHG8f/zvt85c2Y6nZZu2sVSCoSpO0K5ceEmlmhUSmJQAcXdWBdwiVEJXMm9F7EqQUEToqkShWjiCmrRumtU0mCLRQE7BVu6zHS6zXbazpw553vf535jR1ONQnJ/PzGr/45tAgz0gR4Q9IOHbYYl/aWT/PDKvmL7L65e/kCeSmNTpUm2hGScqUiib8EyTuf/3gAyf2VA/J3+50sUzBJ/12N7lZmhpRJLA7ygnX3Fa86dg1vpyEQ7/zSKuxA/xxgUJScwW4eG2LAPJIHNS8oW91+8mnLjexXHp+SHj1o//qPZ8J94/XoCf2MZC6wjgl1ICCdBnk4uz55X67z23B5PlV4SxRsl/Uzol8ALhFO2wtwILxwAiWA7Zkn3n7Oad225P8ZvfsF0OedatHwAbl7HjMAsy1QCkC22i4rkIDRZunjJ8q5icXeknZyB0na2/VLEdqN3JMhfG1FcO0eyyUASmGmwlBhlDrF2t5b2vrW86d1403ZRCcyShbGMqfzKmIpsqAW8ZkFdAgyqFDqlg5HkLwe4anHhtG0EAy8U+qTwPc8/OPTjny3s33TL7d/b0jo8/aYwNLEubt2DHj4iKgWnEWRmmJ8ARxGLM+SuKC3qDpRGErgiCUMNKDFFTXxmV0s7+s/w9RJvoWJDluhzmy8VzyE19v32+h9+4D1U0ivXO0YomGUZkGVH4JilbwquBRKiJmFAnCLAAhsKg+viaU+0eaCTmdeIItkdQMSgcnCiUxucaNyx5pKBx2/8xskgxzv/96rkyy4jMGvgmrVgsGRLCG4HJgW1dnIencqKwhgkURGn2Igoh/nR8xJKwgYKxRDT4ERIQ80aRWR+Z3LlVy66gjtfdFW66HO/Y0bgHxhwxo62d2M+HgTtRNo11jEgwLOoSKJiUbmwR7kmBwOKQWlogjTURDGYSkaT/fv/wHm7H9TxooHuu4/AaSQBApEgUPmUzT3dhWr3H2yV49M5FUFUBPgUFMAns3Rxr3V+NzpOkA5OOA02pRiouALSLjDCAcSMwGl2XnMhMmCBLAP1qCsbhb4zMNqpbd4zGXu7gpJBs8BWJdtuBHTD8uAFhyc8tve4YpSDTMA1CWx+gIXAYGYE/snOay8EmYoRoZVcPnpg6nWGa+585Pjgn4+16S6Us40rqrgSQC2inzE1nD5xxn6etyAxmcREO+QTSZRZdw8c6do60g6qB/L7zznJDPFPbrv8BiYd+K/33gixYP0vvx/OfWiHbjv/HYmPr+J3u/Z+5fwl9beW2QkpYFNRCNHN0eE0Pjoce2pB01l+YLTmP43Xw0SpiUX1fMGaueVu5OK83rKc2wgUqUTMuvXS6yBASpk8eYja3GUyhBRjah84wosvPod1t71rYWti6sF28pmSsm0BCiG6OTqcmmPDMYSobBxk9USbSrLcyextZ70N+E0UUSIZiFRuXX8dFiBQkEK9N0pkkAvo7l4092WPDRx+W9/ShTctXP30/lymDARAIUQ3R4dTc2w4hhAFWFhGns5SO4vSktGCGPxmod9K7AEi4OLWy65jhjBGEUhAAj1DeIPN1e2p9lnzly1gyeqnQXYGApUQopujw6k5NhxDiAJcUcUYRbkiKgJ3QDXJ92BdgNgjCAEMWLYCOGHmIW0EHrH5mILOKludvOLZKzsLVy5OZbsTkBxCdHP0YG6ODccQogBXABkswKAKFVtSzXbHaD7y5w0YHDARMJBlXof4E+Z64z5JJZANWrZmRRFiiDYOIWr82BDN0UMhhCj+ygZlg5hlM0MVsC2pwGTgUsxLA3YAEtAr+asW38JeKbktk4CYU1ZXTxeLVi1RLpNDiBo/NuQT44cVYsTZ5IqtEINjPTqnLCoCDMZGRoAFZFsk8/ZGYQLwHGAr5i1YSQKsuqUIyNkqump53tPPcE7W+MiQj48dEsjOVlEvcr1RD7XofY8erd21vxnD/EYmyM6GlIUBg1KWswkxmL6u/PIF3T6jALZhdVkgCEYtydMybYLqOec53X09RVdPg+bIwTx14mjomtNwUUSlMqWj+0biwd1Hd7z6itUvO/v560ZefNPvL7nymVMrLlk1nfu6chQ4ZYlKDMag0ang7w50L9myu3FRYelmwUJgB7AHGDSMCcrGnEbtyOFDy5avWXnZsaF9N7Zao3PK6eSxx47o8BPHvP/PB/O+hw/EkcHxHw1tWTjCe17B4PH4yc/+vveO7z/WnS9c2g6r55ea33AFjbaC/jJWePtwrdw3EWv1yFrduv6jgLBAgJlhZFCM1HPBydoUJybHr5ueLD812ZwqO61OnJ6cBuRaowhd3fVXjew5tGV6+Vnx3v/4UHrWiva3p0u9tlWqU4uO9UiwcTtBaakRXdajC8O3CiAYxCkGDJgZNvsPDRY7tj1ULl68ZHN3X+PmEFQoyI3ehoHg7CfKdvp178qlDF+wzmuWd6gFXu/o0FX4chsMHUTsCUhyhWDA5pxgKUtOMgk7g/2Rzbfw4ftuYdWLzmS8OV6e1b+KJasWHizq8WSIAUk4O+eUMXzd2VNKnbj1VW/ONqFVqjS8JpvrDZNADQiGnE0yGIOkpeIpvLP/cmbNkdlreZEg2YrITZlnAwcs6Wsf+67PfPRBwBKyAclnAx8EXQkstgGBABsCT0EYYYQLRA2DURJGcAdwAIgL9gZf9ek3MMuWqUSs3aD3AWuAq4XvlP2QcUt4QDyJDeddDrIAA6swO40aiIr3yzzXMAGo7uCO22x6fDNrbtiGLWZJIgCJig3CwWKxzFTgyYgZ4pQViC5BwgbzYaMJUAS5HTKbHt/MjJ0b1yKZWa4kQEAEApCBw0Cz4ClJYCqrAVlEzF0S3wYCdjIiSpxu58a1/E3/DdvAGEiSsZkhwAVPxmCZGbLOt4zsRxDX2iBsKsJ8cee9/DsDG9fyL5hK4MkIMMbMGJGZBt6AOSGIFjawade9/H/9H50/6ZWm+VSWAAAAAElFTkSuQmCC";const i={class:"q-pa-sm q-pl-md row items-center"},c=(0,s._)("img",{src:r},null,-1),u=(0,s._)("span",{class:"q-ml-sm"},[(0,s._)("strong",null," NER Annotator ")],-1),d={class:"q-ml-md cursor-pointer non-selectable"},p=(0,s._)("span",null," File ",-1),m={class:"q-ml-md cursor-pointer non-selectable"},h=(0,s._)("span",null," Annotations ",-1),g={class:"q-ml-md cursor-pointer non-selectable"},f=(0,s._)("span",null," Tags ",-1),w={class:"q-ml-md cursor-pointer non-selectable"},k=(0,s._)("span",null,"Help",-1),y=(0,s._)("div",{class:"text-h6"}," Project Name ",-1);function b(e,t,n,a,l,r){const b=(0,s.up)("q-avatar"),v=(0,s.up)("q-item-section"),C=(0,s.up)("q-item"),x=(0,s.up)("q-list"),A=(0,s.up)("q-menu"),S=(0,s.up)("export-annotations"),_=(0,s.up)("q-space"),q=(0,s.up)("q-icon"),W=(0,s.up)("q-separator"),Z=(0,s.up)("about-dialog"),D=(0,s.up)("q-header"),I=(0,s.up)("q-card-section"),U=(0,s.up)("q-input"),T=(0,s.up)("q-btn"),E=(0,s.up)("q-card-actions"),P=(0,s.up)("q-card"),j=(0,s.up)("q-dialog"),B=(0,s.up)("exit-dialog"),N=(0,s.Q2)("close-popup");return(0,s.wg)(),(0,s.iD)(s.HY,null,[(0,s.Wm)(D,{bordered:""},{default:(0,s.w5)((()=>[(0,s._)("div",i,[(0,s._)("div",null,[(0,s.Wm)(b,{size:"xs"},{default:(0,s.w5)((()=>[c])),_:1}),u]),(0,s._)("div",d,[p,(0,s.Wm)(A,{style:{"border-radius":"0.5rem"}},{default:(0,s.w5)((()=>[(0,s.Wm)(x,{dense:"",style:{"min-width":"100px"}},{default:(0,s.w5)((()=>[(0,s.wy)(((0,s.wg)(),(0,s.j4)(C,{clickable:"",onClick:t[1]||(t[1]=t=>e.pendingClick=e.$refs.file)},{default:(0,s.w5)((()=>[(0,s.Wm)(v,null,{default:(0,s.w5)((()=>[(0,s.Uk)("Open File")])),_:1}),(0,s._)("input",{ref:"file",type:"file",accept:".txt",style:{display:"none"},onChange:t[0]||(t[0]=(...e)=>r.openFile&&r.openFile(...e))},null,544)])),_:1})),[[N]])])),_:1})])),_:1})]),(0,s._)("div",m,[h,(0,s.Wm)(A,{style:{"border-radius":"0.5rem"}},{default:(0,s.w5)((()=>[(0,s.Wm)(x,{dense:"",style:{"min-width":"100px"}},{default:(0,s.w5)((()=>[(0,s.Wm)(S),(0,s.wy)(((0,s.wg)(),(0,s.j4)(C,{clickable:"",onClick:t[3]||(t[3]=t=>e.pendingClick=e.$refs.file)},{default:(0,s.w5)((()=>[(0,s.Wm)(v,null,{default:(0,s.w5)((()=>[(0,s.Uk)("Import")])),_:1}),(0,s._)("input",{ref:"file",type:"file",accept:".json",style:{display:"none"},onChange:t[2]||(t[2]=(...e)=>r.importAnnotations&&r.importAnnotations(...e))},null,544)])),_:1})),[[N]])])),_:1})])),_:1})]),(0,s._)("div",g,[f,(0,s.Wm)(A,{style:{"border-radius":"0.5rem"}},{default:(0,s.w5)((()=>[(0,s.Wm)(x,{dense:"",style:{"min-width":"100px"}},{default:(0,s.w5)((()=>[(0,s.wy)(((0,s.wg)(),(0,s.j4)(C,{clickable:"",onClick:t[4]||(t[4]=e=>r.exportTags())},{default:(0,s.w5)((()=>[(0,s.Wm)(v,null,{default:(0,s.w5)((()=>[(0,s.Uk)("Export")])),_:1})])),_:1})),[[N]]),(0,s.wy)(((0,s.wg)(),(0,s.j4)(C,{clickable:"",onClick:t[6]||(t[6]=t=>e.$refs.file.click())},{default:(0,s.w5)((()=>[(0,s.Wm)(v,null,{default:(0,s.w5)((()=>[(0,s.Uk)("Import")])),_:1}),(0,s._)("input",{ref:"file",type:"file",accept:".json",style:{display:"none"},onChange:t[5]||(t[5]=(...e)=>r.importTags&&r.importTags(...e))},null,544)])),_:1})),[[N]])])),_:1})])),_:1})]),(0,s.Wm)(_),(0,s.Wm)(q,{style:{"margin-top":"5px"},color:"white",name:e.$q.dark.isActive?"fas fa-sun":"fas fa-moon",class:"cursor-pointer",onClick:r.toggleDarkMode},null,8,["name","onClick"]),(0,s._)("div",w,[k,(0,s.Wm)(A,{style:{"border-radius":"0.5rem"}},{default:(0,s.w5)((()=>[(0,s.Wm)(x,{dense:"",style:{"min-width":"100px"}},{default:(0,s.w5)((()=>[(0,s.wy)(((0,s.wg)(),(0,s.j4)(C,{clickable:"",href:"https://github.com/tecoholic/ner-annotator/discussions",target:"_blank"},{default:(0,s.w5)((()=>[(0,s.Wm)(v,null,{default:(0,s.w5)((()=>[(0,s.Uk)(" Forum ")])),_:1})])),_:1})),[[N]]),(0,s.wy)(((0,s.wg)(),(0,s.j4)(C,{clickable:"",href:"https://github.com/tecoholic/ner-annotator/issues",target:"_blank"},{default:(0,s.w5)((()=>[(0,s.Uk)(" Report Issue ")])),_:1})),[[N]]),(0,s.Wm)(W),(0,s.wy)(((0,s.wg)(),(0,s.j4)(C,{clickable:"",onClick:t[7]||(t[7]=t=>e.showAbout=!0)},{default:(0,s.w5)((()=>[(0,s.Wm)(v,null,{default:(0,s.w5)((()=>[(0,s.Uk)("About")])),_:1})])),_:1})),[[N]])])),_:1})])),_:1}),(0,s.Wm)(Z,{show:e.showAbout,onHide:t[8]||(t[8]=t=>e.showAbout=!1)},null,8,["show"])])])])),_:1}),(0,s.Wm)(j,{modelValue:e.promptForProject,"onUpdate:modelValue":t[11]||(t[11]=t=>e.promptForProject=t),persistent:""},{default:(0,s.w5)((()=>[(0,s.Wm)(P,{style:{"min-width":"350px"}},{default:(0,s.w5)((()=>[(0,s.Wm)(I,null,{default:(0,s.w5)((()=>[y])),_:1}),(0,s.Wm)(I,{class:"q-pt-none"},{default:(0,s.w5)((()=>[(0,s.Wm)(U,{modelValue:e.newProjectName,"onUpdate:modelValue":t[9]||(t[9]=t=>e.newProjectName=t),dense:"",autofocus:"",onKeyup:t[10]||(t[10]=(0,o.D2)((t=>e.promptForProject=!1),["enter"]))},null,8,["modelValue"])])),_:1}),(0,s.Wm)(E,{align:"right",class:"text-primary"},{default:(0,s.w5)((()=>[(0,s.wy)((0,s.Wm)(T,{flat:"",label:"Cancel"},null,512),[[N]]),(0,s.wy)((0,s.Wm)(T,{flat:"",label:"Create Project"},null,512),[[N]])])),_:1})])),_:1})])),_:1},8,["modelValue"]),(0,s.Wm)(B,{show:null!=e.pendingClick,onHide:t[12]||(t[12]=t=>e.pendingClick=null),onConfirm:t[13]||(t[13]=t=>e.pendingClick.click())},null,8,["show"])],64)}function v(e,t,n,o,a,l){const r=(0,s.up)("q-item-section"),i=(0,s.up)("q-item"),c=(0,s.Q2)("close-popup");return(0,s.wy)(((0,s.wg)(),(0,s.j4)(i,{clickable:"",onClick:t[0]||(t[0]=e=>l.generateJSONExport())},{default:(0,s.w5)((()=>[(0,s.Wm)(r,null,{default:(0,s.w5)((()=>[(0,s.Uk)("Export")])),_:1})])),_:1})),[[c]])}var C=n(6957),x=n(6526),A=n(5997),S=n(2225);const _=async(e,t)=>{if("undefined"===typeof window.rpc){let n=document.createElement("a");n.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(e)),n.setAttribute("download",t),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}else(0,x.a)({defaultPath:await(0,S.Kc)(),filters:[{extensions:["json"],name:"JSON Files (*.json)"},{name:"All files (*.*)",extensions:["*"]}]}).then((t=>{t&&(t.match(/.*\.json$/)||(t+=".json"),(0,A.dw)("save_file",{filepath:t,contents:e}).then((e=>alert(e))).catch((e=>alert(e))))})).catch((()=>{}))};var q={name:"ExportAnnotations",computed:{...(0,C.rn)(["annotations","classes"])},methods:{async generateJSONExport(){const e={classes:this.classes.map((e=>e.name)),annotations:this.annotations.map((e=>[e.text,{entities:e.entities}]))},t=JSON.stringify(e);await _(t,"annotations.json")}}},W=n(7617),Z=n(5246),D=n(2278),I=n(8819),U=n(1410),T=n.n(U);const E=(0,W.Z)(q,[["render",v]]);var P=E;T()(q,"components",{QItem:Z.Z,QItemSection:D.Z}),T()(q,"directives",{ClosePopup:I.Z});var j=n(5999);const B=(0,s._)("div",{class:"text-h6"}," NER Annotator ",-1),N=(0,s._)("strong",null,"Version: ",-1),O=(0,s._)("p",null,[(0,s._)("strong",null,"Source: "),(0,s._)("a",{href:"https://github.com/tecoholic/ner-annotator"}," Github Repository ")],-1),Q=(0,s._)("p",null,[(0,s._)("strong",null,"Author:"),(0,s.Uk)(" @tecoholic ("),(0,s._)("a",{href:"https://github.com/tecoholic"},"Github"),(0,s.Uk)(", "),(0,s._)("a",{href:"https://github.com/tecoholic"},"Twitter"),(0,s.Uk)(") ")],-1);function F(e,t,n,o,l,r){const i=(0,s.up)("q-card-section"),c=(0,s.up)("q-btn"),u=(0,s.up)("q-card-actions"),d=(0,s.up)("q-card"),p=(0,s.up)("q-dialog"),m=(0,s.Q2)("close-popup");return(0,s.wg)(),(0,s.j4)(p,{"model-value":n.show,onHide:t[0]||(t[0]=t=>e.$emit("hide"))},{default:(0,s.w5)((()=>[(0,s.Wm)(d,{style:{"min-width":"400px",padding:"10px","border-radius":"10px"}},{default:(0,s.w5)((()=>[(0,s.Wm)(i,null,{default:(0,s.w5)((()=>[B])),_:1}),(0,s.Wm)(i,{class:"q-pt-none"},{default:(0,s.w5)((()=>[(0,s._)("p",null,[N,(0,s.Uk)((0,a.zw)(e.version),1)]),O,Q])),_:1}),(0,s.Wm)(u,{align:"right"},{default:(0,s.w5)((()=>[(0,s.wy)((0,s.Wm)(c,{flat:"",label:"OK",color:"primary"},null,512),[[m]])])),_:1})])),_:1})])),_:1},8,["model-value"])}var R={name:"AboutDialog",props:{show:{type:Boolean,default:!1}},emits:["hide"],data:function(){return{version:"1.4.0"}}},L=n(9833),H=n(8055),K=n(9501),z=n(4333),V=n(4686);const M=(0,W.Z)(R,[["render",F]]);var Y=M;T()(R,"components",{QDialog:L.Z,QCard:H.Z,QCardSection:K.Z,QCardActions:z.Z,QBtn:V.Z}),T()(R,"directives",{ClosePopup:I.Z});const J=(0,s._)("div",{class:"text-h5"}," Are you sure you want to close this file? ",-1),G=(0,s._)("p",null,"All changes made to this file will be lost.",-1);function $(e,t,n,o,a,l){const r=(0,s.up)("q-card-section"),i=(0,s.up)("q-btn"),c=(0,s.up)("q-card-actions"),u=(0,s.up)("q-card"),d=(0,s.up)("q-dialog"),p=(0,s.Q2)("close-popup");return(0,s.wg)(),(0,s.j4)(d,{"model-value":n.show,onHide:t[2]||(t[2]=t=>e.$emit("hide"))},{default:(0,s.w5)((()=>[(0,s.Wm)(u,{style:{"max-width":"400px",padding:"10px","border-radius":"10px"}},{default:(0,s.w5)((()=>[(0,s.Wm)(r,null,{default:(0,s.w5)((()=>[J])),_:1}),(0,s.Wm)(r,{class:"text-body1"},{default:(0,s.w5)((()=>[G,(0,s.Uk)(" If you haven't exported the annotations, please do so before closing the file. ")])),_:1}),(0,s.Wm)(c,{align:"right"},{default:(0,s.w5)((()=>[(0,s.wy)((0,s.Wm)(i,{flat:"",label:"Cancel",color:"red",onClick:t[0]||(t[0]=t=>e.$emit("hide"))},null,512),[[p]]),(0,s.wy)((0,s.Wm)(i,{flat:"",label:"OK",color:"light-blue",onClick:t[1]||(t[1]=t=>e.$emit("confirm"))},null,512),[[p]])])),_:1})])),_:1})])),_:1},8,["model-value"])}var X={name:"ExitDialog",props:{show:{type:Boolean,default:!1}},emits:["hide","confirm"]};const ee=(0,W.Z)(X,[["render",$]]);var te=ee;T()(X,"components",{QDialog:L.Z,QCard:H.Z,QCardSection:K.Z,QCardActions:z.Z,QBtn:V.Z}),T()(X,"directives",{ClosePopup:I.Z});var ne={name:"MenuBar",components:{ExportAnnotations:P,AboutDialog:Y,ExitDialog:te},setup(){const e=(0,j.Z)();return{notify(t,n,o){e.notify({icon:t,message:n,color:o,position:"top",timeout:2e3,actions:[{label:"Dismiss",color:"white"}]})}}},data:function(){return{promptForProject:!1,newProjectName:"",showAbout:!1,pendingClick:null}},computed:{...(0,C.rn)(["annotations","classes"])},methods:{...(0,C.OI)(["loadClasses","loadAnnotations","setInputSentences","clearAllAnnotations","resetIndex"]),exportTags:async function(){await _(JSON.stringify(this.classes),"tags.json")},importTags:function(e){let t=e.target.files[0],n=new FileReader;n.onload=t=>{try{this.loadClasses(JSON.parse(t.target.result)),this.notify("fa fa-check",`${this.classes.length} Tags imported successfully`,"positive")}catch(e){this.notify("fas fa-exclamation-circle","Invalid file","red-6")}},n.readAsText(t)},openFile:function(e){let t=e.target.files[0],n=new FileReader;n.onload=e=>{this.setInputSentences(e.target.result),this.clearAllAnnotations()},n.readAsText(t),this.resetIndex()},importAnnotations:function(e){let t=e.target.files[0],n=new FileReader;n.onload=t=>{try{this.loadAnnotations(JSON.parse(t.target.result)),this.notify("fa fa-check","Annotations imported successfully","positive")}catch(e){this.notify("fas fa-exclamation-circle","Invalid file","red-6")}},n.readAsText(t)},toggleDarkMode:function(){this.$q.dark.toggle()}}},oe=n(7454),se=n(9393),ae=n(2952),le=n(2146),re=n(4492),ie=n(3139),ce=n(4633),ue=n(6053);const de=(0,W.Z)(ne,[["render",b]]);var pe=de;T()(ne,"components",{QHeader:oe.Z,QAvatar:se.Z,QMenu:ae.Z,QList:le.Z,QItem:Z.Z,QItemSection:D.Z,QSeparator:re.Z,QSpace:ie.Z,QIcon:ce.Z,QDialog:L.Z,QCard:H.Z,QCardSection:K.Z,QInput:ue.Z,QCardActions:z.Z,QBtn:V.Z}),T()(ne,"directives",{ClosePopup:I.Z});var me=n.p+"img/step-1.4f5d4ae3.png",he=n.p+"img/step-2.ada325d3.png",ge=n.p+"img/step-3.7e65646c.png";const fe={class:"q-mx-auto q-my-xl",style:{"max-width":"600px"}},we=(0,s._)("h5",{class:"text-h4 q-mb-sm"}," NER Text Annotator ",-1),ke={class:"q-my-xl q-py-md column"},ye={class:"row justify-between items-center"},be={class:"row items-center"},ve={class:"q-mx-auto",style:{"max-width":"600px"}},Ce=(0,s._)("h4",{class:"text-h4"}," How to use the NER Annotator? ",-1),xe=(0,s._)("p",{class:"text-subtitle1 q-my-md"}," Tips to prepare the text file ",-1),Ae=(0,s._)("ul",null,[(0,s._)("li",null,"Break your content in paragraphs or passages"),(0,s._)("li",null,[(0,s.Uk)(" Maintain a consistent seperator between the passages. "),(0,s._)("br"),(0,s.Uk)(" Eg., newline, empty line or a text seperator like "),(0,s._)("code",null,"---")]),(0,s._)("li",null," For large datasets, break the text into smaller files and tag them seperately ")],-1),Se=(0,s._)("ul",{class:"q-my-md"},[(0,s._)("li",null,[(0,s.Uk)("Use the "),(0,s._)("strong",null,"New Tag"),(0,s.Uk)(" button to create new tags")]),(0,s._)("li",null,[(0,s.Uk)(" Use the "),(0,s._)("strong",null,"Edit Tag"),(0,s.Uk)(" button to remove unwanted tags ")]),(0,s._)("li",null,[(0,s.Uk)(" Click the "),(0,s._)("strong",null,"Save"),(0,s.Uk)(" button once you are done annotating an entry and to move to the next one ")]),(0,s._)("li",null,[(0,s.Uk)(" Adjust the "),(0,s._)("strong",null,"Text Seperator"),(0,s.Uk)(" break your content correctly into entries ")]),(0,s._)("li",null,[(0,s.Uk)(" Use the "),(0,s._)("strong",null,"Tags"),(0,s.Uk)(" menu to Export/Import tags to share with your team ")])],-1);function _e(e,t,n,o,l,r){const i=(0,s.up)("q-icon"),c=(0,s.up)("q-btn"),u=(0,s.up)("q-file"),d=(0,s.up)("q-separator"),p=(0,s.up)("q-img"),m=(0,s.up)("q-timeline-entry"),h=(0,s.up)("q-timeline"),g=(0,s.Q2)("close-popup");return(0,s.wg)(),(0,s.iD)(s.HY,null,[(0,s.Wm)(i,{name:e.$q.dark.isActive?"fas fa-sun":"fas fa-moon",class:(0,a.C_)([e.$q.dark.isActive?"text-white":"text-black","cursor-pointer fixed-top-right q-mx-xl q-my-lg text-h5"]),onClick:r.toggleDarkMode},null,8,["name","class","onClick"]),(0,s._)("div",fe,[we,(0,s._)("p",{class:(0,a.C_)(["text-subtitle1",e.$q.dark.isActive?"text-grey-4":"text-grey-7"])}," Annotate text for spaCy NER Model training ",2),(0,s._)("div",ke,[(0,s._)("div",ye,[(0,s._)("div",null,[(0,s._)("p",{class:(0,a.C_)(["text-h6 q-my-md",e.$q.dark.isActive?"text-grey-4":"text-grey-7"])}," Select your file(s), then press 'Begin'! ",2),(0,s._)("p",{class:(0,a.C_)(["text-subtitle1 q-my-md",e.$q.dark.isActive?"text-grey-4":"text-grey-7"])}," Hint: You can also drag and drop files into this window! ",2)]),(0,s.wy)((0,s.Wm)(c,{outline:"",label:"Begin!",color:l.textFile?"blue":"grey-7",disable:!l.textFile,onClick:r.onConfirmation},null,8,["color","disable","onClick"]),[[g]])]),(0,s._)("div",be,[(0,s.Wm)(u,{class:"col-5 q-mx-sm",modelValue:l.textFile,"onUpdate:modelValue":t[0]||(t[0]=e=>l.textFile=e),accept:".txt",filled:"",label:"Text file","bg-color":e.$q.dark.isActive?"black-1":"light-blue-1",onRejected:t[1]||(t[1]=e=>r.fileSelectionError("Invalid text file"))},{prepend:(0,s.w5)((()=>[(0,s.Wm)(i,{name:"fas fa-upload"})])),_:1},8,["modelValue","bg-color"]),(0,s.Wm)(u,{class:"col-5 q-mx-sm",modelValue:l.annotationFile,"onUpdate:modelValue":t[2]||(t[2]=e=>l.annotationFile=e),accept:".json",filled:"",label:"(Optional) Annotations","bg-color":e.$q.dark.isActive?"black-1":"light-blue-1",onRejected:t[3]||(t[3]=e=>r.fileSelectionError("Invalid annotation file"))},{prepend:(0,s.w5)((()=>[(0,s.Wm)(i,{name:"fas fa-upload"})])),_:1},8,["modelValue","bg-color"])])])]),(0,s.Wm)(d),(0,s._)("div",{class:(0,a.C_)([e.$q.dark.isActive?"bg-dark":"bg-grey-1","q-pa-lg"])},[(0,s._)("div",ve,[Ce,(0,s.Wm)(h,null,{default:(0,s.w5)((()=>[(0,s.Wm)(m,{subtitle:"Step 1",title:"Load your text file with contents to annotate",icon:"fa fa-upload",color:"yellow-8"},{default:(0,s.w5)((()=>[(0,s.Wm)(p,{src:me,"spinner-color":"white",class:"rounded-borders",style:{border:"1px solid #ccc",width:"80%"}}),xe,Ae])),_:1}),(0,s.Wm)(m,{subtitle:"Step 2",title:"Create some tags and start tagging your text",icon:"fa fa-tag",color:"orange-6"},{default:(0,s.w5)((()=>[(0,s.Wm)(p,{src:he,"spinner-color":"white",class:"rounded-borders",style:{border:"1px solid #ccc"}}),Se])),_:1}),(0,s.Wm)(m,{subtitle:"Step 3",title:"Download your annotations as a JSON file that can be used for training",icon:"fa fa-download",color:"red-6"},{default:(0,s.w5)((()=>[(0,s.Wm)(p,{src:ge,"spinner-color":"white",class:"rounded-borders",style:{border:"1px solid #ccc",width:"70%"}})])),_:1}),(0,s.Wm)(m,{subtitle:"Finally",title:"Convert to DocBin format and use it for training",icon:"fa fa-file",color:"red-10"},{default:(0,s.w5)((()=>[(0,s._)("p",null,[(0,s.Uk)(" See the spaCy documentation "),(0,s._)("a",{class:(0,a.C_)(e.$q.dark.isActive?"text-light-blue-4":"text-dark-blue"),href:"https://spacy.io/api/data-formats#json-input"}," here ",2),(0,s.Uk)(" on how to convert the annotations from JSON to DocBin format. ")])])),_:1})])),_:1})])],2)],64)}var qe={name:"StartPage",emits:["file-loaded"],data(){return{textFile:null,annotationFile:null}},methods:{...(0,C.OI)(["setInputSentences","loadAnnotations"]),onConfirmation(){try{let e=new FileReader;e.addEventListener("load",(e=>{this.setInputSentences(e.target.result)})),e.readAsText(this.textFile)}catch(e){return void this.fileSelectionError("Invalid text file")}if(this.annotationFile){try{let e=new FileReader;e.addEventListener("load",(e=>{this.loadAnnotations(JSON.parse(e.target.result))})),e.readAsText(this.annotationFile)}catch(e){return void this.fileSelectionError("Invalid annotation file")}this.$emit("file-loaded")}else this.$emit("file-loaded")},fileSelectionError(e){this.$q.notify({icon:"fas fa-exclamation-circle",message:e,color:"red-6",position:"top",timeout:2e3,actions:[{label:"Dismiss",color:"white"}]})},toggleDarkMode(){this.$q.dark.toggle()}}},We=n(6967),Ze=n(8173),De=n(3884),Ie=n(4711);const Ue=(0,W.Z)(qe,[["render",_e]]);var Te=Ue;T()(qe,"components",{QIcon:ce.Z,QBtn:V.Z,QFile:We.Z,QSeparator:re.Z,QTimeline:Ze.Z,QTimelineEntry:De.Z,QImg:Ie.Z}),T()(qe,"directives",{ClosePopup:I.Z});const Ee={class:"q-pa-lg",style:{height:"60vh","overflow-y":"scroll"}},Pe={class:"q-pa-md",style:{"border-top":"1px solid #ccc"}};function je(e,t,n,o,a,l){const r=(0,s.up)("classes-block"),i=(0,s.up)("q-btn");return(0,s.wg)(),(0,s.iD)("div",null,[(0,s.Wm)(r),(0,s._)("div",Ee,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(e.tm.tokens,(e=>((0,s.wg)(),(0,s.j4)((0,s.LL)("token"===e.type?"Token":"TokenBlock"),{id:"t"+e.start,key:e.start,token:e,"background-color":e.backgroundColor,onRemoveBlock:l.onRemoveBlock},null,40,["id","token","background-color","onRemoveBlock"])))),128))]),(0,s._)("div",Pe,[(0,s.Wm)(i,{color:"red",outline:"",class:"q-mx-sm",label:"Reset",onClick:l.resetBlocks},null,8,["onClick"]),(0,s.Wm)(i,{class:"q-mx-sm",color:e.$q.dark.isActive?"grey-3":"grey-9",outline:"",disabled:0==e.currentIndex,label:"Back",onClick:l.backOneSentence},null,8,["color","disabled","onClick"]),(0,s.Wm)(i,{class:"q-mx-sm",color:e.$q.dark.isActive?"grey-3":"grey-9",outline:"",label:"Skip",onClick:l.skipCurrentSentence},null,8,["color","onClick"]),(0,s.Wm)(i,{class:"q-mx-sm",color:"green-7",outline:"",label:"Save",onClick:l.saveTags},null,8,["onClick"])])])}n(4719);const Be=["id"];function Ne(e,t,n,o,l,r){return"token"===n.token.type?((0,s.wg)(),(0,s.iD)("span",{key:0,id:"t"+n.token.start,class:"token",style:(0,a.j5)({padding:"char"==e.$store.state.annotationPrecision?"0.25rem 0rem":"0.25rem"})},(0,a.zw)(" "==n.token.text?" ":n.token.text),13,Be)):(0,s.kq)("",!0)}var Oe={name:"Token",props:{token:{type:Object,required:!0}}};const Qe=(0,W.Z)(Oe,[["render",Ne]]);var Fe=Qe;const Re={class:"tag"};function Le(e,t,n,o,l,r){const i=(0,s.up)("q-btn");return(0,s.wg)(),(0,s.iD)("mark",{class:(0,a.C_)("bg-"+n.backgroundColor)},[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(n.token.tokens,(e=>((0,s.wg)(),(0,s.j4)((0,s.LL)("Token"),{id:"t"+e.start,key:e.start,token:e},null,8,["id","token"])))),128)),(0,s._)("span",Re,[(0,s.Uk)((0,a.zw)(n.token.label)+" ",1),(0,s.Wm)(i,{icon:"fa fa-times-circle",round:"",flat:"",size:"xs","text-color":"grey-7",onClick:t[0]||(t[0]=t=>e.$emit("remove-block",n.token.start))})])],2)}var He={name:"TokenBlock",components:{Token:Fe},props:{token:{type:Object,requried:!0},backgroundColor:{type:String,required:!1}},emits:["remove-block"],data:function(){return{showClose:!1}}};const Ke=(0,W.Z)(He,[["render",Le]]);var ze=Ke;T()(He,"components",{QBtn:V.Z});const Ve={class:"q-pa-md",style:{"border-bottom":"1px solid #ccc"}},Me={class:"row"},Ye={class:"tags"},Je={class:"q-mx-md"},Ge={class:"buttons"};function $e(e,t,n,o,l,r){const i=(0,s.up)("q-avatar"),c=(0,s.up)("q-chip"),u=(0,s.up)("q-space"),d=(0,s.up)("q-btn"),p=(0,s.up)("q-input");return(0,s.wg)(),(0,s.iD)("div",Ve,[(0,s._)("div",Me,[(0,s._)("div",Ye,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(e.classes,((t,n)=>((0,s.wg)(),(0,s.j4)(c,{key:t.id,outline:"",square:"",style:{height:"2rem"},color:t.color.replace("11","12"),clickable:"",removable:l.showDeleteButtons,onClick:t=>e.setCurrentClass(n),onRemove:e=>r.handleRemoveClass(t.id,t.name)},{default:(0,s.w5)((()=>[t.id===e.currentClass.id?((0,s.wg)(),(0,s.j4)(i,{key:0,color:t.color.replace("11","12"),style:{height:"2rem"},"text-color":"white",icon:"fa fa-check"},null,8,["color"])):(0,s.kq)("",!0),t.id!==e.currentClass.id?((0,s.wg)(),(0,s.j4)(i,{key:1,color:t.color.replace("11","12"),style:{height:"2rem"},"text-color":"white","font-size":"16px"},{default:(0,s.w5)((()=>[(0,s.Uk)((0,a.zw)(n+1),1)])),_:2},1032,["color"])):(0,s.kq)("",!0),(0,s._)("p",{class:(0,a.C_)(["q-mb-none",e.$q.dark.isActive?"text-grey-3":"text-grey-9"])},(0,a.zw)(t.name),3)])),_:2},1032,["color","removable","onClick","onRemove"])))),128))]),(0,s.Wm)(u),(0,s._)("div",Je,[l.showNewClassInput||0===e.classes.length?((0,s.wg)(),(0,s.j4)(p,{key:0,modelValue:l.newClassName,"onUpdate:modelValue":t[1]||(t[1]=e=>l.newClassName=e),"bottom-slots":"",hint:"Enter a NER Tag and click [+] to add it",dense:"",autofocus:""},{append:(0,s.w5)((()=>[(0,s.Wm)(d,{round:"",dense:"",flat:"",color:"green-4",icon:"fa fa-plus",onClick:r.saveNewClass},null,8,["onClick"]),(0,s.Wm)(d,{round:"",color:"red-4",dense:"",flat:"",icon:"fa fa-times",onClick:t[0]||(t[0]=e=>l.showNewClassInput=!1)})])),_:1},8,["modelValue"])):(0,s.kq)("",!0)]),(0,s._)("div",Ge,[(0,s.Wm)(d,{outline:"",label:"New Tag",class:"q-mr-sm",color:e.$q.dark.isActive?"grey-3":"grey-9",onClick:t[2]||(t[2]=e=>l.showNewClassInput=!0)},null,8,["color"]),(0,s.Wm)(d,{outline:"",label:l.showDeleteButtons?"Lock Tags":"Edit Tags",color:e.$q.dark.isActive?"grey-3":"grey-9",onClick:t[3]||(t[3]=e=>l.showDeleteButtons=!l.showDeleteButtons)},null,8,["label","color"])])])])}var Xe={name:"ClassesBlock",data(){return{showNewClassInput:!1,newClassName:"",showDeleteButtons:!1}},computed:{...(0,C.rn)(["classes","currentClass","enableKeyboardShortcuts"])},watch:{newClassName(e,t){e!=t&&(this.newClassName=e.toUpperCase())}},created(){document.addEventListener("keydown",this.keypress)},methods:{...(0,C.OI)(["setCurrentClass"]),...(0,C.nv)(["createNewClass","deleteClass"]),keypress(e){if(this.enableKeyboardShortcuts){var t=parseInt(e.key);t&&(t>this.classes.length||this.setCurrentClass(t-1))}},async handleRemoveClass(e,t){let n=await this.confirmAction(t);n&&this.deleteClass(e)},async confirmAction(e){return new Promise((t=>{const n=confirm("Are you sure you want to remove the tag `"+e+"`?\nNOTE: This will NOT affect previously tagged entities.");t(n)}))},saveNewClass(){if(!this.newClassName)return;const e=this;this.createNewClass(this.newClassName).then((()=>{e.showNewClassInput=!1,e.newClassName=""}))},onInputKeyup(e){"Enter"===e.key&&this.saveNewClass()}}},et=n(1384);const tt=(0,W.Z)(Xe,[["render",$e],["__scopeId","data-v-22a27cc0"]]);var nt=tt;T()(Xe,"components",{QChip:et.Z,QAvatar:se.Z,QSpace:ie.Z,QInput:ue.Z,QBtn:V.Z});class ot{constructor(e){this.classes=e}setTokensAndAnnotation(e,t){if(this.tokens=e.map((e=>({type:"token",start:e[0],end:e[1],text:e[2]}))),this.words=e.map((e=>e[2])),void 0!=t)for(let l=0;le.name.toUpperCase()===s.toUpperCase()));a||(a={name:s}),this.addNewBlock(n,o,a)}}addNewBlock(e,t,n){let o=[],s=[],a=te?t:e;for(let r=0;ra&&e.starta&&n.start=l&&r.push(n)}t.length&&s.push({type:"token-block",start:t[0].start,end:t[t.length-1].end,tokens:t,label:e.label,classId:e.classId,backgroundColor:e.backgroundColor}),o.length&&r.length&&(s.push({type:"token-block",start:o[0].start,end:o[o.length-1].end,tokens:o,label:n&&n.name?n.name:"Unlabelled",classId:n&&n.id?n.id:0,backgroundColor:n&&n.color?n.color:null}),o=[]),r.length&&s.push({type:"token-block",start:r[0].start,end:r[r.length-1].end,tokens:r,label:e.label,classId:e.classId,backgroundColor:e.backgroundColor})}else"token"==e.type&&o.push(e);else e.start>=l&&o.length?(s.push({type:"token-block",start:o[0].start,end:o[o.length-1].end,tokens:o,label:n&&n.name?n.name:"Unlabelled",classId:n&&n.id?n.id:0,backgroundColor:n&&n.color?n.color:null}),o=[],s.push(e)):s.push(e)}o.length&&s.push({type:"token-block",start:o[0].start,end:o[o.length-1].end,tokens:o,label:n&&n.name?n.name:"Unlabelled",classId:n&&n.id?n.id:0,backgroundColor:n&&n.color?n.color:null}),this.tokens=s}removeBlock(e){let t=[];for(let n=0;n[t[n][0],t[n][1],e]));this.tm=new st(this.classes),this.tm.setTokensAndAnnotation(n,this.currentAnnotation)},selectTokens(){let e=document.getSelection();if(e.anchorOffset===e.focusOffset&&e.anchorNode===e.focusNode)return;const t=e.getRangeAt(0),n=e.getRangeAt(e.rangeCount-1);let o,s;try{o=parseInt(t.startContainer.parentElement.id.replace("t",""));let e=parseInt(n.endContainer.parentElement.id.replace("t",""));if(s=e+n.endOffset,!s){const t=n.endContainer.parentNode,o=t.previousSibling;e=parseInt(o.parentElement.id.replace("t","")),s=e+n.endOffset}}catch{return}if(!this.classes.length&&e.anchorNode)return alert("There are no Tags available. Kindly add some Tags before tagging."),void e.empty();this.tm.addNewBlock(o,s,this.currentClass),e.empty()},onRemoveBlock(e){this.tm.removeBlock(e)},resetBlocks(){this.tm.resetBlocks()},skipCurrentSentence(){this.nextSentence(),this.tokenizeCurrentSentence()},backOneSentence(){this.previousSentence(),this.tokenizeCurrentSentence()},saveTags(){this.$store.commit("addAnnotation",{text:this.currentSentence.text,entities:this.tm.exportAsAnnotation()}),this.nextSentence(),this.tokenizeCurrentSentence()}}};const it=(0,W.Z)(rt,[["render",je]]);var ct=it;T()(rt,"components",{QBtn:V.Z});const ut={class:"px-3"};function dt(e,t,n,o,a,l){const r=(0,s.up)("split-type-selector"),i=(0,s.up)("annotation-precision-selector"),c=(0,s.up)("progress-bar"),u=(0,s.up)("keyboard-shortcuts");return(0,s.wg)(),(0,s.iD)("nav",ut,[(0,s.Wm)(r,{class:"mt-4 mb-5"}),(0,s.Wm)(i,{class:"mt-4 mb-5"}),(0,s.Wm)(c,{class:"mb-5",completed:e.currentIndex,total:e.inputSentences.length},null,8,["completed","total"]),(0,s.Wm)(u)])}const pt={class:"q-mx-md"},mt={class:"is-size-6 q-mb-sm"};function ht(e,t,n,o,l,r){const i=(0,s.up)("q-linear-progress");return(0,s.wg)(),(0,s.iD)("div",pt,[(0,s._)("p",mt," Tagging Progress ("+(0,a.zw)(n.completed)+"/"+(0,a.zw)(n.total)+") ",1),(0,s.Wm)(i,{rounded:"",size:"md",color:"primary",value:n.completed/n.total},null,8,["value"])])}var gt={name:"ProgressBar",props:{completed:{type:Number,required:!0,default:0},total:{type:Number,required:!0}},computed:{completedPercent(){return parseInt(this.completed/this.total*100)}}},ft=n(6353);const wt=(0,W.Z)(gt,[["render",ht]]);var kt=wt;T()(gt,"components",{QLinearProgress:ft.Z});const yt={class:"q-pa-md"},bt={key:0,class:"q-px-md"};function vt(e,t,n,o,a,l){const r=(0,s.up)("q-select"),i=(0,s.up)("q-input");return(0,s.wg)(),(0,s.iD)("section",null,[(0,s._)("div",yt,[(0,s.Wm)(r,{modelValue:l.splitType,"onUpdate:modelValue":t[0]||(t[0]=e=>l.splitType=e),outlined:"","bg-color":e.$q.dark.isActive?"dark":"white",options:a.splitOptions,"map-options":!0,label:"Text Seperator"},null,8,["modelValue","bg-color","options"])]),"custom"===l.splitType?((0,s.wg)(),(0,s.iD)("div",bt,[(0,s.Wm)(i,{modelValue:a.customSeparator,"onUpdate:modelValue":t[1]||(t[1]=e=>a.customSeparator=e),label:"Separator","bg-color":"white",outlined:"",disabled:e.annotations.length,onChange:l.separatorChanged},null,8,["modelValue","disabled","onChange"])])):(0,s.kq)("",!0)])}var Ct={name:"SpitTypeSelector",data(){return{customSeparator:"---",splitOptions:[{label:"New Line",value:"newline"},{label:"An Empty Line",value:"emptyline"},{label:"Custom String",value:"custom"}]}},computed:{...(0,C.rn)(["annotations"]),splitType:{get(){switch(this.$store.state.separator){case"\n":return"newline";case"\n\n":return"emptyline";default:return"custom"}},set(e){switch(e.value){case"newline":this.$store.commit("setSeparator","\n");break;case"emptyline":this.$store.commit("setSeparator","\n\n");break;default:this.$store.commit("setSeparator","---");break}}}},methods:{separatorChanged(){this.$store.commit("setSeparator",this.customSeparator)}}},xt=n(33);const At=(0,W.Z)(Ct,[["render",vt]]);var St=At;T()(Ct,"components",{QSelect:xt.Z,QInput:ue.Z});const _t={class:"q-px-md q-pb-md"};function qt(e,t,n,o,a,l){const r=(0,s.up)("q-select");return(0,s.wg)(),(0,s.iD)("section",null,[(0,s._)("div",_t,[(0,s.Wm)(r,{modelValue:l.precisionType,"onUpdate:modelValue":t[0]||(t[0]=e=>l.precisionType=e),outlined:"","bg-color":e.$q.dark.isActive?"dark":"white",options:a.precisionOptions,"map-options":!0,label:"Annotation Precision"},null,8,["modelValue","bg-color","options"])])])}var Wt={name:"AnnotationPrecisionSelector",data(){return{precisionOptions:[{label:"Word Level",value:"word"},{label:"Character Level",value:"char"}]}},computed:{precisionType:{get(){switch(this.$store.state.annotationPrecision){case"word":return"word";case"char":return"char";default:return"word"}},set(e){switch(e.value){case"word":this.$store.commit("setAnnotationPrecision","word");break;case"char":this.$store.commit("setAnnotationPrecision","char");break;default:this.$store.commit("setAnnotationPrecision","word");break}}}}};const Zt=(0,W.Z)(Wt,[["render",qt]]);var Dt=Zt;T()(Wt,"components",{QSelect:xt.Z});const It=(0,s._)("br",null,null,-1),Ut=(0,s._)("div",{class:"column"},[(0,s._)("div",{class:"row",style:{height:"40px"}},[(0,s._)("div",{class:"col-4"}," Num Keys: "),(0,s._)("div",{class:"col"}," Change classes ")]),(0,s._)("div",{class:"row",style:{height:"60px"}},[(0,s._)("div",{class:"col-4"}," Space Bar: "),(0,s._)("div",{class:"col"}," Save and move to the next sentence ")]),(0,s._)("div",{class:"row",style:{height:"60px"}},[(0,s._)("div",{class:"col-4"}," Right Arrow: "),(0,s._)("div",{class:"col"}," Skip and move to the next sentence ")]),(0,s._)("div",{class:"row",style:{height:"60px"}},[(0,s._)("div",{class:"col-4"}," Left Arrow: "),(0,s._)("div",{class:"col"}," Go back to the previous sentence ")]),(0,s._)("div",{class:"row",style:{height:"60px"}},[(0,s._)("div",{class:"col-4"}," Escape: "),(0,s._)("div",{class:"col"}," Discard changes to the current sentence ")])],-1);function Tt(e,t,n,o,a,l){const r=(0,s.up)("q-toggle"),i=(0,s.up)("q-icon"),c=(0,s.up)("q-card-section"),u=(0,s.up)("q-card"),d=(0,s.up)("q-dialog");return(0,s.wg)(),(0,s.iD)(s.HY,null,[(0,s._)("section",null,[It,(0,s.Wm)(r,{modelValue:e.enableKeyboardShortcuts,"onUpdate:modelValue":t[0]||(t[0]=t=>e.enableKeyboardShortcuts=t),label:"Keyboard Shortcuts",onClick:l.enableKeyboardShortcutsChanged},null,8,["modelValue","onClick"]),(0,s.Wm)(i,{style:{"margin-left":"5px","margin-top":"3px"},color:e.$q.dark.isActive?"grey-4":"grey-10",name:"far fa-question-circle",onClick:t[1]||(t[1]=t=>e.showShortcutHelp=!0)},null,8,["color"])]),(0,s.Wm)(d,{"model-value":e.showShortcutHelp,onHide:t[2]||(t[2]=t=>e.showShortcutHelp=!1)},{default:(0,s.w5)((()=>[(0,s.Wm)(u,{style:{"min-width":"100px",padding:"10px","border-radius":"10px"}},{default:(0,s.w5)((()=>[(0,s.Wm)(c,{class:"text-body1"},{default:(0,s.w5)((()=>[Ut])),_:1})])),_:1})])),_:1},8,["model-value"])],64)}var Et={name:"KeyboardShortcuts",data:function(){return{enableKeyboardShortcuts:!1,showShortcutHelp:!1}},methods:{enableKeyboardShortcutsChanged(){this.$store.commit("setKeyboardShortcuts",this.enableKeyboardShortcuts)}}},Pt=n(8299);const jt=(0,W.Z)(Et,[["render",Tt]]);var Bt=jt;T()(Et,"components",{QToggle:Pt.Z,QIcon:ce.Z,QDialog:L.Z,QCard:H.Z,QCardSection:K.Z});var Nt={name:"AnnotationSidebar",components:{ProgressBar:kt,SplitTypeSelector:St,AnnotationPrecisionSelector:Dt,KeyboardShortcuts:Bt},computed:{...(0,C.rn)(["currentIndex","inputSentences"])}};const Ot=(0,W.Z)(Nt,[["render",dt]]);var Qt=Ot;const Ft={class:"column items-center"},Rt={class:"text-h2 text-white"},Lt=(0,s._)("p",{class:"text-h3 text-white"}," Drop file to upload. ",-1);function Ht(e,t){const n=(0,s.up)("q-icon");return(0,s.wg)(),(0,s.iD)("div",{class:"fullscreen column justify-center bg-black",style:(0,a.j5)({opacity:"0.85"})},[(0,s._)("div",Ft,[(0,s._)("p",Rt,[(0,s.Wm)(n,{name:"fas fa-upload"})]),Lt])],4)}const Kt={},zt=(0,W.Z)(Kt,[["render",Ht]]);var Vt=zt;T()(Kt,"components",{QIcon:ce.Z});var Mt={name:"LayoutDefault",components:{MenuBar:pe,StartPage:Te,AnnotationPage:ct,AnnotationSidebar:Qt,DragNDropOverlay:Vt,ExitDialog:te},setup(){const e=(0,j.Z)();return{notify(t,n,o){e.notify({icon:t,message:n,color:o,position:"top",timeout:2e3,actions:[{label:"Dismiss",color:"white"}]})}}},data(){return{currentPage:"start",overlayActive:!1,pendingFileDrop:null}},computed:{...(0,C.rn)(["annotations","classes"])},methods:{...(0,C.OI)(["loadClasses","loadAnnotations","setInputSentences","clearAllAnnotations","resetIndex"]),switchToPage(e){this.currentPage=e},onDragEnter(){this.overlayActive=!0},onDragLeave(){this.overlayActive=!1},onDrop(e){this.overlayActive=!1,this.pendingFileDrop=e.dataTransfer.files[0],"start"==this.currentPage&&this.processFileDrop()},processFileDrop(){let e=new FileReader;e.onload=e=>{let t=e.target.result;try{if("start"==this.currentPage)throw new Error("Not a text file.");this.loadAnnotations(JSON.parse(t)),this.notify("fa fa-check","Annotations imported successfully","positive")}catch(n){try{if("start"==this.currentPage)throw new Error("Not a text file.");this.loadClasses(JSON.parse(t)),this.notify("fa fa-check",`${this.classes.length} Tags imported successfully`,"positive")}catch(n){try{this.setInputSentences(t),this.clearAllAnnotations(),this.resetIndex(),this.switchToPage("annotate")}catch(n){this.notify("fas fa-exclamation-circle","Invalid file","red-6")}}}},e.readAsText(this.pendingFileDrop),this.pendingFileDrop=null}}},Yt=n(2446),Jt=n(2709),Gt=n(6974);const $t=(0,W.Z)(Mt,[["render",l]]);var Xt=$t;T()(Mt,"components",{QLayout:Yt.Z,QDrawer:Jt.Z,QPageContainer:Gt.Z});n(2374);var en=n(853);const tn=["red-11","blue-11","light-green-11","deep-orange-11","pink-11","light-blue-11","lime-11","brown-11","purple-11","cyan-11","yellow-11","grey-11","deep-purple-11","teal-11","amber-11","blue-grey-11","indigo-11","green-11","orange-11"],nn={setInputSentences(e,t){Array.isArray(t)||(e.originalText=t,t=t.split(e.separator)),e.inputSentences=t.map(((e,t)=>({id:t,text:e})))},addClass(e,t){let n=e.classes.find((e=>e.name==t));if(n)return;let o=e.classes.reduce(((e,t)=>t.id>e?t.id:e),0),s={id:o+1,name:t,color:tn[o%tn.length]};e.classes=[...e.classes,s],1===e.classes.length&&(e.currentClass=e.classes[0])},removeClass(e,t){e.classes=e.classes.filter((e=>e.id!=t)),e.currentClass.id===t&&(e.currentClass=e.classes[0])},setCurrentClass(e,t){e.currentClass=e.classes[t]},addAnnotation(e,t){e.annotations[e.currentIndex]=t,e.currentAnnotation=t},clearAllAnnotations(e){e.annotations=[],e.currentAnnotation={}},setSeparator(e,t){e.separator=t;const n=e.originalText.split(e.separator);e.inputSentences=n.map(((e,t)=>({id:t,text:e})))},setAnnotationPrecision(e,t){e.annotationPrecision=t},setKeyboardShortcuts(e,t){e.enableKeyboardShortcuts=t},nextSentence(e){e.currentIndex0?(e.currentIndex-=1,e.currentAnnotation=e.annotations[e.currentIndex]):alert("You are at the beginning of all sentences")},resetIndex(e){e.currentIndex=0},loadClasses(e,t){if(!Array.isArray(t))throw new Error("loadClasses: payload must be an array");let n=t.reduce(((e,t)=>e&&"object"===typeof t&&"id"in t&&"name"in t&&"color"in t),!0);if(!n)throw new Error("loadClasses: payload has invalid schema");e.classes=t,e.currentClass=e.classes[0],en.Z.set("tags",e.classes)},loadAnnotations(e,t){let n="object"===typeof t&&"annotations"in t&&"classes"in t;if(!n)throw new Error("loadAnnotations: payload has invalid schema");let o=t.classes;if(!Array.isArray(o))throw new Error("loadAnnotations: payload must be an array");let s=t.annotations;if(!Array.isArray(s))throw new Error("loadAnnotations: payload must be an array");let a=[];for(var l=0;l{e("addClass",n);try{en.Z.set("tags",t.classes)}catch(a){s(a)}o()}))},deleteClass({commit:e,state:t},n){e("removeClass",n),en.Z.set("tags",t.classes)}};window.addEventListener("beforeunload",(async e=>{e.returnValue="Please make sure you export annotations before closing the file."}));var an={state(){let e=en.Z.getItem("tags");return{annotations:[],classes:e||[],inputSentences:[],originalText:"",separator:"\n",enableKeyboardShortcuts:!1,annotationPrecision:"word",currentAnnotation:{},currentClass:e&&e[0]||{},currentIndex:0,currentSentence:""}},getters:on,mutations:nn,actions:sn},ln=n(8029),rn=n(4525),cn=n.n(rn),un=n(9797),dn={config:{},plugins:{Notify:un.Z},iconSet:cn()};const pn=(0,o.ri)(Xt).use(ln.Z,dn).use((0,C.MT)(an));pn.mount("#app")}},t={};function n(o){var s=t[o];if(void 0!==s)return s.exports;var a=t[o]={exports:{}};return e[o].call(a.exports,a,a.exports,n),a.exports}n.m=e,function(){var e=[];n.O=function(t,o,s,a){if(!o){var l=1/0;for(u=0;u=a)&&Object.keys(n.O).every((function(e){return n.O[e](o[i])}))?o.splice(i--,1):(r=!1,a0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[o,s,a]}}(),function(){n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,{a:t}),t}}(),function(){n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){n.p="/ner-annotator/"}(),function(){var e={143:0};n.O.j=function(t){return 0===e[t]};var t=function(t,o){var s,a,l=o[0],r=o[1],i=o[2],c=0;if(l.some((function(t){return 0!==e[t]}))){for(s in r)n.o(r,s)&&(n.m[s]=r[s]);if(i)var u=i(n)}for(t&&t(o);c\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n","\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n NER Annotator\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n File\r\n \r\n \r\n \r\n \r\n Open File \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Annotations\r\n \r\n \r\n \r\n \r\n \r\n Import \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Tags\r\n \r\n \r\n \r\n \r\n Export \r\n \r\n \r\n Import \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
Help \r\n\r\n
\r\n \r\n \r\n \r\n Forum\r\n \r\n \r\n \r\n Report Issue\r\n \r\n \r\n \r\n About \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n Project Name\r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n","\r\n \r\n Export \r\n \r\n \r\n\r\n\r\n","import { save } from \"@tauri-apps/api/dialog\";\r\nimport { invoke } from \"@tauri-apps/api/tauri\";\r\nimport { documentDir } from \"@tauri-apps/api/path\";\r\n\r\nexport const exportFile = async (content, filename) => {\r\n if (typeof window.rpc === \"undefined\") {\r\n let element = document.createElement(\"a\");\r\n element.setAttribute(\r\n \"href\",\r\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(content)\r\n );\r\n element.setAttribute(\"download\", filename);\r\n element.style.display = \"none\";\r\n document.body.appendChild(element);\r\n element.click();\r\n document.body.removeChild(element);\r\n } else {\r\n save({\r\n defaultPath: await documentDir(),\r\n filters: [\r\n { extensions: [\"json\"], name: \"JSON Files (*.json)\" },\r\n { name: \"All files (*.*)\", extensions: [\"*\"] },\r\n ],\r\n })\r\n .then((path) => {\r\n if (!path) return;\r\n if (!path.match(/.*\\.json$/)) path += \".json\";\r\n\r\n invoke(\"save_file\", { filepath: path, contents: content })\r\n .then((msg) => alert(msg))\r\n .catch((e) => alert(e));\r\n })\r\n .catch(() => {});\r\n }\r\n};\r\n","import { render } from \"./ExportAnnotations.vue?vue&type=template&id=8c9f07e2\"\nimport script from \"./ExportAnnotations.vue?vue&type=script&lang=js\"\nexport * from \"./ExportAnnotations.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"D:\\\\ner-annotator\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QItem from 'quasar/src/components/item/QItem.js';\nimport QItemSection from 'quasar/src/components/item/QItemSection.js';import ClosePopup from 'quasar/src/directives/ClosePopup.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QItem,QItemSection});qInstall(script, 'directives', {ClosePopup});\n","\r\n \r\n \r\n \r\n \r\n NER Annotator\r\n
\r\n \r\n\r\n \r\n Version: {{ version }}
\r\n \r\n Source: \r\n \r\n Github Repository\r\n \r\n
\r\n \r\n Author: \r\n @tecoholic (Github ,\r\n Twitter )\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import { render } from \"./AboutDialog.vue?vue&type=template&id=5a6e4541\"\nimport script from \"./AboutDialog.vue?vue&type=script&lang=js\"\nexport * from \"./AboutDialog.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"D:\\\\ner-annotator\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QDialog from 'quasar/src/components/dialog/QDialog.js';\nimport QCard from 'quasar/src/components/card/QCard.js';\nimport QCardSection from 'quasar/src/components/card/QCardSection.js';\nimport QCardActions from 'quasar/src/components/card/QCardActions.js';\nimport QBtn from 'quasar/src/components/btn/QBtn.js';import ClosePopup from 'quasar/src/directives/ClosePopup.js';\nimport qInstall from \"../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QDialog,QCard,QCardSection,QCardActions,QBtn});qInstall(script, 'directives', {ClosePopup});\n","\r\n \r\n \r\n \r\n \r\n Are you sure you want to close this file?\r\n
\r\n \r\n\r\n \r\n All changes made to this file will be lost.
\r\n If you haven't exported the annotations, please do so before closing the file.\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n","import { render } from \"./ExitDialog.vue?vue&type=template&id=9c9b2726\"\nimport script from \"./ExitDialog.vue?vue&type=script&lang=js\"\nexport * from \"./ExitDialog.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"D:\\\\ner-annotator\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QDialog from 'quasar/src/components/dialog/QDialog.js';\nimport QCard from 'quasar/src/components/card/QCard.js';\nimport QCardSection from 'quasar/src/components/card/QCardSection.js';\nimport QCardActions from 'quasar/src/components/card/QCardActions.js';\nimport QBtn from 'quasar/src/components/btn/QBtn.js';import ClosePopup from 'quasar/src/directives/ClosePopup.js';\nimport qInstall from \"../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QDialog,QCard,QCardSection,QCardActions,QBtn});qInstall(script, 'directives', {ClosePopup});\n","import { render } from \"./MenuBar.vue?vue&type=template&id=690b15e8\"\nimport script from \"./MenuBar.vue?vue&type=script&lang=js\"\nexport * from \"./MenuBar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"D:\\\\ner-annotator\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QHeader from 'quasar/src/components/header/QHeader.js';\nimport QAvatar from 'quasar/src/components/avatar/QAvatar.js';\nimport QMenu from 'quasar/src/components/menu/QMenu.js';\nimport QList from 'quasar/src/components/item/QList.js';\nimport QItem from 'quasar/src/components/item/QItem.js';\nimport QItemSection from 'quasar/src/components/item/QItemSection.js';\nimport QSeparator from 'quasar/src/components/separator/QSeparator.js';\nimport QSpace from 'quasar/src/components/space/QSpace.js';\nimport QIcon from 'quasar/src/components/icon/QIcon.js';\nimport QDialog from 'quasar/src/components/dialog/QDialog.js';\nimport QCard from 'quasar/src/components/card/QCard.js';\nimport QCardSection from 'quasar/src/components/card/QCardSection.js';\nimport QInput from 'quasar/src/components/input/QInput.js';\nimport QCardActions from 'quasar/src/components/card/QCardActions.js';\nimport QBtn from 'quasar/src/components/btn/QBtn.js';import ClosePopup from 'quasar/src/directives/ClosePopup.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QHeader,QAvatar,QMenu,QList,QItem,QItemSection,QSeparator,QSpace,QIcon,QDialog,QCard,QCardSection,QInput,QCardActions,QBtn});qInstall(script, 'directives', {ClosePopup});\n","\r\n \r\n \r\n
\r\n NER Text Annotator\r\n \r\n
\r\n Annotate text for spaCy NER Model training\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Select your file(s), then press 'Begin'!\r\n
\r\n
\r\n Hint: You can also drag and drop files into this window!\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n How to use the NER Annotator?\r\n \r\n
\r\n \r\n \r\n \r\n Tips to prepare the text file\r\n
\r\n \r\n Break your content in paragraphs or passages \r\n \r\n Maintain a consistent seperator between the passages. \r\n Eg., newline, empty line or a text seperator like ---
\r\n \r\n \r\n For large datasets, break the text into smaller files and tag them\r\n seperately\r\n \r\n \r\n \r\n \r\n \r\n \r\n Use the New Tag button to create new tags \r\n \r\n Use the Edit Tag button to remove unwanted tags\r\n \r\n \r\n Click the Save button once you are done\r\n annotating an entry and to move to the next one\r\n \r\n \r\n Adjust the Text Seperator break your content\r\n correctly into entries\r\n \r\n \r\n Use the Tags menu to Export/Import tags to share\r\n with your team\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n See the spaCy documentation\r\n \r\n here\r\n \r\n on how to convert the annotations from JSON to DocBin format.\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n\r\n","import { render } from \"./StartPage.vue?vue&type=template&id=5bd22407\"\nimport script from \"./StartPage.vue?vue&type=script&lang=js\"\nexport * from \"./StartPage.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"D:\\\\ner-annotator\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QIcon from 'quasar/src/components/icon/QIcon.js';\nimport QBtn from 'quasar/src/components/btn/QBtn.js';\nimport QFile from 'quasar/src/components/file/QFile.js';\nimport QSeparator from 'quasar/src/components/separator/QSeparator.js';\nimport QTimeline from 'quasar/src/components/timeline/QTimeline.js';\nimport QTimelineEntry from 'quasar/src/components/timeline/QTimelineEntry.js';\nimport QImg from 'quasar/src/components/img/QImg.js';import ClosePopup from 'quasar/src/directives/ClosePopup.js';\nimport qInstall from \"../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QIcon,QBtn,QFile,QSeparator,QTimeline,QTimelineEntry,QImg});qInstall(script, 'directives', {ClosePopup});\n","\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n","\r\n \r\n {{ token.text == \" \" ? \" \" : token.text }}\r\n \r\n \r\n\r\n","import { render } from \"./Token.vue?vue&type=template&id=407b1120\"\nimport script from \"./Token.vue?vue&type=script&lang=js\"\nexport * from \"./Token.vue?vue&type=script&lang=js\"\n\nimport \"./Token.vue?vue&type=style&index=0&id=407b1120&lang=scss\"\n\nimport exportComponent from \"D:\\\\ner-annotator\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n \r\n \r\n \r\n {{ token.label }}\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import { render } from \"./TokenBlock.vue?vue&type=template&id=65205d90\"\nimport script from \"./TokenBlock.vue?vue&type=script&lang=js\"\nexport * from \"./TokenBlock.vue?vue&type=script&lang=js\"\n\nimport \"./TokenBlock.vue?vue&type=style&index=0&id=65205d90&lang=scss\"\n\nimport exportComponent from \"D:\\\\ner-annotator\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QBtn from 'quasar/src/components/btn/QBtn.js';\nimport qInstall from \"../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QBtn});\n","\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n\r\n","import { render } from \"./ClassesBlock.vue?vue&type=template&id=22a27cc0&scoped=true\"\nimport script from \"./ClassesBlock.vue?vue&type=script&lang=js\"\nexport * from \"./ClassesBlock.vue?vue&type=script&lang=js\"\n\nimport \"./ClassesBlock.vue?vue&type=style&index=0&id=22a27cc0&lang=css&scoped=true\"\n\nimport exportComponent from \"D:\\\\ner-annotator\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-22a27cc0\"]])\n\nexport default __exports__\nimport QChip from 'quasar/src/components/chip/QChip.js';\nimport QAvatar from 'quasar/src/components/avatar/QAvatar.js';\nimport QSpace from 'quasar/src/components/space/QSpace.js';\nimport QInput from 'quasar/src/components/input/QInput.js';\nimport QBtn from 'quasar/src/components/btn/QBtn.js';\nimport qInstall from \"../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QChip,QAvatar,QSpace,QInput,QBtn});\n","class TokenManager {\r\n /**\r\n *\r\n * @param {Array} tokens\r\n */\r\n constructor(classes) {\r\n this.classes = classes\r\n }\r\n\r\n setTokensAndAnnotation(tokens, currentAnnotation) {\r\n this.tokens = tokens.map((t) => ({\r\n type: \"token\",\r\n start: t[0],\r\n end: t[1],\r\n text: t[2],\r\n }));\r\n this.words = tokens.map(t => t[2]);\r\n\r\n if (currentAnnotation != undefined) {\r\n // reset prevoius annotation state\r\n for (let i = 0; i < currentAnnotation.entities.length; i++) {\r\n var start = currentAnnotation.entities[i][0];\r\n var end = currentAnnotation.entities[i][1];\r\n var entityName = currentAnnotation.entities[i][2];\r\n var entityClass = this.classes.find(c => c.name.toUpperCase() === entityName.toUpperCase())\r\n if (!entityClass) {\r\n entityClass = {\"name\": entityName};\r\n }\r\n this.addNewBlock(start, end, entityClass)\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Creates a new token block with the tokens whose starts match the input\r\n * parameters\r\n *\r\n * @param {Number} start 'start' value of the token forming the start of the token block\r\n * @param {Number} end 'start' value of the token forming the end of the token block\r\n * @param {Number} _class the id of the class to highlight\r\n */\r\n addNewBlock(_start, _end, _class) {\r\n let selectedTokens = [];\r\n let newTokens = [];\r\n\r\n let selectionStart = _end < _start ? _end : _start;\r\n let selectionEnd = _end > _start ? _end : _start;\r\n \r\n for (let i = 0; i < this.tokens.length; i++) {\r\n let currentToken = this.tokens[i];\r\n if (currentToken.end < selectionStart) {\r\n // token is before the selection\r\n newTokens.push(currentToken);\r\n } else if (currentToken.end > selectionStart && currentToken.start < selectionEnd) {\r\n // token is inside the selection\r\n if (currentToken.type == \"token-block\") {\r\n if (currentToken.label.toUpperCase() == _class.name.toUpperCase()) {\r\n // tokens are from the same class\r\n selectedTokens.push(...currentToken.tokens);\r\n } else {\r\n // tokens are from different class\r\n let tokensBeforeSelection = [];\r\n let tokensAfterSelection = [];\r\n let oldTokens = currentToken.tokens;\r\n for (let j = 0; j < oldTokens.length; j++) {\r\n let oldToken = oldTokens[j];\r\n if (oldToken.end <= selectionStart) {\r\n tokensBeforeSelection.push(oldToken);\r\n } else if (oldToken.end > selectionStart && oldToken.start < selectionEnd) {\r\n selectedTokens.push(oldToken);\r\n } else if (oldToken.start >= selectionEnd) {\r\n tokensAfterSelection.push(oldToken);\r\n }\r\n }\r\n\r\n if (tokensBeforeSelection.length) {\r\n newTokens.push({\r\n type: \"token-block\",\r\n start: tokensBeforeSelection[0].start,\r\n end: tokensBeforeSelection[tokensBeforeSelection.length - 1].end,\r\n tokens: tokensBeforeSelection,\r\n label: currentToken.label,\r\n classId: currentToken.classId,\r\n backgroundColor: currentToken.backgroundColor,\r\n })\r\n }\r\n\r\n if (selectedTokens.length && tokensAfterSelection.length) {\r\n // there are selected tokens and more tokens in block after selection\r\n newTokens.push({\r\n type: \"token-block\",\r\n start: selectedTokens[0].start,\r\n end: selectedTokens[selectedTokens.length - 1].end,\r\n tokens: selectedTokens,\r\n label: _class && _class.name ? _class.name : \"Unlabelled\",\r\n classId: _class && _class.id ? _class.id : 0,\r\n backgroundColor: _class && _class.color ? _class.color : null,\r\n });\r\n selectedTokens = [];\r\n }\r\n\r\n if (tokensAfterSelection.length) {\r\n newTokens.push({\r\n type: \"token-block\",\r\n start: tokensAfterSelection[0].start,\r\n end: tokensAfterSelection[tokensAfterSelection.length - 1].end,\r\n tokens: tokensAfterSelection,\r\n label: currentToken.label,\r\n classId: currentToken.classId,\r\n backgroundColor: currentToken.backgroundColor,\r\n })\r\n }\r\n }\r\n } else if (currentToken.type == \"token\") {\r\n selectedTokens.push(currentToken);\r\n }\r\n } else if (currentToken.start >= selectionEnd && selectedTokens.length) {\r\n // token is first after the selection\r\n newTokens.push({\r\n type: \"token-block\",\r\n start: selectedTokens[0].start,\r\n end: selectedTokens[selectedTokens.length - 1].end,\r\n tokens: selectedTokens,\r\n label: _class && _class.name ? _class.name : \"Unlabelled\",\r\n classId: _class && _class.id ? _class.id : 0,\r\n backgroundColor: _class && _class.color ? _class.color : null,\r\n });\r\n selectedTokens = [];\r\n newTokens.push(currentToken);\r\n } else {\r\n newTokens.push(currentToken);\r\n }\r\n }\r\n\r\n // Case if the selected tokens are at the end of the text and have not been added to the newTokens\r\n if (selectedTokens.length) {\r\n newTokens.push({\r\n type: \"token-block\",\r\n start: selectedTokens[0].start,\r\n end: selectedTokens[selectedTokens.length - 1].end,\r\n tokens: selectedTokens,\r\n label: _class && _class.name ? _class.name : \"Unlabelled\",\r\n classId: _class && _class.id ? _class.id : 0,\r\n backgroundColor: _class && _class.color ? _class.color : null,\r\n });\r\n }\r\n\r\n this.tokens = newTokens;\r\n }\r\n\r\n /**\r\n * Removes a token block and puts back all the tokens in their original position\r\n *\r\n * @param {Number} blockStart 'start' value of the token block to remove\r\n */\r\n removeBlock(blockStart) {\r\n let newTokens = [];\r\n for (let i = 0; i < this.tokens.length; i++) {\r\n if (\r\n this.tokens[i].type === \"token-block\" &&\r\n this.tokens[i].start === blockStart\r\n ) {\r\n newTokens.push(...this.tokens[i].tokens);\r\n } else {\r\n newTokens.push(this.tokens[i]);\r\n }\r\n }\r\n this.tokens = newTokens;\r\n }\r\n\r\n /**\r\n * Removes all the tag blocks and leaves only tokens\r\n */\r\n resetBlocks() {\r\n let newTokens = [];\r\n for (let i = 0; i < this.tokens.length; i++) {\r\n if (this.tokens[i].type === \"token\") {\r\n newTokens.push(this.tokens[i]);\r\n } else {\r\n newTokens.push(...this.tokens[i].tokens);\r\n }\r\n }\r\n this.tokens = newTokens;\r\n }\r\n\r\n /**\r\n * Exports the tokens and the token blocks as annotations\r\n */\r\n exportAsAnnotation() {\r\n let entities = [];\r\n for (let i = 0; i < this.tokens.length; i++) {\r\n if (this.tokens[i].type === \"token-block\") {\r\n let b = this.tokens[i];\r\n entities.push([b.start, b.end, b.label]);\r\n }\r\n }\r\n return entities;\r\n }\r\n}\r\n\r\nexport default TokenManager;\r\n","import { render } from \"./AnnotationPage.vue?vue&type=template&id=293f1065\"\nimport script from \"./AnnotationPage.vue?vue&type=script&lang=js\"\nexport * from \"./AnnotationPage.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"D:\\\\ner-annotator\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QBtn from 'quasar/src/components/btn/QBtn.js';\nimport qInstall from \"../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QBtn});\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","\r\n \r\n
\r\n Tagging Progress ({{ completed }}/{{ total }})\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n","import { render } from \"./ProgressBar.vue?vue&type=template&id=b67602a6\"\nimport script from \"./ProgressBar.vue?vue&type=script&lang=js\"\nexport * from \"./ProgressBar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"D:\\\\ner-annotator\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QLinearProgress from 'quasar/src/components/linear-progress/QLinearProgress.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QLinearProgress});\n","\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n \r\n \r\n\r\n\r\n","import { render } from \"./SplitTypeSelector.vue?vue&type=template&id=28ecded1\"\nimport script from \"./SplitTypeSelector.vue?vue&type=script&lang=js\"\nexport * from \"./SplitTypeSelector.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"D:\\\\ner-annotator\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QSelect from 'quasar/src/components/select/QSelect.js';\nimport QInput from 'quasar/src/components/input/QInput.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QSelect,QInput});\n","\r\n \r\n \r\n\r\n\r\n","import { render } from \"./AnnotationPrecisionSelector.vue?vue&type=template&id=77447dd9\"\nimport script from \"./AnnotationPrecisionSelector.vue?vue&type=script&lang=js\"\nexport * from \"./AnnotationPrecisionSelector.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"D:\\\\ner-annotator\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QSelect from 'quasar/src/components/select/QSelect.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QSelect});\n","\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n Num Keys:\r\n
\r\n
\r\n Change classes\r\n
\r\n
\r\n
\r\n
\r\n Space Bar:\r\n
\r\n
\r\n Save and move to the next sentence\r\n
\r\n
\r\n
\r\n
\r\n Right Arrow:\r\n
\r\n
\r\n Skip and move to the next sentence\r\n
\r\n
\r\n
\r\n
\r\n Left Arrow:\r\n
\r\n
\r\n Go back to the previous sentence\r\n
\r\n
\r\n
\r\n
\r\n Escape:\r\n
\r\n
\r\n Discard changes to the current sentence\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n ","import { render } from \"./KeyboardShortcuts.vue?vue&type=template&id=913b4d0c\"\nimport script from \"./KeyboardShortcuts.vue?vue&type=script&lang=js\"\nexport * from \"./KeyboardShortcuts.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"D:\\\\ner-annotator\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QToggle from 'quasar/src/components/toggle/QToggle.js';\nimport QIcon from 'quasar/src/components/icon/QIcon.js';\nimport QDialog from 'quasar/src/components/dialog/QDialog.js';\nimport QCard from 'quasar/src/components/card/QCard.js';\nimport QCardSection from 'quasar/src/components/card/QCardSection.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QToggle,QIcon,QDialog,QCard,QCardSection});\n","import { render } from \"./AnnotationSidebar.vue?vue&type=template&id=43bc568a\"\nimport script from \"./AnnotationSidebar.vue?vue&type=script&lang=js\"\nexport * from \"./AnnotationSidebar.vue?vue&type=script&lang=js\"\n\nimport \"./AnnotationSidebar.vue?vue&type=style&index=0&id=43bc568a&lang=scss\"\n\nimport exportComponent from \"D:\\\\ner-annotator\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n Drop file to upload.\r\n
\r\n
\r\n
\r\n ","import { render } from \"./DragNDropOverlay.vue?vue&type=template&id=14fe52b7\"\nconst script = {}\n\nimport exportComponent from \"D:\\\\ner-annotator\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QIcon from 'quasar/src/components/icon/QIcon.js';\nimport qInstall from \"../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QIcon});\n","import { render } from \"./App.vue?vue&type=template&id=1d34193e\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"D:\\\\ner-annotator\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QLayout from 'quasar/src/components/layout/QLayout.js';\nimport QDrawer from 'quasar/src/components/drawer/QDrawer.js';\nimport QPageContainer from 'quasar/src/components/page/QPageContainer.js';\nimport qInstall from \"../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QLayout,QDrawer,QPageContainer});\n","import LocalStorage from 'quasar/src/plugins/LocalStorage.js';;\r\n\r\nconst niceColors = [\r\n \"red-11\",\r\n \"blue-11\",\r\n \"light-green-11\",\r\n \"deep-orange-11\",\r\n \"pink-11\",\r\n \"light-blue-11\",\r\n \"lime-11\",\r\n \"brown-11\",\r\n \"purple-11\",\r\n \"cyan-11\",\r\n \"yellow-11\",\r\n \"grey-11\",\r\n \"deep-purple-11\",\r\n \"teal-11\",\r\n \"amber-11\",\r\n \"blue-grey-11\",\r\n \"indigo-11\",\r\n \"green-11\",\r\n \"orange-11\",\r\n];\r\n\r\nexport const mutations = {\r\n setInputSentences(state, payload) {\r\n if (!Array.isArray(payload)) {\r\n state.originalText = payload;\r\n payload = payload.split(state.separator);\r\n }\r\n state.inputSentences = payload.map((s, i) => ({ id: i, text: s }));\r\n },\r\n addClass(state, payload) {\r\n let existing = state.classes.find((c) => c.name == payload);\r\n if (existing) {\r\n return;\r\n }\r\n let lastIndex = state.classes.reduce((p, c) => {\r\n return c.id > p ? c.id : p;\r\n }, 0);\r\n let newClass = {\r\n id: lastIndex + 1,\r\n name: payload,\r\n color: niceColors[lastIndex % niceColors.length],\r\n }\r\n state.classes = [...state.classes, newClass];\r\n if (state.classes.length === 1) {\r\n state.currentClass = state.classes[0];\r\n }\r\n },\r\n removeClass(state, payload) {\r\n state.classes = state.classes.filter((c) => c.id != payload);\r\n if (state.currentClass.id === payload) {\r\n state.currentClass = state.classes[0];\r\n }\r\n },\r\n setCurrentClass(state, payload) {\r\n state.currentClass = state.classes[payload];\r\n },\r\n addAnnotation(state, payload) {\r\n state.annotations[state.currentIndex] = payload;\r\n state.currentAnnotation = payload;\r\n },\r\n clearAllAnnotations(state) {\r\n state.annotations = [];\r\n state.currentAnnotation = {};\r\n },\r\n setSeparator(state, payload) {\r\n state.separator = payload;\r\n const sentences = state.originalText.split(state.separator);\r\n state.inputSentences = sentences.map((s, i) => ({ id: i, text: s }));\r\n },\r\n setAnnotationPrecision(state, payload) {\r\n state.annotationPrecision = payload;\r\n },\r\n setKeyboardShortcuts(state, payload) {\r\n state.enableKeyboardShortcuts = payload;\r\n },\r\n nextSentence(state) {\r\n if (state.currentIndex < state.inputSentences.length - 1) {\r\n state.currentIndex += 1;\r\n state.currentAnnotation = state.annotations[state.currentIndex] || {};\r\n } else {\r\n alert(\"You have completed all the sentences\");\r\n }\r\n },\r\n previousSentence(state) {\r\n if (state.currentIndex > 0) {\r\n state.currentIndex -= 1;\r\n state.currentAnnotation = state.annotations[state.currentIndex];\r\n } else {\r\n alert(\"You are at the beginning of all sentences\");\r\n }\r\n },\r\n resetIndex(state) {\r\n state.currentIndex = 0;\r\n },\r\n loadClasses(state, payload) {\r\n if (!Array.isArray(payload)) {\r\n throw new Error(\"loadClasses: payload must be an array\");\r\n }\r\n let isValid = payload.reduce(\r\n (acc, curr) =>\r\n acc &&\r\n typeof curr === \"object\" &&\r\n \"id\" in curr &&\r\n \"name\" in curr &&\r\n \"color\" in curr,\r\n true\r\n );\r\n if (!isValid) {\r\n throw new Error(\"loadClasses: payload has invalid schema\");\r\n }\r\n state.classes = payload;\r\n state.currentClass = state.classes[0];\r\n LocalStorage.set(\"tags\", state.classes);\r\n },\r\n loadAnnotations(state, payload) {\r\n let isValid = typeof payload === \"object\" &&\r\n \"annotations\" in payload &&\r\n \"classes\" in payload;\r\n\r\n if (!isValid) {\r\n throw new Error(\"loadAnnotations: payload has invalid schema\");\r\n }\r\n\r\n let classes = payload.classes;\r\n if (!Array.isArray(classes)) {\r\n throw new Error(\"loadAnnotations: payload must be an array\");\r\n }\r\n\r\n let annotations = payload.annotations;\r\n if (!Array.isArray(annotations)) {\r\n throw new Error(\"loadAnnotations: payload must be an array\");\r\n }\r\n\r\n let newAnnotations = [];\r\n\r\n for (var i = 0; i < annotations.length; i++) {\r\n if (annotations[i] == null) continue;\r\n let annotation = {\r\n 'text': annotations[i][0],\r\n 'entities': annotations[i][1].entities,\r\n }\r\n newAnnotations[i] = annotation;\r\n }\r\n state.annotations = newAnnotations;\r\n state.currentAnnotation = state.annotations[state.currentIndex];\r\n\r\n for(let c of classes) {\r\n this.commit(\"addClass\", c);\r\n }\r\n LocalStorage.set(\"tags\", state.classes);\r\n },\r\n};\r\n\r\nexport const getters = {};\r\n\r\nconst actions = {\r\n createNewClass({ commit, state }, className) {\r\n return new Promise((resolve, reject) => {\r\n commit(\"addClass\", className);\r\n try {\r\n LocalStorage.set(\"tags\", state.classes);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n resolve();\r\n });\r\n },\r\n deleteClass({ commit, state }, classId) {\r\n commit(\"removeClass\", classId);\r\n LocalStorage.set(\"tags\", state.classes);\r\n },\r\n};\r\n\r\nwindow.addEventListener('beforeunload', async (event) => {\r\n event.returnValue = \"Please make sure you export annotations before closing the file.\";\r\n});\r\n\r\nexport default {\r\n state() {\r\n let tags = LocalStorage.getItem(\"tags\");\r\n return {\r\n annotations: [],\r\n classes: tags || [],\r\n inputSentences: [],\r\n originalText: \"\",\r\n separator: \"\\n\",\r\n enableKeyboardShortcuts: false,\r\n annotationPrecision: \"word\",\r\n // current state\r\n currentAnnotation: {},\r\n currentClass: tags && tags[0] || {},\r\n currentIndex: 0,\r\n currentSentence: \"\",\r\n };\r\n },\r\n getters,\r\n mutations,\r\n actions,\r\n};\r\n","import \"./styles/quasar.scss\";\r\nimport iconSet from \"quasar/icon-set/fontawesome-v5.js\";\r\nimport \"@quasar/extras/fontawesome-v5/fontawesome-v5.css\";\r\nimport \"@quasar/extras/ionicons-v4/ionicons-v4.css\";\r\nimport Notify from 'quasar/src/plugins/Notify.js';;\r\n\r\n// To be used on app.use(Quasar, { ... })\r\nexport default {\r\n config: {},\r\n plugins: {\r\n Notify,\r\n },\r\n iconSet: iconSet,\r\n};\r\n","import { createApp } from \"vue\";\r\nimport App from \"./App.vue\";\r\nimport \"es6-promise/auto\";\r\nimport { createStore } from \"vuex\";\r\nimport store from \"./store\";\r\n\r\nimport Quasar from 'quasar/src/vue-plugin.js';;\r\nimport quasarUserOptions from \"./quasar-user-options\";\r\n\r\nconst app = createApp(App)\r\n .use(Quasar, quasarUserOptions)\r\n .use(createStore(store));\r\n\r\napp.mount(\"#app\");\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","__webpack_require__.p = \"/ner-annotator/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkner_annotator\"] = self[\"webpackChunkner_annotator\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(3925); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_createElementBlock","class","style","onDragover","_cache","_withModifiers","args","$options","onDragEnter","onDragenter","onDragleave","onDragLeave","onDrop","_createElementVNode","_normalizeStyle","$data","overlayActive","_createVNode","_component_q_layout","view","currentPage","_createBlock","_component_menu_bar","key","_component_q_drawer","bordered","_normalizeClass","_ctx","$q","dark","isActive","_component_annotation_sidebar","_component_q_page_container","_component_start_page","onFileLoaded","$event","switchToPage","_component_annotation_page","_component_drag_n_drop_overlay","pendingFileDrop","_component_exit_dialog","show","onHide","onConfirm","processFileDrop","src","_imports_0","_component_q_header","_hoisted_1","_component_q_avatar","size","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_component_q_menu","_component_q_list","dense","_component_q_item","clickable","onClick","pendingClick","$refs","file","_component_q_item_section","ref","type","accept","onChange","openFile","_hoisted_6","_hoisted_7","_component_export_annotations","importAnnotations","_hoisted_8","_hoisted_9","exportTags","click","importTags","_component_q_space","_component_q_icon","color","name","toggleDarkMode","_hoisted_10","_hoisted_11","href","target","_component_q_separator","showAbout","_component_about_dialog","_component_q_dialog","promptForProject","persistent","_component_q_card","_component_q_card_section","_hoisted_12","_component_q_input","newProjectName","autofocus","onKeyup","_withKeys","_component_q_card_actions","align","_component_q_btn","flat","label","generateJSONExport","exportFile","async","content","filename","window","rpc","element","document","createElement","setAttribute","encodeURIComponent","display","body","appendChild","removeChild","save","defaultPath","documentDir","filters","extensions","then","path","match","invoke","filepath","contents","msg","alert","catch","e","computed","mapState","methods","output","classes","this","map","c","annotations","a","text","entities","jsonStr","JSON","stringify","__exports__","QItem","ClosePopup","$props","$emit","version","props","Boolean","default","emits","data","APPLICATION_VERSION","QDialog","components","ExportAnnotations","AboutDialog","ExitDialog","setup","useQuasar","notify","icon","message","level","position","timeout","actions","mapMutations","files","filereader","FileReader","onload","ev","loadClasses","parse","result","length","readAsText","setInputSentences","clearAllAnnotations","resetIndex","loadAnnotations","toggle","QHeader","outline","textFile","disable","onConfirmation","_component_q_file","filled","onRejected","fileSelectionError","prepend","_withCtx","annotationFile","_component_q_timeline","_component_q_timeline_entry","subtitle","title","_component_q_img","_imports_1","_imports_2","reader","addEventListener","event","QIcon","_component_classes_block","_Fragment","_renderList","tm","tokens","t","_resolveDynamicComponent","id","start","token","backgroundColor","onRemoveBlock","resetBlocks","disabled","currentIndex","backOneSentence","skipCurrentSentence","saveTags","$store","state","annotationPrecision","Object","required","round","Token","requried","String","showClose","QBtn","cl","index","_component_q_chip","square","replace","removable","showDeleteButtons","setCurrentClass","onRemove","handleRemoveClass","currentClass","showNewClassInput","newClassName","hint","append","saveNewClass","watch","now","toUpperCase","created","keypress","mapActions","enableKeyboardShortcuts","parseInt","class_id","className","sure","confirmAction","deleteClass","Promise","resolve","confirm","self","createNewClass","onInputKeyup","QChip","TokenManager","constructor","setTokensAndAnnotation","currentAnnotation","end","words","undefined","i","entityName","entityClass","find","addNewBlock","_start","_end","_class","selectedTokens","newTokens","selectionStart","selectionEnd","currentToken","push","tokensBeforeSelection","tokensAfterSelection","oldTokens","j","oldToken","classId","removeBlock","blockStart","exportAsAnnotation","b","TokenBlock","ClassesBlock","currentSentence","redone","tokenizer","TreebankTokenizer","inputSentences","tokenizeCurrentSentence","selectTokens","beforeUnmount","removeEventListener","keyCode","stopPropagation","spans","split","tokenize","span_tokenize","combined","selection","getSelection","anchorOffset","focusOffset","anchorNode","focusNode","rangeStart","getRangeAt","rangeEnd","rangeCount","startContainer","parentElement","offsetEnd","endContainer","endOffset","endContainerParent","parentNode","previousNode","previousSibling","empty","nextSentence","previousSentence","commit","_component_split_type_selector","_component_annotation_precision_selector","_component_progress_bar","completed","total","_component_keyboard_shortcuts","_toDisplayString","_component_q_linear_progress","rounded","value","Number","completedPercent","QLinearProgress","_component_q_select","splitType","outlined","options","splitOptions","customSeparator","separatorChanged","get","separator","set","option","QSelect","precisionType","precisionOptions","_component_q_toggle","enableKeyboardShortcutsChanged","showShortcutHelp","QToggle","ProgressBar","SplitTypeSelector","AnnotationPrecisionSelector","KeyboardShortcuts","script","MenuBar","StartPage","AnnotationPage","AnnotationSidebar","DragNDropOverlay","page","dataTransfer","Error","render","QLayout","niceColors","mutations","payload","Array","isArray","originalText","s","addClass","existing","lastIndex","reduce","p","newClass","removeClass","filter","addAnnotation","setSeparator","sentences","setAnnotationPrecision","setKeyboardShortcuts","isValid","acc","curr","LocalStorage","newAnnotations","annotation","getters","reject","returnValue","tags","config","plugins","Notify","iconSet","app","createApp","App","use","Quasar","quasarUserOptions","createStore","store","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","keys","every","splice","r","n","getter","__esModule","d","definition","o","defineProperty","enumerable","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","forEach","bind","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
diff --git a/docs/js/app.d5bdb45a.js b/docs/js/app.d5bdb45a.js
deleted file mode 100644
index d7c1306..0000000
--- a/docs/js/app.d5bdb45a.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(function(){"use strict";var e={3158:function(e,t,n){var o=n(5102),s=n(9269),a=n(3201);function l(e,t,n,l,r,i){const c=(0,s.up)("menu-bar"),u=(0,s.up)("annotation-sidebar"),d=(0,s.up)("q-drawer"),p=(0,s.up)("start-page"),m=(0,s.up)("annotation-page"),h=(0,s.up)("q-page-container"),g=(0,s.up)("q-layout"),f=(0,s.up)("drag-n-drop-overlay"),k=(0,s.up)("exit-dialog");return(0,s.wg)(),(0,s.iD)("div",{class:"fullscreen",style:{"overflow-y":"scroll"},onDragover:t[3]||(t[3]=(0,o.iM)(((...e)=>i.onDragEnter&&i.onDragEnter(...e)),["prevent"])),onDragenter:t[4]||(t[4]=(...e)=>i.onDragEnter&&i.onDragEnter(...e)),onDragleave:t[5]||(t[5]=(0,o.iM)(((...e)=>i.onDragLeave&&i.onDragLeave(...e)),["self"])),onDrop:t[6]||(t[6]=(0,o.iM)(((...e)=>i.onDrop&&i.onDrop(...e)),["stop","prevent"]))},[(0,s._)("div",{style:(0,a.j5)({"pointer-events":r.overlayActive?"none":"auto"})},[(0,s.Wm)(g,{view:"hHh lpR fFf"},{default:(0,s.w5)((()=>["start"!==r.currentPage?((0,s.wg)(),(0,s.j4)(c,{key:0})):(0,s.kq)("",!0),(0,s.Wm)(d,{"model-value":"start"!==r.currentPage,bordered:"",class:(0,a.C_)(e.$q.dark.isActive?"bg-dark":"bg-grey-2")},{default:(0,s.w5)((()=>[(0,s.Wm)(u)])),_:1},8,["model-value","class"]),(0,s.Wm)(h,null,{default:(0,s.w5)((()=>["start"===r.currentPage?((0,s.wg)(),(0,s.j4)(p,{key:0,onFileLoaded:t[0]||(t[0]=e=>i.switchToPage("annotate"))})):(0,s.kq)("",!0),"annotate"===r.currentPage?((0,s.wg)(),(0,s.j4)(m,{key:1})):(0,s.kq)("",!0)])),_:1})])),_:1}),(0,s.Wm)(f,{style:(0,a.j5)({visibility:r.overlayActive&&null==r.pendingFileDrop?"visible":"hidden"})},null,8,["style"]),(0,s.Wm)(k,{show:null!=r.pendingFileDrop&&"start"!=r.currentPage,onHide:t[1]||(t[1]=e=>r.pendingFileDrop=null),onConfirm:t[2]||(t[2]=e=>i.processFileDrop())},null,8,["show"])],4)],32)}var r="data:image/png;base64,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";const i={class:"q-pa-sm q-pl-md row items-center"},c=(0,s._)("img",{src:r},null,-1),u=(0,s._)("span",{class:"q-ml-sm"},[(0,s._)("strong",null," NER Annotator ")],-1),d={class:"q-ml-md cursor-pointer non-selectable"},p=(0,s._)("span",null," File ",-1),m={class:"q-ml-md cursor-pointer non-selectable"},h=(0,s._)("span",null," Annotations ",-1),g={class:"q-ml-md cursor-pointer non-selectable"},f=(0,s._)("span",null," Tags ",-1),k={class:"q-ml-md cursor-pointer non-selectable"},w=(0,s._)("span",null,"Help",-1),y=(0,s._)("div",{class:"text-h6"}," Project Name ",-1);function b(e,t,n,a,l,r){const b=(0,s.up)("q-avatar"),v=(0,s.up)("q-item-section"),C=(0,s.up)("q-item"),x=(0,s.up)("q-list"),A=(0,s.up)("q-menu"),S=(0,s.up)("export-annotations"),_=(0,s.up)("q-space"),q=(0,s.up)("q-icon"),W=(0,s.up)("q-separator"),Z=(0,s.up)("about-dialog"),D=(0,s.up)("q-header"),I=(0,s.up)("q-card-section"),U=(0,s.up)("q-input"),T=(0,s.up)("q-btn"),P=(0,s.up)("q-card-actions"),E=(0,s.up)("q-card"),j=(0,s.up)("q-dialog"),N=(0,s.up)("exit-dialog"),O=(0,s.Q2)("close-popup");return(0,s.wg)(),(0,s.iD)(s.HY,null,[(0,s.Wm)(D,{bordered:""},{default:(0,s.w5)((()=>[(0,s._)("div",i,[(0,s._)("div",null,[(0,s.Wm)(b,{size:"xs"},{default:(0,s.w5)((()=>[c])),_:1}),u]),(0,s._)("div",d,[p,(0,s.Wm)(A,{style:{"border-radius":"0.5rem"}},{default:(0,s.w5)((()=>[(0,s.Wm)(x,{dense:"",style:{"min-width":"100px"}},{default:(0,s.w5)((()=>[(0,s.wy)(((0,s.wg)(),(0,s.j4)(C,{clickable:"",onClick:t[1]||(t[1]=t=>e.pendingClick=e.$refs.file)},{default:(0,s.w5)((()=>[(0,s.Wm)(v,null,{default:(0,s.w5)((()=>[(0,s.Uk)("Open File")])),_:1}),(0,s._)("input",{ref:"file",type:"file",accept:".txt",style:{display:"none"},onChange:t[0]||(t[0]=(...e)=>r.openFile&&r.openFile(...e))},null,544)])),_:1})),[[O]])])),_:1})])),_:1})]),(0,s._)("div",m,[h,(0,s.Wm)(A,{style:{"border-radius":"0.5rem"}},{default:(0,s.w5)((()=>[(0,s.Wm)(x,{dense:"",style:{"min-width":"100px"}},{default:(0,s.w5)((()=>[(0,s.Wm)(S),(0,s.wy)(((0,s.wg)(),(0,s.j4)(C,{clickable:"",onClick:t[3]||(t[3]=t=>e.pendingClick=e.$refs.file)},{default:(0,s.w5)((()=>[(0,s.Wm)(v,null,{default:(0,s.w5)((()=>[(0,s.Uk)("Import")])),_:1}),(0,s._)("input",{ref:"file",type:"file",accept:".json",style:{display:"none"},onChange:t[2]||(t[2]=(...e)=>r.importAnnotations&&r.importAnnotations(...e))},null,544)])),_:1})),[[O]])])),_:1})])),_:1})]),(0,s._)("div",g,[f,(0,s.Wm)(A,{style:{"border-radius":"0.5rem"}},{default:(0,s.w5)((()=>[(0,s.Wm)(x,{dense:"",style:{"min-width":"100px"}},{default:(0,s.w5)((()=>[(0,s.wy)(((0,s.wg)(),(0,s.j4)(C,{clickable:"",onClick:t[4]||(t[4]=e=>r.exportTags())},{default:(0,s.w5)((()=>[(0,s.Wm)(v,null,{default:(0,s.w5)((()=>[(0,s.Uk)("Export")])),_:1})])),_:1})),[[O]]),(0,s.wy)(((0,s.wg)(),(0,s.j4)(C,{clickable:"",onClick:t[6]||(t[6]=t=>e.$refs.file.click())},{default:(0,s.w5)((()=>[(0,s.Wm)(v,null,{default:(0,s.w5)((()=>[(0,s.Uk)("Import")])),_:1}),(0,s._)("input",{ref:"file",type:"file",accept:".json",style:{display:"none"},onChange:t[5]||(t[5]=(...e)=>r.importTags&&r.importTags(...e))},null,544)])),_:1})),[[O]])])),_:1})])),_:1})]),(0,s.Wm)(_),(0,s.Wm)(q,{style:{"margin-top":"5px"},color:"white",name:e.$q.dark.isActive?"fas fa-sun":"fas fa-moon",class:"cursor-pointer",onClick:r.toggleDarkMode},null,8,["name","onClick"]),(0,s._)("div",k,[w,(0,s.Wm)(A,{style:{"border-radius":"0.5rem"}},{default:(0,s.w5)((()=>[(0,s.Wm)(x,{dense:"",style:{"min-width":"100px"}},{default:(0,s.w5)((()=>[(0,s.wy)(((0,s.wg)(),(0,s.j4)(C,{clickable:"",href:"https://github.com/tecoholic/ner-annotator/discussions",target:"_blank"},{default:(0,s.w5)((()=>[(0,s.Wm)(v,null,{default:(0,s.w5)((()=>[(0,s.Uk)(" Forum ")])),_:1})])),_:1})),[[O]]),(0,s.wy)(((0,s.wg)(),(0,s.j4)(C,{clickable:"",href:"https://github.com/tecoholic/ner-annotator/issues",target:"_blank"},{default:(0,s.w5)((()=>[(0,s.Uk)(" Report Issue ")])),_:1})),[[O]]),(0,s.Wm)(W),(0,s.wy)(((0,s.wg)(),(0,s.j4)(C,{clickable:"",onClick:t[7]||(t[7]=t=>e.showAbout=!0)},{default:(0,s.w5)((()=>[(0,s.Wm)(v,null,{default:(0,s.w5)((()=>[(0,s.Uk)("About")])),_:1})])),_:1})),[[O]])])),_:1})])),_:1}),(0,s.Wm)(Z,{show:e.showAbout,onHide:t[8]||(t[8]=t=>e.showAbout=!1)},null,8,["show"])])])])),_:1}),(0,s.Wm)(j,{modelValue:e.promptForProject,"onUpdate:modelValue":t[11]||(t[11]=t=>e.promptForProject=t),persistent:""},{default:(0,s.w5)((()=>[(0,s.Wm)(E,{style:{"min-width":"350px"}},{default:(0,s.w5)((()=>[(0,s.Wm)(I,null,{default:(0,s.w5)((()=>[y])),_:1}),(0,s.Wm)(I,{class:"q-pt-none"},{default:(0,s.w5)((()=>[(0,s.Wm)(U,{modelValue:e.newProjectName,"onUpdate:modelValue":t[9]||(t[9]=t=>e.newProjectName=t),dense:"",autofocus:"",onKeyup:t[10]||(t[10]=(0,o.D2)((t=>e.promptForProject=!1),["enter"]))},null,8,["modelValue"])])),_:1}),(0,s.Wm)(P,{align:"right",class:"text-primary"},{default:(0,s.w5)((()=>[(0,s.wy)((0,s.Wm)(T,{flat:"",label:"Cancel"},null,512),[[O]]),(0,s.wy)((0,s.Wm)(T,{flat:"",label:"Create Project"},null,512),[[O]])])),_:1})])),_:1})])),_:1},8,["modelValue"]),(0,s.Wm)(N,{show:null!=e.pendingClick,onHide:t[12]||(t[12]=t=>e.pendingClick=null),onConfirm:t[13]||(t[13]=t=>e.pendingClick.click())},null,8,["show"])],64)}function v(e,t,n,o,a,l){const r=(0,s.up)("q-item-section"),i=(0,s.up)("q-item"),c=(0,s.Q2)("close-popup");return(0,s.wy)(((0,s.wg)(),(0,s.j4)(i,{clickable:"",onClick:t[0]||(t[0]=e=>l.generateJSONExport())},{default:(0,s.w5)((()=>[(0,s.Wm)(r,null,{default:(0,s.w5)((()=>[(0,s.Uk)("Export")])),_:1})])),_:1})),[[c]])}var C=n(6957),x=n(5007),A=n(5997),S=n(5512);const _=async(e,t)=>{if("undefined"===typeof window.rpc){let n=document.createElement("a");n.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(e)),n.setAttribute("download",t),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}else(0,x.a1)({defaultPath:await(0,S.Kc)(),filters:[{extensions:["json"],name:"JSON Files (*.json)"},{name:"All files (*.*)",extensions:["*"]}]}).then((t=>{t&&(t.match(/.*\.json$/)||(t+=".json"),(0,A.dw)("save_file",{filepath:t,contents:e}).then((e=>alert(e))).catch((e=>alert(e))))})).catch((()=>{}))};var q={name:"ExportAnnotations",computed:{...(0,C.rn)(["annotations","classes"])},methods:{async generateJSONExport(){const e={classes:this.classes.map((e=>e.name)),annotations:this.annotations.map((e=>[e.text,{entities:e.entities}]))},t=JSON.stringify(e);await _(t,"annotations.json")}}},W=n(7617),Z=n(5246),D=n(2278),I=n(8819),U=n(1410),T=n.n(U);const P=(0,W.Z)(q,[["render",v]]);var E=P;T()(q,"components",{QItem:Z.Z,QItemSection:D.Z}),T()(q,"directives",{ClosePopup:I.Z});var j=n(5999);const N=(0,s._)("div",{class:"text-h6"}," NER Annotator ",-1),O=(0,s._)("strong",null,"Version: ",-1),B=(0,s._)("p",null,[(0,s._)("strong",null,"Source: "),(0,s._)("a",{href:"https://github.com/tecoholic/ner-annotator"}," Github Repository ")],-1),Q=(0,s._)("p",null,[(0,s._)("strong",null,"Author:"),(0,s.Uk)(" @tecoholic ("),(0,s._)("a",{href:"https://github.com/tecoholic"},"Github"),(0,s.Uk)(", "),(0,s._)("a",{href:"https://github.com/tecoholic"},"Twitter"),(0,s.Uk)(") ")],-1);function R(e,t,n,o,l,r){const i=(0,s.up)("q-card-section"),c=(0,s.up)("q-btn"),u=(0,s.up)("q-card-actions"),d=(0,s.up)("q-card"),p=(0,s.up)("q-dialog"),m=(0,s.Q2)("close-popup");return(0,s.wg)(),(0,s.j4)(p,{"model-value":n.show,onHide:t[0]||(t[0]=t=>e.$emit("hide"))},{default:(0,s.w5)((()=>[(0,s.Wm)(d,{style:{"min-width":"400px",padding:"10px","border-radius":"10px"}},{default:(0,s.w5)((()=>[(0,s.Wm)(i,null,{default:(0,s.w5)((()=>[N])),_:1}),(0,s.Wm)(i,{class:"q-pt-none"},{default:(0,s.w5)((()=>[(0,s._)("p",null,[O,(0,s.Uk)((0,a.zw)(e.version),1)]),B,Q])),_:1}),(0,s.Wm)(u,{align:"right"},{default:(0,s.w5)((()=>[(0,s.wy)((0,s.Wm)(c,{flat:"",label:"OK",color:"primary"},null,512),[[m]])])),_:1})])),_:1})])),_:1},8,["model-value"])}var F={name:"AboutDialog",props:{show:{type:Boolean,default:!1}},emits:["hide"],data:function(){return{version:"1.4.0"}}},L=n(9833),H=n(8055),K=n(9501),z=n(4333),V=n(4686);const M=(0,W.Z)(F,[["render",R]]);var Y=M;T()(F,"components",{QDialog:L.Z,QCard:H.Z,QCardSection:K.Z,QCardActions:z.Z,QBtn:V.Z}),T()(F,"directives",{ClosePopup:I.Z});const J=(0,s._)("div",{class:"text-h5"}," Are you sure you want to close this file? ",-1),G=(0,s._)("p",null,"All changes made to this file will be lost.",-1);function $(e,t,n,o,a,l){const r=(0,s.up)("q-card-section"),i=(0,s.up)("q-btn"),c=(0,s.up)("q-card-actions"),u=(0,s.up)("q-card"),d=(0,s.up)("q-dialog"),p=(0,s.Q2)("close-popup");return(0,s.wg)(),(0,s.j4)(d,{"model-value":n.show,onHide:t[2]||(t[2]=t=>e.$emit("hide"))},{default:(0,s.w5)((()=>[(0,s.Wm)(u,{style:{"max-width":"400px",padding:"10px","border-radius":"10px"}},{default:(0,s.w5)((()=>[(0,s.Wm)(r,null,{default:(0,s.w5)((()=>[J])),_:1}),(0,s.Wm)(r,{class:"text-body1"},{default:(0,s.w5)((()=>[G,(0,s.Uk)(" If you haven't exported the annotations, please do so before closing the file. ")])),_:1}),(0,s.Wm)(c,{align:"right"},{default:(0,s.w5)((()=>[(0,s.wy)((0,s.Wm)(i,{flat:"",label:"Cancel",color:"red",onClick:t[0]||(t[0]=t=>e.$emit("hide"))},null,512),[[p]]),(0,s.wy)((0,s.Wm)(i,{flat:"",label:"OK",color:"light-blue",onClick:t[1]||(t[1]=t=>e.$emit("confirm"))},null,512),[[p]])])),_:1})])),_:1})])),_:1},8,["model-value"])}var X={name:"ExitDialog",props:{show:{type:Boolean,default:!1}},emits:["hide","confirm"]};const ee=(0,W.Z)(X,[["render",$]]);var te=ee;T()(X,"components",{QDialog:L.Z,QCard:H.Z,QCardSection:K.Z,QCardActions:z.Z,QBtn:V.Z}),T()(X,"directives",{ClosePopup:I.Z});var ne={name:"MenuBar",components:{ExportAnnotations:E,AboutDialog:Y,ExitDialog:te},setup(){const e=(0,j.Z)();return{notify(t,n,o){e.notify({icon:t,message:n,color:o,position:"top",timeout:2e3,actions:[{label:"Dismiss",color:"white"}]})}}},data:function(){return{promptForProject:!1,newProjectName:"",showAbout:!1,pendingClick:null}},computed:{...(0,C.rn)(["annotations","classes"])},methods:{...(0,C.OI)(["loadClasses","loadAnnotations","setInputSentences","clearAllAnnotations","resetIndex"]),exportTags:async function(){await _(JSON.stringify(this.classes),"tags.json")},importTags:function(e){let t=e.target.files[0],n=new FileReader;n.onload=t=>{try{this.loadClasses(JSON.parse(t.target.result)),this.notify("fa fa-check",`${this.classes.length} Tags imported successfully`,"positive")}catch(e){this.notify("fas fa-exclamation-circle","Invalid file","red-6")}},n.readAsText(t)},openFile:function(e){let t=e.target.files[0],n=new FileReader;n.onload=e=>{this.setInputSentences(e.target.result),this.clearAllAnnotations()},n.readAsText(t),this.resetIndex()},importAnnotations:function(e){let t=e.target.files[0],n=new FileReader;n.onload=t=>{try{this.loadAnnotations(JSON.parse(t.target.result)),this.notify("fa fa-check","Annotations imported successfully","positive")}catch(e){this.notify("fas fa-exclamation-circle","Invalid file","red-6")}},n.readAsText(t)},toggleDarkMode:function(){this.$q.dark.toggle()}}},oe=n(7454),se=n(9393),ae=n(2952),le=n(2146),re=n(4492),ie=n(3139),ce=n(4633),ue=n(6053);const de=(0,W.Z)(ne,[["render",b]]);var pe=de;T()(ne,"components",{QHeader:oe.Z,QAvatar:se.Z,QMenu:ae.Z,QList:le.Z,QItem:Z.Z,QItemSection:D.Z,QSeparator:re.Z,QSpace:ie.Z,QIcon:ce.Z,QDialog:L.Z,QCard:H.Z,QCardSection:K.Z,QInput:ue.Z,QCardActions:z.Z,QBtn:V.Z}),T()(ne,"directives",{ClosePopup:I.Z});var me=n.p+"img/step-1.4f5d4ae3.png",he=n.p+"img/step-2.ada325d3.png",ge=n.p+"img/step-3.7e65646c.png";const fe={class:"q-mx-auto q-my-xl",style:{"max-width":"600px"}},ke=(0,s._)("h5",{class:"text-h4 q-mb-sm"}," NER Text Annotator ",-1),we={class:"q-my-xl q-py-md",style:{"margin-top":"7rem"}},ye={class:"q-mx-auto",style:{"max-width":"600px"}},be=(0,s._)("h4",{class:"text-h4"}," How to use the NER Annotator? ",-1),ve=(0,s._)("p",{class:"text-subtitle1 q-my-md"}," Tips to prepare the text file ",-1),Ce=(0,s._)("ul",null,[(0,s._)("li",null,"Break your content in paragraphs or passages"),(0,s._)("li",null,[(0,s.Uk)(" Maintain a consistent seperator between the passages. "),(0,s._)("br"),(0,s.Uk)(" Eg., newline, empty line or a text seperator like "),(0,s._)("code",null,"---")]),(0,s._)("li",null," For large datasets, break the text into smaller files and tag them seperately ")],-1),xe=(0,s._)("ul",{class:"q-my-md"},[(0,s._)("li",null,[(0,s.Uk)("Use the "),(0,s._)("strong",null,"New Tag"),(0,s.Uk)(" button to create new tags")]),(0,s._)("li",null,[(0,s.Uk)(" Use the "),(0,s._)("strong",null,"Edit Tag"),(0,s.Uk)(" button to remove unwanted tags ")]),(0,s._)("li",null,[(0,s.Uk)(" Click the "),(0,s._)("strong",null,"Save"),(0,s.Uk)(" button once you are done annotating an entry and to move to the next one ")]),(0,s._)("li",null,[(0,s.Uk)(" Adjust the "),(0,s._)("strong",null,"Text Seperator"),(0,s.Uk)(" break your content correctly into entries ")]),(0,s._)("li",null,[(0,s.Uk)(" Use the "),(0,s._)("strong",null,"Tags"),(0,s.Uk)(" menu to Export/Import tags to share with your team ")])],-1);function Ae(e,t,n,o,l,r){const i=(0,s.up)("q-icon"),c=(0,s.up)("q-file"),u=(0,s.up)("q-separator"),d=(0,s.up)("q-img"),p=(0,s.up)("q-timeline-entry"),m=(0,s.up)("q-timeline");return(0,s.wg)(),(0,s.iD)(s.HY,null,[(0,s.Wm)(i,{name:e.$q.dark.isActive?"fas fa-sun":"fas fa-moon",class:(0,a.C_)([e.$q.dark.isActive?"text-white":"text-black","cursor-pointer fixed-top-right q-mx-xl q-my-lg text-h5"]),onClick:r.toggleDarkMode},null,8,["name","class","onClick"]),(0,s._)("div",fe,[ke,(0,s._)("p",{class:(0,a.C_)(["text-subtitle1",e.$q.dark.isActive?"text-grey-4":"text-grey-7"])}," Annotate text for spaCy NER Model training ",2),(0,s._)("div",we,[(0,s.Wm)(c,{modelValue:l.textFile,"onUpdate:modelValue":[t[0]||(t[0]=e=>l.textFile=e),r.onFileSelected],accept:".txt",filled:"",label:"Open a text file to begin","bg-color":e.$q.dark.isActive?"black-1":"light-blue-1",onRejected:r.fileSelectionError},{prepend:(0,s.w5)((()=>[(0,s.Wm)(i,{name:"fas fa-upload"})])),_:1},8,["modelValue","bg-color","onRejected","onUpdate:modelValue"]),(0,s._)("p",{class:(0,a.C_)(["text-subtitle1 q-my-md",e.$q.dark.isActive?"text-grey-4":"text-grey-7"])}," Hint: You can also drag and drop files into this window! ",2)])]),(0,s.Wm)(u),(0,s._)("div",{class:(0,a.C_)([e.$q.dark.isActive?"bg-dark":"bg-grey-1","q-pa-lg"])},[(0,s._)("div",ye,[be,(0,s.Wm)(m,null,{default:(0,s.w5)((()=>[(0,s.Wm)(p,{subtitle:"Step 1",title:"Load your text file with contents to annotate",icon:"fa fa-upload",color:"yellow-8"},{default:(0,s.w5)((()=>[(0,s.Wm)(d,{src:me,"spinner-color":"white",class:"rounded-borders",style:{border:"1px solid #ccc",width:"80%"}}),ve,Ce])),_:1}),(0,s.Wm)(p,{subtitle:"Step 2",title:"Create some tags and start tagging your text",icon:"fa fa-tag",color:"orange-6"},{default:(0,s.w5)((()=>[(0,s.Wm)(d,{src:he,"spinner-color":"white",class:"rounded-borders",style:{border:"1px solid #ccc"}}),xe])),_:1}),(0,s.Wm)(p,{subtitle:"Step 3",title:"Download your annotations as a JSON file that can be used for training",icon:"fa fa-download",color:"red-6"},{default:(0,s.w5)((()=>[(0,s.Wm)(d,{src:ge,"spinner-color":"white",class:"rounded-borders",style:{border:"1px solid #ccc",width:"70%"}})])),_:1}),(0,s.Wm)(p,{subtitle:"Finally",title:"Convert to DocBin format and use it for training",icon:"fa fa-file",color:"red-10"},{default:(0,s.w5)((()=>[(0,s._)("p",null,[(0,s.Uk)(" See the spaCy documentation "),(0,s._)("a",{class:(0,a.C_)(e.$q.dark.isActive?"text-light-blue-4":"text-dark-blue"),href:"https://spacy.io/api/data-formats#json-input"}," here ",2),(0,s.Uk)(" on how to convert the annotations from JSON to DocBin format. ")])])),_:1})])),_:1})])],2)],64)}var Se={name:"StartPage",emits:["file-loaded"],data(){return{textFile:null}},methods:{...(0,C.OI)(["setInputSentences"]),onFileSelected(e){try{let t=new FileReader;t.addEventListener("load",(e=>{this.setInputSentences(e.target.result),this.$emit("file-loaded")})),t.readAsText(e)}catch(t){this.fileSelectionError()}},fileSelectionError(){this.$q.notify({icon:"fas fa-exclamation-circle",message:"Invalid file",color:"red-6",position:"top",timeout:2e3,actions:[{label:"Dismiss",color:"white"}]})},toggleDarkMode(){this.$q.dark.toggle()}}},_e=n(6967),qe=n(8173),We=n(3884),Ze=n(4711);const De=(0,W.Z)(Se,[["render",Ae]]);var Ie=De;T()(Se,"components",{QIcon:ce.Z,QFile:_e.Z,QSeparator:re.Z,QTimeline:qe.Z,QTimelineEntry:We.Z,QImg:Ze.Z});const Ue={class:"q-pa-lg",style:{height:"60vh","overflow-y":"scroll"}},Te={class:"q-pa-md",style:{"border-top":"1px solid #ccc"}};function Pe(e,t,n,o,a,l){const r=(0,s.up)("classes-block"),i=(0,s.up)("q-btn");return(0,s.wg)(),(0,s.iD)("div",null,[(0,s.Wm)(r),(0,s._)("div",Ue,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(e.tm.tokens,(e=>((0,s.wg)(),(0,s.j4)((0,s.LL)("token"===e.type?"Token":"TokenBlock"),{id:"t"+e.start,key:e.start,token:e,"background-color":e.backgroundColor,onRemoveBlock:l.onRemoveBlock},null,40,["id","token","background-color","onRemoveBlock"])))),128))]),(0,s._)("div",Te,[(0,s.Wm)(i,{color:"red",outline:"",class:"q-mx-sm",label:"Reset",onClick:l.resetBlocks},null,8,["onClick"]),(0,s.Wm)(i,{class:"q-mx-sm",color:e.$q.dark.isActive?"grey-3":"grey-9",outline:"",disabled:0==e.currentIndex,label:"Back",onClick:l.backOneSentence},null,8,["color","disabled","onClick"]),(0,s.Wm)(i,{class:"q-mx-sm",color:e.$q.dark.isActive?"grey-3":"grey-9",outline:"",label:"Skip",onClick:l.skipCurrentSentence},null,8,["color","onClick"]),(0,s.Wm)(i,{class:"q-mx-sm",color:"green-7",outline:"",label:"Save",onClick:l.saveTags},null,8,["onClick"])])])}n(121);const Ee=["id"];function je(e,t,n,o,l,r){return"token"===n.token.type?((0,s.wg)(),(0,s.iD)("span",{key:0,id:"t"+n.token.start,class:"token",style:(0,a.j5)({padding:"char"==e.$store.state.annotationPrecision?"0.25rem 0rem":"0.25rem"})},(0,a.zw)(" "==n.token.text?" ":n.token.text),13,Ee)):(0,s.kq)("",!0)}var Ne={name:"Token",props:{token:{type:Object,required:!0}}};const Oe=(0,W.Z)(Ne,[["render",je]]);var Be=Oe;const Qe={class:"tag"};function Re(e,t,n,o,l,r){const i=(0,s.up)("q-btn");return(0,s.wg)(),(0,s.iD)("mark",{class:(0,a.C_)("bg-"+n.backgroundColor)},[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(n.token.tokens,(e=>((0,s.wg)(),(0,s.j4)((0,s.LL)("Token"),{id:"t"+e.start,key:e.start,token:e},null,8,["id","token"])))),128)),(0,s._)("span",Qe,[(0,s.Uk)((0,a.zw)(n.token.label)+" ",1),(0,s.Wm)(i,{icon:"fa fa-times-circle",round:"",flat:"",size:"xs","text-color":"grey-7",onClick:t[0]||(t[0]=t=>e.$emit("remove-block",n.token.start))})])],2)}var Fe={name:"TokenBlock",components:{Token:Be},props:{token:{type:Object,requried:!0},backgroundColor:{type:String,required:!1}},emits:["remove-block"],data:function(){return{showClose:!1}}};const Le=(0,W.Z)(Fe,[["render",Re]]);var He=Le;T()(Fe,"components",{QBtn:V.Z});const Ke={class:"q-pa-md",style:{"border-bottom":"1px solid #ccc"}},ze={class:"row"},Ve={class:"tags"},Me={class:"q-mx-md"},Ye={class:"buttons"};function Je(e,t,n,o,l,r){const i=(0,s.up)("q-avatar"),c=(0,s.up)("q-chip"),u=(0,s.up)("q-space"),d=(0,s.up)("q-btn"),p=(0,s.up)("q-input");return(0,s.wg)(),(0,s.iD)("div",Ke,[(0,s._)("div",ze,[(0,s._)("div",Ve,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(e.classes,((t,n)=>((0,s.wg)(),(0,s.j4)(c,{key:t.id,outline:"",square:"",style:{height:"2rem"},color:t.color.replace("11","12"),clickable:"",removable:l.showDeleteButtons,onClick:t=>e.setCurrentClass(n),onRemove:e=>r.handleRemoveClass(t.id,t.name)},{default:(0,s.w5)((()=>[t.id===e.currentClass.id?((0,s.wg)(),(0,s.j4)(i,{key:0,color:t.color.replace("11","12"),style:{height:"2rem"},"text-color":"white",icon:"fa fa-check"},null,8,["color"])):(0,s.kq)("",!0),t.id!==e.currentClass.id?((0,s.wg)(),(0,s.j4)(i,{key:1,color:t.color.replace("11","12"),style:{height:"2rem"},"text-color":"white","font-size":"16px"},{default:(0,s.w5)((()=>[(0,s.Uk)((0,a.zw)(n+1),1)])),_:2},1032,["color"])):(0,s.kq)("",!0),(0,s._)("p",{class:(0,a.C_)(["q-mb-none",e.$q.dark.isActive?"text-grey-3":"text-grey-9"])},(0,a.zw)(t.name),3)])),_:2},1032,["color","removable","onClick","onRemove"])))),128))]),(0,s.Wm)(u),(0,s._)("div",Me,[l.showNewClassInput||0===e.classes.length?((0,s.wg)(),(0,s.j4)(p,{key:0,modelValue:l.newClassName,"onUpdate:modelValue":t[1]||(t[1]=e=>l.newClassName=e),"bottom-slots":"",hint:"Enter a NER Tag and click [+] to add it",dense:"",autofocus:""},{append:(0,s.w5)((()=>[(0,s.Wm)(d,{round:"",dense:"",flat:"",color:"green-4",icon:"fa fa-plus",onClick:r.saveNewClass},null,8,["onClick"]),(0,s.Wm)(d,{round:"",color:"red-4",dense:"",flat:"",icon:"fa fa-times",onClick:t[0]||(t[0]=e=>l.showNewClassInput=!1)})])),_:1},8,["modelValue"])):(0,s.kq)("",!0)]),(0,s._)("div",Ye,[(0,s.Wm)(d,{outline:"",label:"New Tag",class:"q-mr-sm",color:e.$q.dark.isActive?"grey-3":"grey-9",onClick:t[2]||(t[2]=e=>l.showNewClassInput=!0)},null,8,["color"]),(0,s.Wm)(d,{outline:"",label:l.showDeleteButtons?"Lock Tags":"Edit Tags",color:e.$q.dark.isActive?"grey-3":"grey-9",onClick:t[3]||(t[3]=e=>l.showDeleteButtons=!l.showDeleteButtons)},null,8,["label","color"])])])])}var Ge={name:"ClassesBlock",data(){return{showNewClassInput:!1,newClassName:"",showDeleteButtons:!1}},computed:{...(0,C.rn)(["classes","currentClass","enableKeyboardShortcuts"])},watch:{newClassName(e,t){e!=t&&(this.newClassName=e.toUpperCase())}},created(){document.addEventListener("keydown",this.keypress)},methods:{...(0,C.OI)(["setCurrentClass"]),...(0,C.nv)(["createNewClass","deleteClass"]),keypress(e){if(this.enableKeyboardShortcuts){var t=parseInt(e.key);t&&(t>this.classes.length||this.setCurrentClass(t-1))}},async handleRemoveClass(e,t){let n=await this.confirmAction(t);n&&this.deleteClass(e)},async confirmAction(e){return new Promise((t=>{const n=confirm("Are you sure you want to remove the tag `"+e+"`?\nNOTE: This will NOT affect previously tagged entities.");t(n)}))},saveNewClass(){if(!this.newClassName)return;const e=this;this.createNewClass(this.newClassName).then((()=>{e.showNewClassInput=!1,e.newClassName=""}))},onInputKeyup(e){"Enter"===e.key&&this.saveNewClass()}}},$e=n(1384);const Xe=(0,W.Z)(Ge,[["render",Je],["__scopeId","data-v-22a27cc0"]]);var et=Xe;T()(Ge,"components",{QChip:$e.Z,QAvatar:se.Z,QSpace:ie.Z,QInput:ue.Z,QBtn:V.Z});class tt{constructor(e){this.classes=e}setTokensAndAnnotation(e,t){if(this.tokens=e.map((e=>({type:"token",start:e[0],end:e[1],text:e[2]}))),this.words=e.map((e=>e[2])),void 0!=t)for(let l=0;le.name.toUpperCase()===s.toUpperCase()));a||(a={name:s}),this.addNewBlock(n,o,a)}}addNewBlock(e,t,n){let o=[],s=[],a=te?t:e;for(let r=0;ra&&e.starta&&n.start=l&&r.push(n)}t.length&&s.push({type:"token-block",start:t[0].start,end:t[t.length-1].end,tokens:t,label:e.label,classId:e.classId,backgroundColor:e.backgroundColor}),o.length&&r.length&&(s.push({type:"token-block",start:o[0].start,end:o[o.length-1].end,tokens:o,label:n&&n.name?n.name:"Unlabelled",classId:n&&n.id?n.id:0,backgroundColor:n&&n.color?n.color:null}),o=[]),r.length&&s.push({type:"token-block",start:r[0].start,end:r[r.length-1].end,tokens:r,label:e.label,classId:e.classId,backgroundColor:e.backgroundColor})}else"token"==e.type&&o.push(e);else e.start>=l&&o.length?(s.push({type:"token-block",start:o[0].start,end:o[o.length-1].end,tokens:o,label:n&&n.name?n.name:"Unlabelled",classId:n&&n.id?n.id:0,backgroundColor:n&&n.color?n.color:null}),o=[],s.push(e)):s.push(e)}o.length&&s.push({type:"token-block",start:o[0].start,end:o[o.length-1].end,tokens:o,label:n&&n.name?n.name:"Unlabelled",classId:n&&n.id?n.id:0,backgroundColor:n&&n.color?n.color:null}),this.tokens=s}removeBlock(e){let t=[];for(let n=0;n[t[n][0],t[n][1],e]));this.tm=new nt(this.classes),this.tm.setTokensAndAnnotation(n,this.currentAnnotation)},selectTokens(){let e=document.getSelection();if(e.anchorOffset===e.focusOffset&&e.anchorNode===e.focusNode)return;const t=e.getRangeAt(0),n=e.getRangeAt(e.rangeCount-1);let o,s;try{o=parseInt(t.startContainer.parentElement.id.replace("t",""));let e=parseInt(n.endContainer.parentElement.id.replace("t",""));if(s=e+n.endOffset,!s){const t=n.endContainer.parentNode,o=t.previousSibling;e=parseInt(o.parentElement.id.replace("t","")),s=e+n.endOffset}}catch{return}if(!this.classes.length&&e.anchorNode)return alert("There are no Tags available. Kindly add some Tags before tagging."),void e.empty();this.tm.addNewBlock(o,s,this.currentClass),e.empty()},onRemoveBlock(e){this.tm.removeBlock(e)},resetBlocks(){this.tm.resetBlocks()},skipCurrentSentence(){this.nextSentence(),this.tokenizeCurrentSentence()},backOneSentence(){this.previousSentence(),this.tokenizeCurrentSentence()},saveTags(){this.$store.commit("addAnnotation",{text:this.currentSentence.text,entities:this.tm.exportAsAnnotation()}),this.nextSentence(),this.tokenizeCurrentSentence()}}};const lt=(0,W.Z)(at,[["render",Pe]]);var rt=lt;T()(at,"components",{QBtn:V.Z});const it={class:"px-3"};function ct(e,t,n,o,a,l){const r=(0,s.up)("split-type-selector"),i=(0,s.up)("annotation-precision-selector"),c=(0,s.up)("progress-bar"),u=(0,s.up)("keyboard-shortcuts");return(0,s.wg)(),(0,s.iD)("nav",it,[(0,s.Wm)(r,{class:"mt-4 mb-5"}),(0,s.Wm)(i,{class:"mt-4 mb-5"}),(0,s.Wm)(c,{class:"mb-5",completed:e.currentIndex,total:e.inputSentences.length},null,8,["completed","total"]),(0,s.Wm)(u)])}const ut={class:"q-mx-md"},dt={class:"is-size-6 q-mb-sm"};function pt(e,t,n,o,l,r){const i=(0,s.up)("q-linear-progress");return(0,s.wg)(),(0,s.iD)("div",ut,[(0,s._)("p",dt," Tagging Progress ("+(0,a.zw)(n.completed)+"/"+(0,a.zw)(n.total)+") ",1),(0,s.Wm)(i,{rounded:"",size:"md",color:"primary",value:n.completed/n.total},null,8,["value"])])}var mt={name:"ProgressBar",props:{completed:{type:Number,required:!0,default:0},total:{type:Number,required:!0}},computed:{completedPercent(){return parseInt(this.completed/this.total*100)}}},ht=n(6353);const gt=(0,W.Z)(mt,[["render",pt]]);var ft=gt;T()(mt,"components",{QLinearProgress:ht.Z});const kt={class:"q-pa-md"},wt={key:0,class:"q-px-md"};function yt(e,t,n,o,a,l){const r=(0,s.up)("q-select"),i=(0,s.up)("q-input");return(0,s.wg)(),(0,s.iD)("section",null,[(0,s._)("div",kt,[(0,s.Wm)(r,{modelValue:l.splitType,"onUpdate:modelValue":t[0]||(t[0]=e=>l.splitType=e),outlined:"","bg-color":e.$q.dark.isActive?"dark":"white",options:a.splitOptions,"map-options":!0,label:"Text Seperator"},null,8,["modelValue","bg-color","options"])]),"custom"===l.splitType?((0,s.wg)(),(0,s.iD)("div",wt,[(0,s.Wm)(i,{modelValue:a.customSeparator,"onUpdate:modelValue":t[1]||(t[1]=e=>a.customSeparator=e),label:"Separator","bg-color":"white",outlined:"",disabled:e.annotations.length,onChange:l.separatorChanged},null,8,["modelValue","disabled","onChange"])])):(0,s.kq)("",!0)])}var bt={name:"SpitTypeSelector",data(){return{customSeparator:"---",splitOptions:[{label:"New Line",value:"newline"},{label:"An Empty Line",value:"emptyline"},{label:"Custom String",value:"custom"}]}},computed:{...(0,C.rn)(["annotations"]),splitType:{get(){switch(this.$store.state.separator){case"\n":return"newline";case"\n\n":return"emptyline";default:return"custom"}},set(e){switch(e.value){case"newline":this.$store.commit("setSeparator","\n");break;case"emptyline":this.$store.commit("setSeparator","\n\n");break;default:this.$store.commit("setSeparator","---");break}}}},methods:{separatorChanged(){this.$store.commit("setSeparator",this.customSeparator)}}},vt=n(33);const Ct=(0,W.Z)(bt,[["render",yt]]);var xt=Ct;T()(bt,"components",{QSelect:vt.Z,QInput:ue.Z});const At={class:"q-px-md q-pb-md"};function St(e,t,n,o,a,l){const r=(0,s.up)("q-select");return(0,s.wg)(),(0,s.iD)("section",null,[(0,s._)("div",At,[(0,s.Wm)(r,{modelValue:l.precisionType,"onUpdate:modelValue":t[0]||(t[0]=e=>l.precisionType=e),outlined:"","bg-color":e.$q.dark.isActive?"dark":"white",options:a.precisionOptions,"map-options":!0,label:"Annotation Precision"},null,8,["modelValue","bg-color","options"])])])}var _t={name:"AnnotationPrecisionSelector",data(){return{precisionOptions:[{label:"Word Level",value:"word"},{label:"Character Level",value:"char"}]}},computed:{precisionType:{get(){switch(this.$store.state.annotationPrecision){case"word":return"word";case"char":return"char";default:return"word"}},set(e){switch(e.value){case"word":this.$store.commit("setAnnotationPrecision","word");break;case"char":this.$store.commit("setAnnotationPrecision","char");break;default:this.$store.commit("setAnnotationPrecision","word");break}}}}};const qt=(0,W.Z)(_t,[["render",St]]);var Wt=qt;T()(_t,"components",{QSelect:vt.Z});const Zt=(0,s._)("br",null,null,-1),Dt=(0,s._)("div",{class:"column"},[(0,s._)("div",{class:"row",style:{height:"40px"}},[(0,s._)("div",{class:"col-4"}," Num Keys: "),(0,s._)("div",{class:"col"}," Change classes ")]),(0,s._)("div",{class:"row",style:{height:"60px"}},[(0,s._)("div",{class:"col-4"}," Space Bar: "),(0,s._)("div",{class:"col"}," Save and move to the next sentence ")]),(0,s._)("div",{class:"row",style:{height:"60px"}},[(0,s._)("div",{class:"col-4"}," Right Arrow: "),(0,s._)("div",{class:"col"}," Skip and move to the next sentence ")]),(0,s._)("div",{class:"row",style:{height:"60px"}},[(0,s._)("div",{class:"col-4"}," Left Arrow: "),(0,s._)("div",{class:"col"}," Go back to the previous sentence ")]),(0,s._)("div",{class:"row",style:{height:"60px"}},[(0,s._)("div",{class:"col-4"}," Escape: "),(0,s._)("div",{class:"col"}," Discard changes to the current sentence ")])],-1);function It(e,t,n,o,a,l){const r=(0,s.up)("q-toggle"),i=(0,s.up)("q-icon"),c=(0,s.up)("q-card-section"),u=(0,s.up)("q-card"),d=(0,s.up)("q-dialog");return(0,s.wg)(),(0,s.iD)(s.HY,null,[(0,s._)("section",null,[Zt,(0,s.Wm)(r,{modelValue:e.enableKeyboardShortcuts,"onUpdate:modelValue":t[0]||(t[0]=t=>e.enableKeyboardShortcuts=t),label:"Keyboard Shortcuts",onClick:l.enableKeyboardShortcutsChanged},null,8,["modelValue","onClick"]),(0,s.Wm)(i,{style:{"margin-left":"5px","margin-top":"3px"},color:e.$q.dark.isActive?"grey-4":"grey-10",name:"far fa-question-circle",onClick:t[1]||(t[1]=t=>e.showShortcutHelp=!0)},null,8,["color"])]),(0,s.Wm)(d,{"model-value":e.showShortcutHelp,onHide:t[2]||(t[2]=t=>e.showShortcutHelp=!1)},{default:(0,s.w5)((()=>[(0,s.Wm)(u,{style:{"min-width":"100px",padding:"10px","border-radius":"10px"}},{default:(0,s.w5)((()=>[(0,s.Wm)(c,{class:"text-body1"},{default:(0,s.w5)((()=>[Dt])),_:1})])),_:1})])),_:1},8,["model-value"])],64)}var Ut={name:"KeyboardShortcuts",data:function(){return{enableKeyboardShortcuts:!1,showShortcutHelp:!1}},methods:{enableKeyboardShortcutsChanged(){this.$store.commit("setKeyboardShortcuts",this.enableKeyboardShortcuts)}}},Tt=n(8299);const Pt=(0,W.Z)(Ut,[["render",It]]);var Et=Pt;T()(Ut,"components",{QToggle:Tt.Z,QIcon:ce.Z,QDialog:L.Z,QCard:H.Z,QCardSection:K.Z});var jt={name:"AnnotationSidebar",components:{ProgressBar:ft,SplitTypeSelector:xt,AnnotationPrecisionSelector:Wt,KeyboardShortcuts:Et},computed:{...(0,C.rn)(["currentIndex","inputSentences"])}};const Nt=(0,W.Z)(jt,[["render",ct]]);var Ot=Nt;const Bt={class:"fullscreen column justify-center bg-black",style:{opacity:"0.85"}},Qt={class:"column items-center"},Rt={class:"text-h2 text-white"},Ft=(0,s._)("p",{class:"text-h3 text-white"}," Drop file to upload. ",-1);function Lt(e,t){const n=(0,s.up)("q-icon");return(0,s.wg)(),(0,s.iD)("div",Bt,[(0,s._)("div",Qt,[(0,s._)("p",Rt,[(0,s.Wm)(n,{name:"fas fa-upload"})]),Ft])])}const Ht={},Kt=(0,W.Z)(Ht,[["render",Lt]]);var zt=Kt;T()(Ht,"components",{QIcon:ce.Z});var Vt={name:"LayoutDefault",components:{MenuBar:pe,StartPage:Ie,AnnotationPage:rt,AnnotationSidebar:Ot,DragNDropOverlay:zt,ExitDialog:te},setup(){const e=(0,j.Z)();return{notify(t,n,o){e.notify({icon:t,message:n,color:o,position:"top",timeout:2e3,actions:[{label:"Dismiss",color:"white"}]})}}},data(){return{currentPage:"start",overlayActive:!1,pendingFileDrop:null}},computed:{...(0,C.rn)(["annotations","classes"])},methods:{...(0,C.OI)(["loadClasses","loadAnnotations","setInputSentences","clearAllAnnotations","resetIndex"]),switchToPage(e){this.currentPage=e},onDragEnter(){this.overlayActive=!0},onDragLeave(){this.overlayActive=!1},onDrop(e){this.overlayActive=!1,this.pendingFileDrop=e.dataTransfer.files[0],"start"==this.currentPage&&this.processFileDrop()},processFileDrop(){let e=new FileReader;e.onload=e=>{let t=e.target.result;try{if("start"==this.currentPage)throw new Error("Not a text file.");this.loadAnnotations(JSON.parse(t)),this.notify("fa fa-check","Annotations imported successfully","positive")}catch(n){try{if("start"==this.currentPage)throw new Error("Not a text file.");this.loadClasses(JSON.parse(t)),this.notify("fa fa-check",`${this.classes.length} Tags imported successfully`,"positive")}catch(n){try{this.setInputSentences(t),this.clearAllAnnotations(),this.resetIndex(),this.switchToPage("annotate")}catch(n){this.notify("fas fa-exclamation-circle","Invalid file","red-6")}}}},e.readAsText(this.pendingFileDrop),this.pendingFileDrop=null}}},Mt=n(2446),Yt=n(2709),Jt=n(6974);const Gt=(0,W.Z)(Vt,[["render",l]]);var $t=Gt;T()(Vt,"components",{QLayout:Mt.Z,QDrawer:Yt.Z,QPageContainer:Jt.Z});n(2374);var Xt=n(853);const en=["red-11","blue-11","light-green-11","deep-orange-11","pink-11","light-blue-11","lime-11","brown-11","purple-11","cyan-11","yellow-11","grey-11","deep-purple-11","teal-11","amber-11","blue-grey-11","indigo-11","green-11","orange-11"],tn={setInputSentences(e,t){Array.isArray(t)||(e.originalText=t,t=t.split(e.separator)),e.inputSentences=t.map(((e,t)=>({id:t,text:e})))},addClass(e,t){let n=e.classes.find((e=>e.name==t));if(n)return;let o=e.classes.reduce(((e,t)=>t.id>e?t.id:e),0),s={id:o+1,name:t,color:en[o%en.length]};e.classes=[...e.classes,s],1===e.classes.length&&(e.currentClass=e.classes[0])},removeClass(e,t){e.classes=e.classes.filter((e=>e.id!=t)),e.currentClass.id===t&&(e.currentClass=e.classes[0])},setCurrentClass(e,t){e.currentClass=e.classes[t]},addAnnotation(e,t){e.annotations[e.currentIndex]=t,e.currentAnnotation=t},clearAllAnnotations(e){e.annotations=[],e.currentAnnotation={}},setSeparator(e,t){e.separator=t;const n=e.originalText.split(e.separator);e.inputSentences=n.map(((e,t)=>({id:t,text:e})))},setAnnotationPrecision(e,t){e.annotationPrecision=t},setKeyboardShortcuts(e,t){e.enableKeyboardShortcuts=t},nextSentence(e){e.currentIndex0?(e.currentIndex-=1,e.currentAnnotation=e.annotations[e.currentIndex]):alert("You are at the beginning of all sentences")},resetIndex(e){e.currentIndex=0},loadClasses(e,t){if(!Array.isArray(t))throw new Error("loadClasses: payload must be an array");let n=t.reduce(((e,t)=>e&&"object"===typeof t&&"id"in t&&"name"in t&&"color"in t),!0);if(!n)throw new Error("loadClasses: payload has invalid schema");e.classes=t,e.currentClass=e.classes[0],Xt.Z.set("tags",e.classes)},loadAnnotations(e,t){let n="object"===typeof t&&"annotations"in t&&"classes"in t;if(!n)throw new Error("loadAnnotations: payload has invalid schema");let o=t.annotations;if(!Array.isArray(o))throw new Error("loadAnnotations: payload must be an array");let s=[];for(var a=0;a{e("addClass",n);try{Xt.Z.set("tags",t.classes)}catch(a){s(a)}o()}))},deleteClass({commit:e,state:t},n){e("removeClass",n),Xt.Z.set("tags",t.classes)}};window.addEventListener("beforeunload",(async e=>{e.returnValue="Please make sure you export annotations before closing the file."}));var sn={state(){let e=Xt.Z.getItem("tags");return{annotations:[],classes:e||[],inputSentences:[],originalText:"",separator:"\n",enableKeyboardShortcuts:!1,annotationPrecision:"word",currentAnnotation:{},currentClass:e&&e[0]||{},currentIndex:0,currentSentence:""}},getters:nn,mutations:tn,actions:on},an=n(8029),ln=n(4525),rn=n.n(ln),cn=n(9797),un={config:{},plugins:{Notify:cn.Z},iconSet:rn()};const dn=(0,o.ri)($t).use(an.Z,un).use((0,C.MT)(sn));dn.mount("#app")}},t={};function n(o){var s=t[o];if(void 0!==s)return s.exports;var a=t[o]={exports:{}};return e[o].call(a.exports,a,a.exports,n),a.exports}n.m=e,function(){var e=[];n.O=function(t,o,s,a){if(!o){var l=1/0;for(u=0;u=a)&&Object.keys(n.O).every((function(e){return n.O[e](o[i])}))?o.splice(i--,1):(r=!1,a0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[o,s,a]}}(),function(){n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,{a:t}),t}}(),function(){n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){n.p="/ner-annotator/"}(),function(){var e={143:0};n.O.j=function(t){return 0===e[t]};var t=function(t,o){var s,a,l=o[0],r=o[1],i=o[2],c=0;if(l.some((function(t){return 0!==e[t]}))){for(s in r)n.o(r,s)&&(n.m[s]=r[s]);if(i)var u=i(n)}for(t&&t(o);c\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n","\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n NER Annotator\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n File\r\n \r\n \r\n \r\n \r\n Open File \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Annotations\r\n \r\n \r\n \r\n \r\n \r\n Import \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Tags\r\n \r\n \r\n \r\n \r\n Export \r\n \r\n \r\n Import \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
Help \r\n\r\n
\r\n \r\n \r\n \r\n Forum\r\n \r\n \r\n \r\n Report Issue\r\n \r\n \r\n \r\n About \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n Project Name\r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n","\r\n \r\n Export \r\n \r\n \r\n\r\n\r\n","import { save } from \"@tauri-apps/api/dialog\";\r\nimport { invoke } from \"@tauri-apps/api/tauri\";\r\nimport { documentDir } from \"@tauri-apps/api/path\";\r\n\r\nexport const exportFile = async (content, filename) => {\r\n if (typeof window.rpc === \"undefined\") {\r\n let element = document.createElement(\"a\");\r\n element.setAttribute(\r\n \"href\",\r\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(content)\r\n );\r\n element.setAttribute(\"download\", filename);\r\n element.style.display = \"none\";\r\n document.body.appendChild(element);\r\n element.click();\r\n document.body.removeChild(element);\r\n } else {\r\n save({\r\n defaultPath: await documentDir(),\r\n filters: [\r\n { extensions: [\"json\"], name: \"JSON Files (*.json)\" },\r\n { name: \"All files (*.*)\", extensions: [\"*\"] },\r\n ],\r\n })\r\n .then((path) => {\r\n if (!path) return;\r\n if (!path.match(/.*\\.json$/)) path += \".json\";\r\n\r\n invoke(\"save_file\", { filepath: path, contents: content })\r\n .then((msg) => alert(msg))\r\n .catch((e) => alert(e));\r\n })\r\n .catch(() => {});\r\n }\r\n};\r\n","import { render } from \"./ExportAnnotations.vue?vue&type=template&id=8c9f07e2\"\nimport script from \"./ExportAnnotations.vue?vue&type=script&lang=js\"\nexport * from \"./ExportAnnotations.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QItem from 'quasar/src/components/item/QItem.js';\nimport QItemSection from 'quasar/src/components/item/QItemSection.js';import ClosePopup from 'quasar/src/directives/ClosePopup.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QItem,QItemSection});qInstall(script, 'directives', {ClosePopup});\n","\r\n \r\n \r\n \r\n \r\n NER Annotator\r\n
\r\n \r\n\r\n \r\n Version: {{ version }}
\r\n \r\n Source: \r\n \r\n Github Repository\r\n \r\n
\r\n \r\n Author: \r\n @tecoholic (Github ,\r\n Twitter )\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import { render } from \"./AboutDialog.vue?vue&type=template&id=5a6e4541\"\nimport script from \"./AboutDialog.vue?vue&type=script&lang=js\"\nexport * from \"./AboutDialog.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QDialog from 'quasar/src/components/dialog/QDialog.js';\nimport QCard from 'quasar/src/components/card/QCard.js';\nimport QCardSection from 'quasar/src/components/card/QCardSection.js';\nimport QCardActions from 'quasar/src/components/card/QCardActions.js';\nimport QBtn from 'quasar/src/components/btn/QBtn.js';import ClosePopup from 'quasar/src/directives/ClosePopup.js';\nimport qInstall from \"../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QDialog,QCard,QCardSection,QCardActions,QBtn});qInstall(script, 'directives', {ClosePopup});\n","\r\n \r\n \r\n \r\n \r\n Are you sure you want to close this file?\r\n
\r\n \r\n\r\n \r\n All changes made to this file will be lost.
\r\n If you haven't exported the annotations, please do so before closing the file.\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n","import { render } from \"./ExitDialog.vue?vue&type=template&id=9c9b2726\"\nimport script from \"./ExitDialog.vue?vue&type=script&lang=js\"\nexport * from \"./ExitDialog.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QDialog from 'quasar/src/components/dialog/QDialog.js';\nimport QCard from 'quasar/src/components/card/QCard.js';\nimport QCardSection from 'quasar/src/components/card/QCardSection.js';\nimport QCardActions from 'quasar/src/components/card/QCardActions.js';\nimport QBtn from 'quasar/src/components/btn/QBtn.js';import ClosePopup from 'quasar/src/directives/ClosePopup.js';\nimport qInstall from \"../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QDialog,QCard,QCardSection,QCardActions,QBtn});qInstall(script, 'directives', {ClosePopup});\n","import { render } from \"./MenuBar.vue?vue&type=template&id=690b15e8\"\nimport script from \"./MenuBar.vue?vue&type=script&lang=js\"\nexport * from \"./MenuBar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QHeader from 'quasar/src/components/header/QHeader.js';\nimport QAvatar from 'quasar/src/components/avatar/QAvatar.js';\nimport QMenu from 'quasar/src/components/menu/QMenu.js';\nimport QList from 'quasar/src/components/item/QList.js';\nimport QItem from 'quasar/src/components/item/QItem.js';\nimport QItemSection from 'quasar/src/components/item/QItemSection.js';\nimport QSeparator from 'quasar/src/components/separator/QSeparator.js';\nimport QSpace from 'quasar/src/components/space/QSpace.js';\nimport QIcon from 'quasar/src/components/icon/QIcon.js';\nimport QDialog from 'quasar/src/components/dialog/QDialog.js';\nimport QCard from 'quasar/src/components/card/QCard.js';\nimport QCardSection from 'quasar/src/components/card/QCardSection.js';\nimport QInput from 'quasar/src/components/input/QInput.js';\nimport QCardActions from 'quasar/src/components/card/QCardActions.js';\nimport QBtn from 'quasar/src/components/btn/QBtn.js';import ClosePopup from 'quasar/src/directives/ClosePopup.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QHeader,QAvatar,QMenu,QList,QItem,QItemSection,QSeparator,QSpace,QIcon,QDialog,QCard,QCardSection,QInput,QCardActions,QBtn});qInstall(script, 'directives', {ClosePopup});\n","\r\n \r\n \r\n
\r\n NER Text Annotator\r\n \r\n
\r\n Annotate text for spaCy NER Model training\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Hint: You can also drag and drop files into this window!\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n How to use the NER Annotator?\r\n \r\n
\r\n \r\n \r\n \r\n Tips to prepare the text file\r\n
\r\n \r\n Break your content in paragraphs or passages \r\n \r\n Maintain a consistent seperator between the passages. \r\n Eg., newline, empty line or a text seperator like ---
\r\n \r\n \r\n For large datasets, break the text into smaller files and tag them\r\n seperately\r\n \r\n \r\n \r\n \r\n \r\n \r\n Use the New Tag button to create new tags \r\n \r\n Use the Edit Tag button to remove unwanted tags\r\n \r\n \r\n Click the Save button once you are done\r\n annotating an entry and to move to the next one\r\n \r\n \r\n Adjust the Text Seperator break your content\r\n correctly into entries\r\n \r\n \r\n Use the Tags menu to Export/Import tags to share\r\n with your team\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n See the spaCy documentation\r\n \r\n here\r\n \r\n on how to convert the annotations from JSON to DocBin format.\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n\r\n","import { render } from \"./StartPage.vue?vue&type=template&id=01d7c83a\"\nimport script from \"./StartPage.vue?vue&type=script&lang=js\"\nexport * from \"./StartPage.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QIcon from 'quasar/src/components/icon/QIcon.js';\nimport QFile from 'quasar/src/components/file/QFile.js';\nimport QSeparator from 'quasar/src/components/separator/QSeparator.js';\nimport QTimeline from 'quasar/src/components/timeline/QTimeline.js';\nimport QTimelineEntry from 'quasar/src/components/timeline/QTimelineEntry.js';\nimport QImg from 'quasar/src/components/img/QImg.js';\nimport qInstall from \"../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QIcon,QFile,QSeparator,QTimeline,QTimelineEntry,QImg});\n","\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n","\r\n \r\n {{ token.text == \" \" ? \" \" : token.text }}\r\n \r\n \r\n\r\n","import { render } from \"./Token.vue?vue&type=template&id=407b1120\"\nimport script from \"./Token.vue?vue&type=script&lang=js\"\nexport * from \"./Token.vue?vue&type=script&lang=js\"\n\nimport \"./Token.vue?vue&type=style&index=0&id=407b1120&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n \r\n \r\n \r\n {{ token.label }}\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import { render } from \"./TokenBlock.vue?vue&type=template&id=65205d90\"\nimport script from \"./TokenBlock.vue?vue&type=script&lang=js\"\nexport * from \"./TokenBlock.vue?vue&type=script&lang=js\"\n\nimport \"./TokenBlock.vue?vue&type=style&index=0&id=65205d90&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QBtn from 'quasar/src/components/btn/QBtn.js';\nimport qInstall from \"../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QBtn});\n","\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n\r\n","import { render } from \"./ClassesBlock.vue?vue&type=template&id=22a27cc0&scoped=true\"\nimport script from \"./ClassesBlock.vue?vue&type=script&lang=js\"\nexport * from \"./ClassesBlock.vue?vue&type=script&lang=js\"\n\nimport \"./ClassesBlock.vue?vue&type=style&index=0&id=22a27cc0&lang=css&scoped=true\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-22a27cc0\"]])\n\nexport default __exports__\nimport QChip from 'quasar/src/components/chip/QChip.js';\nimport QAvatar from 'quasar/src/components/avatar/QAvatar.js';\nimport QSpace from 'quasar/src/components/space/QSpace.js';\nimport QInput from 'quasar/src/components/input/QInput.js';\nimport QBtn from 'quasar/src/components/btn/QBtn.js';\nimport qInstall from \"../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QChip,QAvatar,QSpace,QInput,QBtn});\n","class TokenManager {\r\n /**\r\n *\r\n * @param {Array} tokens\r\n */\r\n constructor(classes) {\r\n this.classes = classes\r\n }\r\n\r\n setTokensAndAnnotation(tokens, currentAnnotation) {\r\n this.tokens = tokens.map((t) => ({\r\n type: \"token\",\r\n start: t[0],\r\n end: t[1],\r\n text: t[2],\r\n }));\r\n this.words = tokens.map(t => t[2]);\r\n\r\n if (currentAnnotation != undefined) {\r\n // reset prevoius annotation state\r\n for (let i = 0; i < currentAnnotation.entities.length; i++) {\r\n var start = currentAnnotation.entities[i][0];\r\n var end = currentAnnotation.entities[i][1];\r\n var entityName = currentAnnotation.entities[i][2];\r\n var entityClass = this.classes.find(c => c.name.toUpperCase() === entityName.toUpperCase())\r\n if (!entityClass) {\r\n entityClass = {\"name\": entityName};\r\n }\r\n this.addNewBlock(start, end, entityClass)\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Creates a new token block with the tokens whose starts match the input\r\n * parameters\r\n *\r\n * @param {Number} start 'start' value of the token forming the start of the token block\r\n * @param {Number} end 'start' value of the token forming the end of the token block\r\n * @param {Number} _class the id of the class to highlight\r\n */\r\n addNewBlock(_start, _end, _class) {\r\n let selectedTokens = [];\r\n let newTokens = [];\r\n\r\n let selectionStart = _end < _start ? _end : _start;\r\n let selectionEnd = _end > _start ? _end : _start;\r\n \r\n for (let i = 0; i < this.tokens.length; i++) {\r\n let currentToken = this.tokens[i];\r\n if (currentToken.end < selectionStart) {\r\n // token is before the selection\r\n newTokens.push(currentToken);\r\n } else if (currentToken.end > selectionStart && currentToken.start < selectionEnd) {\r\n // token is inside the selection\r\n if (currentToken.type == \"token-block\") {\r\n if (currentToken.label.toUpperCase() == _class.name.toUpperCase()) {\r\n // tokens are from the same class\r\n selectedTokens.push(...currentToken.tokens);\r\n } else {\r\n // tokens are from different class\r\n let tokensBeforeSelection = [];\r\n let tokensAfterSelection = [];\r\n let oldTokens = currentToken.tokens;\r\n for (let j = 0; j < oldTokens.length; j++) {\r\n let oldToken = oldTokens[j];\r\n if (oldToken.end <= selectionStart) {\r\n tokensBeforeSelection.push(oldToken);\r\n } else if (oldToken.end > selectionStart && oldToken.start < selectionEnd) {\r\n selectedTokens.push(oldToken);\r\n } else if (oldToken.start >= selectionEnd) {\r\n tokensAfterSelection.push(oldToken);\r\n }\r\n }\r\n\r\n if (tokensBeforeSelection.length) {\r\n newTokens.push({\r\n type: \"token-block\",\r\n start: tokensBeforeSelection[0].start,\r\n end: tokensBeforeSelection[tokensBeforeSelection.length - 1].end,\r\n tokens: tokensBeforeSelection,\r\n label: currentToken.label,\r\n classId: currentToken.classId,\r\n backgroundColor: currentToken.backgroundColor,\r\n })\r\n }\r\n\r\n if (selectedTokens.length && tokensAfterSelection.length) {\r\n // there are selected tokens and more tokens in block after selection\r\n newTokens.push({\r\n type: \"token-block\",\r\n start: selectedTokens[0].start,\r\n end: selectedTokens[selectedTokens.length - 1].end,\r\n tokens: selectedTokens,\r\n label: _class && _class.name ? _class.name : \"Unlabelled\",\r\n classId: _class && _class.id ? _class.id : 0,\r\n backgroundColor: _class && _class.color ? _class.color : null,\r\n });\r\n selectedTokens = [];\r\n }\r\n\r\n if (tokensAfterSelection.length) {\r\n newTokens.push({\r\n type: \"token-block\",\r\n start: tokensAfterSelection[0].start,\r\n end: tokensAfterSelection[tokensAfterSelection.length - 1].end,\r\n tokens: tokensAfterSelection,\r\n label: currentToken.label,\r\n classId: currentToken.classId,\r\n backgroundColor: currentToken.backgroundColor,\r\n })\r\n }\r\n }\r\n } else if (currentToken.type == \"token\") {\r\n selectedTokens.push(currentToken);\r\n }\r\n } else if (currentToken.start >= selectionEnd && selectedTokens.length) {\r\n // token is first after the selection\r\n newTokens.push({\r\n type: \"token-block\",\r\n start: selectedTokens[0].start,\r\n end: selectedTokens[selectedTokens.length - 1].end,\r\n tokens: selectedTokens,\r\n label: _class && _class.name ? _class.name : \"Unlabelled\",\r\n classId: _class && _class.id ? _class.id : 0,\r\n backgroundColor: _class && _class.color ? _class.color : null,\r\n });\r\n selectedTokens = [];\r\n newTokens.push(currentToken);\r\n } else {\r\n newTokens.push(currentToken);\r\n }\r\n }\r\n\r\n // Case if the selected tokens are at the end of the text and have not been added to the newTokens\r\n if (selectedTokens.length) {\r\n newTokens.push({\r\n type: \"token-block\",\r\n start: selectedTokens[0].start,\r\n end: selectedTokens[selectedTokens.length - 1].end,\r\n tokens: selectedTokens,\r\n label: _class && _class.name ? _class.name : \"Unlabelled\",\r\n classId: _class && _class.id ? _class.id : 0,\r\n backgroundColor: _class && _class.color ? _class.color : null,\r\n });\r\n }\r\n\r\n this.tokens = newTokens;\r\n }\r\n\r\n /**\r\n * Removes a token block and puts back all the tokens in their original position\r\n *\r\n * @param {Number} blockStart 'start' value of the token block to remove\r\n */\r\n removeBlock(blockStart) {\r\n let newTokens = [];\r\n for (let i = 0; i < this.tokens.length; i++) {\r\n if (\r\n this.tokens[i].type === \"token-block\" &&\r\n this.tokens[i].start === blockStart\r\n ) {\r\n newTokens.push(...this.tokens[i].tokens);\r\n } else {\r\n newTokens.push(this.tokens[i]);\r\n }\r\n }\r\n this.tokens = newTokens;\r\n }\r\n\r\n /**\r\n * Removes all the tag blocks and leaves only tokens\r\n */\r\n resetBlocks() {\r\n let newTokens = [];\r\n for (let i = 0; i < this.tokens.length; i++) {\r\n if (this.tokens[i].type === \"token\") {\r\n newTokens.push(this.tokens[i]);\r\n } else {\r\n newTokens.push(...this.tokens[i].tokens);\r\n }\r\n }\r\n this.tokens = newTokens;\r\n }\r\n\r\n /**\r\n * Exports the tokens and the token blocks as annotations\r\n */\r\n exportAsAnnotation() {\r\n let entities = [];\r\n for (let i = 0; i < this.tokens.length; i++) {\r\n if (this.tokens[i].type === \"token-block\") {\r\n let b = this.tokens[i];\r\n entities.push([b.start, b.end, b.label]);\r\n }\r\n }\r\n return entities;\r\n }\r\n}\r\n\r\nexport default TokenManager;\r\n","import { render } from \"./AnnotationPage.vue?vue&type=template&id=293f1065\"\nimport script from \"./AnnotationPage.vue?vue&type=script&lang=js\"\nexport * from \"./AnnotationPage.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QBtn from 'quasar/src/components/btn/QBtn.js';\nimport qInstall from \"../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QBtn});\n","\n \n \n \n \n \n \n \n\n\n\n\n","\r\n \r\n
\r\n Tagging Progress ({{ completed }}/{{ total }})\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n","import { render } from \"./ProgressBar.vue?vue&type=template&id=b67602a6\"\nimport script from \"./ProgressBar.vue?vue&type=script&lang=js\"\nexport * from \"./ProgressBar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QLinearProgress from 'quasar/src/components/linear-progress/QLinearProgress.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QLinearProgress});\n","\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n \r\n \r\n\r\n\r\n","import { render } from \"./SplitTypeSelector.vue?vue&type=template&id=28ecded1\"\nimport script from \"./SplitTypeSelector.vue?vue&type=script&lang=js\"\nexport * from \"./SplitTypeSelector.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QSelect from 'quasar/src/components/select/QSelect.js';\nimport QInput from 'quasar/src/components/input/QInput.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QSelect,QInput});\n","\r\n \r\n \r\n\r\n\r\n","import { render } from \"./AnnotationPrecisionSelector.vue?vue&type=template&id=77447dd9\"\nimport script from \"./AnnotationPrecisionSelector.vue?vue&type=script&lang=js\"\nexport * from \"./AnnotationPrecisionSelector.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QSelect from 'quasar/src/components/select/QSelect.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QSelect});\n","\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n Num Keys:\r\n
\r\n
\r\n Change classes\r\n
\r\n
\r\n
\r\n
\r\n Space Bar:\r\n
\r\n
\r\n Save and move to the next sentence\r\n
\r\n
\r\n
\r\n
\r\n Right Arrow:\r\n
\r\n
\r\n Skip and move to the next sentence\r\n
\r\n
\r\n
\r\n
\r\n Left Arrow:\r\n
\r\n
\r\n Go back to the previous sentence\r\n
\r\n
\r\n
\r\n
\r\n Escape:\r\n
\r\n
\r\n Discard changes to the current sentence\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n ","import { render } from \"./KeyboardShortcuts.vue?vue&type=template&id=913b4d0c\"\nimport script from \"./KeyboardShortcuts.vue?vue&type=script&lang=js\"\nexport * from \"./KeyboardShortcuts.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QToggle from 'quasar/src/components/toggle/QToggle.js';\nimport QIcon from 'quasar/src/components/icon/QIcon.js';\nimport QDialog from 'quasar/src/components/dialog/QDialog.js';\nimport QCard from 'quasar/src/components/card/QCard.js';\nimport QCardSection from 'quasar/src/components/card/QCardSection.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QToggle,QIcon,QDialog,QCard,QCardSection});\n","import { render } from \"./AnnotationSidebar.vue?vue&type=template&id=43bc568a\"\nimport script from \"./AnnotationSidebar.vue?vue&type=script&lang=js\"\nexport * from \"./AnnotationSidebar.vue?vue&type=script&lang=js\"\n\nimport \"./AnnotationSidebar.vue?vue&type=style&index=0&id=43bc568a&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n Drop file to upload.\r\n
\r\n
\r\n
\r\n ","import { render } from \"./DragNDropOverlay.vue?vue&type=template&id=14fe52b7\"\nconst script = {}\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QIcon from 'quasar/src/components/icon/QIcon.js';\nimport qInstall from \"../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QIcon});\n","import { render } from \"./App.vue?vue&type=template&id=1d34193e\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__\nimport QLayout from 'quasar/src/components/layout/QLayout.js';\nimport QDrawer from 'quasar/src/components/drawer/QDrawer.js';\nimport QPageContainer from 'quasar/src/components/page/QPageContainer.js';\nimport qInstall from \"../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QLayout,QDrawer,QPageContainer});\n","import LocalStorage from 'quasar/src/plugins/LocalStorage.js';;\r\n\r\nconst niceColors = [\r\n \"red-11\",\r\n \"blue-11\",\r\n \"light-green-11\",\r\n \"deep-orange-11\",\r\n \"pink-11\",\r\n \"light-blue-11\",\r\n \"lime-11\",\r\n \"brown-11\",\r\n \"purple-11\",\r\n \"cyan-11\",\r\n \"yellow-11\",\r\n \"grey-11\",\r\n \"deep-purple-11\",\r\n \"teal-11\",\r\n \"amber-11\",\r\n \"blue-grey-11\",\r\n \"indigo-11\",\r\n \"green-11\",\r\n \"orange-11\",\r\n];\r\n\r\nexport const mutations = {\r\n setInputSentences(state, payload) {\r\n if (!Array.isArray(payload)) {\r\n state.originalText = payload;\r\n payload = payload.split(state.separator);\r\n }\r\n state.inputSentences = payload.map((s, i) => ({ id: i, text: s }));\r\n },\r\n addClass(state, payload) {\r\n let existing = state.classes.find((c) => c.name == payload);\r\n if (existing) {\r\n return;\r\n }\r\n let lastIndex = state.classes.reduce((p, c) => {\r\n return c.id > p ? c.id : p;\r\n }, 0);\r\n let newClass = {\r\n id: lastIndex + 1,\r\n name: payload,\r\n color: niceColors[lastIndex % niceColors.length],\r\n }\r\n state.classes = [...state.classes, newClass];\r\n if (state.classes.length === 1) {\r\n state.currentClass = state.classes[0];\r\n }\r\n },\r\n removeClass(state, payload) {\r\n state.classes = state.classes.filter((c) => c.id != payload);\r\n if (state.currentClass.id === payload) {\r\n state.currentClass = state.classes[0];\r\n }\r\n },\r\n setCurrentClass(state, payload) {\r\n state.currentClass = state.classes[payload];\r\n },\r\n addAnnotation(state, payload) {\r\n state.annotations[state.currentIndex] = payload;\r\n state.currentAnnotation = payload;\r\n },\r\n clearAllAnnotations(state) {\r\n state.annotations = [];\r\n state.currentAnnotation = {};\r\n },\r\n setSeparator(state, payload) {\r\n state.separator = payload;\r\n const sentences = state.originalText.split(state.separator);\r\n state.inputSentences = sentences.map((s, i) => ({ id: i, text: s }));\r\n },\r\n setAnnotationPrecision(state, payload) {\r\n state.annotationPrecision = payload;\r\n },\r\n setKeyboardShortcuts(state, payload) {\r\n state.enableKeyboardShortcuts = payload;\r\n },\r\n nextSentence(state) {\r\n if (state.currentIndex < state.inputSentences.length - 1) {\r\n state.currentIndex += 1;\r\n state.currentAnnotation = state.annotations[state.currentIndex] || {};\r\n } else {\r\n alert(\"You have completed all the sentences\");\r\n }\r\n },\r\n previousSentence(state) {\r\n if (state.currentIndex > 0) {\r\n state.currentIndex -= 1;\r\n state.currentAnnotation = state.annotations[state.currentIndex];\r\n } else {\r\n alert(\"You are at the beginning of all sentences\");\r\n }\r\n },\r\n resetIndex(state) {\r\n state.currentIndex = 0;\r\n },\r\n loadClasses(state, payload) {\r\n if (!Array.isArray(payload)) {\r\n throw new Error(\"loadClasses: payload must be an array\");\r\n }\r\n let isValid = payload.reduce(\r\n (acc, curr) =>\r\n acc &&\r\n typeof curr === \"object\" &&\r\n \"id\" in curr &&\r\n \"name\" in curr &&\r\n \"color\" in curr,\r\n true\r\n );\r\n if (!isValid) {\r\n throw new Error(\"loadClasses: payload has invalid schema\");\r\n }\r\n state.classes = payload;\r\n state.currentClass = state.classes[0];\r\n LocalStorage.set(\"tags\", state.classes);\r\n },\r\n loadAnnotations(state, payload) {\r\n let isValid = typeof payload === \"object\" &&\r\n \"annotations\" in payload &&\r\n \"classes\" in payload;\r\n\r\n if (!isValid) {\r\n throw new Error(\"loadAnnotations: payload has invalid schema\");\r\n }\r\n\r\n let annotations = payload.annotations;\r\n if (!Array.isArray(annotations)) {\r\n throw new Error(\"loadAnnotations: payload must be an array\");\r\n }\r\n\r\n let newAnnotations = [];\r\n\r\n for (var i = 0; i < annotations.length; i++) {\r\n if (annotations[i] == null) continue;\r\n let annotation = {\r\n 'text': annotations[i][0],\r\n 'entities': annotations[i][1].entities,\r\n }\r\n newAnnotations[i] = annotation;\r\n }\r\n state.annotations = newAnnotations;\r\n state.currentAnnotation = state.annotations[state.currentIndex];\r\n },\r\n};\r\n\r\nexport const getters = {};\r\n\r\nconst actions = {\r\n createNewClass({ commit, state }, className) {\r\n return new Promise((resolve, reject) => {\r\n commit(\"addClass\", className);\r\n try {\r\n LocalStorage.set(\"tags\", state.classes);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n resolve();\r\n });\r\n },\r\n deleteClass({ commit, state }, classId) {\r\n commit(\"removeClass\", classId);\r\n LocalStorage.set(\"tags\", state.classes);\r\n },\r\n};\r\n\r\nwindow.addEventListener('beforeunload', async (event) => {\r\n event.returnValue = \"Please make sure you export annotations before closing the file.\";\r\n});\r\n\r\nexport default {\r\n state() {\r\n let tags = LocalStorage.getItem(\"tags\");\r\n return {\r\n annotations: [],\r\n classes: tags || [],\r\n inputSentences: [],\r\n originalText: \"\",\r\n separator: \"\\n\",\r\n enableKeyboardShortcuts: false,\r\n annotationPrecision: \"word\",\r\n // current state\r\n currentAnnotation: {},\r\n currentClass: tags && tags[0] || {},\r\n currentIndex: 0,\r\n currentSentence: \"\",\r\n };\r\n },\r\n getters,\r\n mutations,\r\n actions,\r\n};\r\n","import \"./styles/quasar.scss\";\nimport iconSet from \"quasar/icon-set/fontawesome-v5.js\";\nimport \"@quasar/extras/fontawesome-v5/fontawesome-v5.css\";\nimport \"@quasar/extras/ionicons-v4/ionicons-v4.css\";\nimport Notify from 'quasar/src/plugins/Notify.js';;\n\n// To be used on app.use(Quasar, { ... })\nexport default {\n config: {},\n plugins: {\n Notify,\n },\n iconSet: iconSet,\n};\n","import { createApp } from \"vue\";\r\nimport App from \"./App.vue\";\r\nimport \"es6-promise/auto\";\r\nimport { createStore } from \"vuex\";\r\nimport store from \"./store\";\r\n\r\nimport Quasar from 'quasar/src/vue-plugin.js';;\r\nimport quasarUserOptions from \"./quasar-user-options\";\r\n\r\nconst app = createApp(App)\r\n .use(Quasar, quasarUserOptions)\r\n .use(createStore(store));\r\n\r\napp.mount(\"#app\");\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","__webpack_require__.p = \"/ner-annotator/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkner_annotator\"] = self[\"webpackChunkner_annotator\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(3158); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_createElementBlock","class","style","onDragover","_cache","_withModifiers","args","$options","onDragEnter","onDragenter","onDragleave","onDragLeave","onDrop","_createElementVNode","_normalizeStyle","$data","overlayActive","_createVNode","_component_q_layout","view","currentPage","_createBlock","_component_menu_bar","key","_component_q_drawer","bordered","_normalizeClass","_ctx","$q","dark","isActive","_component_annotation_sidebar","_component_q_page_container","_component_start_page","onFileLoaded","$event","switchToPage","_component_annotation_page","_component_drag_n_drop_overlay","pendingFileDrop","_component_exit_dialog","show","onHide","onConfirm","processFileDrop","src","_imports_0","_component_q_header","_hoisted_1","_component_q_avatar","size","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_component_q_menu","_component_q_list","dense","_component_q_item","clickable","onClick","pendingClick","$refs","file","_component_q_item_section","ref","type","accept","onChange","openFile","_hoisted_6","_hoisted_7","_component_export_annotations","importAnnotations","_hoisted_8","_hoisted_9","exportTags","click","importTags","_component_q_space","_component_q_icon","color","name","toggleDarkMode","_hoisted_10","_hoisted_11","href","target","_component_q_separator","showAbout","_component_about_dialog","_component_q_dialog","promptForProject","persistent","_component_q_card","_component_q_card_section","_hoisted_12","_component_q_input","newProjectName","autofocus","onKeyup","_withKeys","_component_q_card_actions","align","_component_q_btn","flat","label","generateJSONExport","exportFile","async","content","filename","window","rpc","element","document","createElement","setAttribute","encodeURIComponent","display","body","appendChild","removeChild","save","defaultPath","documentDir","filters","extensions","then","path","match","invoke","filepath","contents","msg","alert","catch","e","computed","mapState","methods","output","classes","this","map","c","annotations","a","text","entities","jsonStr","JSON","stringify","__exports__","QItem","ClosePopup","$props","$emit","version","props","Boolean","default","emits","data","APPLICATION_VERSION","QDialog","components","ExportAnnotations","AboutDialog","ExitDialog","setup","useQuasar","notify","icon","message","level","position","timeout","actions","mapMutations","files","filereader","FileReader","onload","ev","loadClasses","parse","result","length","readAsText","setInputSentences","clearAllAnnotations","resetIndex","loadAnnotations","toggle","QHeader","_component_q_file","textFile","onFileSelected","filled","onRejected","fileSelectionError","prepend","_withCtx","_component_q_timeline","_component_q_timeline_entry","subtitle","title","_component_q_img","_imports_1","_imports_2","reader","addEventListener","event","QIcon","_component_classes_block","_Fragment","_renderList","tm","tokens","t","_resolveDynamicComponent","id","start","token","backgroundColor","onRemoveBlock","outline","resetBlocks","disabled","currentIndex","backOneSentence","skipCurrentSentence","saveTags","$store","state","annotationPrecision","Object","required","round","Token","requried","String","showClose","QBtn","cl","index","_component_q_chip","square","replace","removable","showDeleteButtons","setCurrentClass","onRemove","handleRemoveClass","currentClass","showNewClassInput","newClassName","hint","append","saveNewClass","watch","now","toUpperCase","created","keypress","mapActions","enableKeyboardShortcuts","parseInt","class_id","className","sure","confirmAction","deleteClass","Promise","resolve","confirm","self","createNewClass","onInputKeyup","QChip","TokenManager","constructor","setTokensAndAnnotation","currentAnnotation","end","words","undefined","i","entityName","entityClass","find","addNewBlock","_start","_end","_class","selectedTokens","newTokens","selectionStart","selectionEnd","currentToken","push","tokensBeforeSelection","tokensAfterSelection","oldTokens","j","oldToken","classId","removeBlock","blockStart","exportAsAnnotation","b","TokenBlock","ClassesBlock","currentSentence","redone","tokenizer","TreebankTokenizer","inputSentences","tokenizeCurrentSentence","selectTokens","beforeUnmount","removeEventListener","keyCode","stopPropagation","spans","split","tokenize","span_tokenize","combined","selection","getSelection","anchorOffset","focusOffset","anchorNode","focusNode","rangeStart","getRangeAt","rangeEnd","rangeCount","startContainer","parentElement","offsetEnd","endContainer","endOffset","endContainerParent","parentNode","previousNode","previousSibling","empty","nextSentence","previousSentence","commit","_component_split_type_selector","_component_annotation_precision_selector","_component_progress_bar","completed","total","_component_keyboard_shortcuts","_toDisplayString","_component_q_linear_progress","rounded","value","Number","completedPercent","QLinearProgress","_component_q_select","splitType","outlined","options","splitOptions","customSeparator","separatorChanged","get","separator","set","option","QSelect","precisionType","precisionOptions","_component_q_toggle","enableKeyboardShortcutsChanged","showShortcutHelp","QToggle","ProgressBar","SplitTypeSelector","AnnotationPrecisionSelector","KeyboardShortcuts","script","MenuBar","StartPage","AnnotationPage","AnnotationSidebar","DragNDropOverlay","page","dataTransfer","Error","render","QLayout","niceColors","mutations","payload","Array","isArray","originalText","s","addClass","existing","lastIndex","reduce","p","newClass","removeClass","filter","addAnnotation","setSeparator","sentences","setAnnotationPrecision","setKeyboardShortcuts","isValid","acc","curr","LocalStorage","newAnnotations","annotation","getters","reject","returnValue","tags","getItem","config","plugins","Notify","iconSet","app","createApp","App","use","Quasar","quasarUserOptions","createStore","store","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","keys","every","splice","r","n","getter","__esModule","d","definition","o","defineProperty","enumerable","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","forEach","bind","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
diff --git a/docs/js/chunk-vendors.7baf52de.js b/docs/js/chunk-vendors.7baf52de.js
deleted file mode 100644
index f8ca9a5..0000000
--- a/docs/js/chunk-vendors.7baf52de.js
+++ /dev/null
@@ -1,21 +0,0 @@
-(self["webpackChunkner_annotator"]=self["webpackChunkner_annotator"]||[]).push([[998],{4525:function(e){e.exports={name:"fontawesome-v5",type:{positive:"fas fa-check",negative:"fas fa-exclamation-triangle",info:"fas fa-info-circle",warning:"fas fa-exclamation"},arrow:{up:"fas fa-arrow-up",right:"fas fa-arrow-right",down:"fas fa-arrow-down",left:"fas fa-arrow-left",dropdown:"fas fa-caret-down"},chevron:{left:"fas fa-chevron-left",right:"fas fa-chevron-right"},colorPicker:{spectrum:"fas fa-eye-dropper",tune:"fas fa-sliders-h",palette:"fas fa-swatchbook"},pullToRefresh:{icon:"fas fa-sync-alt"},carousel:{left:"fas fa-chevron-left",right:"fas fa-chevron-right",up:"fas fa-chevron-up",down:"fas fa-chevron-down",navigationIcon:"fas fa-circle"},chip:{remove:"fas fa-times-circle",selected:"fas fa-check"},datetime:{arrowLeft:"fas fa-chevron-left",arrowRight:"fas fa-chevron-right",now:"far fa-clock",today:"far fa-calendar-check"},editor:{bold:"fas fa-bold",italic:"fas fa-italic",strikethrough:"fas fa-strikethrough",underline:"fas fa-underline",unorderedList:"fas fa-list-ul",orderedList:"fas fa-list-ol",subscript:"fas fa-subscript",superscript:"fas fa-superscript",hyperlink:"fas fa-link",toggleFullscreen:"fas fa-expand-arrows-alt",quote:"fas fa-quote-right",left:"fas fa-align-left",center:"fas fa-align-center",right:"fas fa-align-right",justify:"fas fa-align-justify",print:"fas fa-print",outdent:"fas fa-outdent",indent:"fas fa-indent",removeFormat:"fas fa-eraser",formatting:"fas fa-heading",fontSize:"fas fa-text-height",align:"fas fa-align-left",hr:"far fa-minus-square",undo:"fas fa-undo",redo:"fas fa-redo",heading:"fas fa-heading",code:"fas fa-code",size:"fas fa-text-height",font:"fas fa-font",viewSource:"fas fa-code"},expansionItem:{icon:"fas fa-chevron-down",denseIcon:"fas fa-caret-down"},fab:{icon:"fas fa-plus",activeIcon:"fas fa-times"},field:{clear:"fas fa-times-circle",error:"fas fa-exclamation-circle"},pagination:{first:"fas fa-step-backward",prev:"fas fa-chevron-left",next:"fas fa-chevron-right",last:"fas fa-step-forward"},rating:{icon:"fas fa-star"},stepper:{done:"fas fa-check",active:"fas fa-pencil-alt",error:"fas fa-exclamation-triangle"},tabs:{left:"fas fa-chevron-left",right:"fas fa-chevron-right",up:"fas fa-chevron-up",down:"fas fa-chevron-down"},table:{arrowUp:"fas fa-arrow-up",warning:"fas fa-exclamation-triangle",firstPage:"fas fa-step-backward",prevPage:"fas fa-chevron-left",nextPage:"fas fa-chevron-right",lastPage:"fas fa-step-forward"},tree:{icon:"fas fa-play"},uploader:{done:"fas fa-check",clear:"fas fa-times",add:"fas fa-plus-square",upload:"fas fa-upload",removeQueue:"fas fa-stream",removeUploaded:"fas fa-clipboard-check"}}},9393:function(e,t,n){"use strict";var o=n(9269),i=n(4633),r=n(505),l=n(3856),a=n(64);t.Z=(0,l.L)({name:"QAvatar",props:{...r.LU,fontSize:String,color:String,textColor:String,icon:String,square:Boolean,rounded:Boolean},setup(e,{slots:t}){const n=(0,r.ZP)(e),l=(0,o.Fl)((()=>"q-avatar"+(e.color?` bg-${e.color}`:"")+(e.textColor?` text-${e.textColor} q-chip--colored`:"")+(!0===e.square?" q-avatar--square":!0===e.rounded?" rounded-borders":""))),s=(0,o.Fl)((()=>e.fontSize?{fontSize:e.fontSize}:null));return()=>{const r=void 0!==e.icon?[(0,o.h)(i.Z,{name:e.icon})]:void 0;return(0,o.h)("div",{class:l.value,style:n.value},[(0,o.h)("div",{class:"q-avatar__content row flex-center overflow-hidden",style:s.value},(0,a.pf)(t.default,r))])}}})},4686:function(e,t,n){"use strict";n.d(t,{Z:function(){return O}});n(121);var o=n(9269),i=n(6237),r=n(5102),l=n(4633),a=n(2605),s=n(8108),u=n(3994),c=n(505),d=n(2453);const f={none:0,xs:4,sm:8,md:16,lg:24,xl:32},p={xs:8,sm:10,md:14,lg:20,xl:24},v=["button","submit","reset"],h=/[^\s]\/[^\s]/,m=["flat","outline","push","unelevated"],g=(e,t)=>!0===e.flat?"flat":!0===e.outline?"outline":!0===e.push?"push":!0===e.unelevated?"unelevated":t,y={...c.LU,...d.$,type:{type:String,default:"button"},label:[Number,String],icon:String,iconRight:String,...m.reduce(((e,t)=>(e[t]=Boolean)&&e),{}),square:Boolean,round:Boolean,rounded:Boolean,glossy:Boolean,size:String,fab:Boolean,fabMini:Boolean,padding:String,color:String,textColor:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,tabindex:[Number,String],ripple:{type:[Boolean,Object],default:!0},align:{...u.jO.align,default:"center"},stack:Boolean,stretch:Boolean,loading:{type:Boolean,default:null},disable:Boolean};function b(e){const t=(0,c.ZP)(e,p),n=(0,u.ZP)(e),{hasRouterLink:i,hasLink:r,linkTag:l,linkAttrs:a,navigateOnClick:s}=(0,d.Z)({fallbackTag:"button"}),m=(0,o.Fl)((()=>{const n=!1===e.fab&&!1===e.fabMini?t.value:{};return void 0!==e.padding?Object.assign({},n,{padding:e.padding.split(/\s+/).map((e=>e in f?f[e]+"px":e)).join(" "),minWidth:"0",minHeight:"0"}):n})),y=(0,o.Fl)((()=>!0===e.rounded||!0===e.fab||!0===e.fabMini)),b=(0,o.Fl)((()=>!0!==e.disable&&!0!==e.loading)),_=(0,o.Fl)((()=>!0===b.value?e.tabindex||0:-1)),w=(0,o.Fl)((()=>g(e,"standard"))),x=(0,o.Fl)((()=>{const t={tabindex:_.value};return!0===r.value?Object.assign(t,a.value):!0===v.includes(e.type)&&(t.type=e.type),"a"===l.value?(!0===e.disable?t["aria-disabled"]="true":void 0===t.href&&(t.role="button"),!0!==i.value&&!0===h.test(e.type)&&(t.type=e.type)):!0===e.disable&&(t.disabled="",t["aria-disabled"]="true"),!0===e.loading&&void 0!==e.percentage&&Object.assign(t,{role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e.percentage}),t})),S=(0,o.Fl)((()=>{let t;void 0!==e.color?t=!0===e.flat||!0===e.outline?`text-${e.textColor||e.color}`:`bg-${e.color} text-${e.textColor||"white"}`:e.textColor&&(t=`text-${e.textColor}`);const n=!0===e.round?"round":"rectangle"+(!0===y.value?" q-btn--rounded":!0===e.square?" q-btn--square":"");return`q-btn--${w.value} q-btn--${n}`+(void 0!==t?" "+t:"")+(!0===b.value?" q-btn--actionable q-focusable q-hoverable":!0===e.disable?" disabled":"")+(!0===e.fab?" q-btn--fab":!0===e.fabMini?" q-btn--fab-mini":"")+(!0===e.noCaps?" q-btn--no-uppercase":"")+(!0===e.dense?" q-btn--dense":"")+(!0===e.stretch?" no-border-radius self-stretch":"")+(!0===e.glossy?" glossy":"")+(e.square?" q-btn--square":"")})),k=(0,o.Fl)((()=>n.value+(!0===e.stack?" column":" row")+(!0===e.noWrap?" no-wrap text-no-wrap":"")+(!0===e.loading?" q-btn__content--hidden":"")));return{classes:S,style:m,innerClasses:k,attributes:x,hasLink:r,linkTag:l,navigateOnClick:s,isActionable:b}}var _=n(3856),w=n(64),x=n(3027),S=n(6809);const{passiveCapture:k}=x.listenOpts;let C=null,q=null,F=null;var O=(0,_.L)({name:"QBtn",props:{...y,percentage:Number,darkPercentage:Boolean,onTouchstart:[Function,Array]},emits:["click","keydown","mousedown","keyup"],setup(e,{slots:t,emit:n}){const{proxy:u}=(0,o.FN)(),{classes:c,style:d,innerClasses:f,attributes:p,hasLink:v,linkTag:h,navigateOnClick:m,isActionable:g}=b(e),y=(0,i.iH)(null),_=(0,i.iH)(null);let O,E=null,T=null;const A=(0,o.Fl)((()=>void 0!==e.label&&null!==e.label&&""!==e.label)),$=(0,o.Fl)((()=>!0!==e.disable&&!1!==e.ripple&&{keyCodes:!0===v.value?[13,32]:[13],...!0===e.ripple?{}:e.ripple})),L=(0,o.Fl)((()=>({center:e.round}))),P=(0,o.Fl)((()=>{const t=Math.max(0,Math.min(100,e.percentage));return t>0?{transition:"transform 0.6s",transform:`translateX(${t-100}%)`}:{}})),R=(0,o.Fl)((()=>{if(!0===e.loading)return{onMousedown:z,onTouchstart:z,onClick:z,onKeydown:z,onKeyup:z};if(!0===g.value){const t={onClick:j,onKeydown:V,onMousedown:N};if(!0===u.$q.platform.has.touch){const n=void 0!==e.onTouchstart?"":"Passive";t[`onTouchstart${n}`]=B}return t}return{onClick:x.NS}})),M=(0,o.Fl)((()=>({ref:y,class:"q-btn q-btn-item non-selectable no-outline "+c.value,style:d.value,...p.value,...R.value})));function j(t){if(null!==y.value){if(void 0!==t){if(!0===t.defaultPrevented)return;const n=document.activeElement;if("submit"===e.type&&n!==document.body&&!1===y.value.contains(n)&&!1===n.contains(y.value)){y.value.focus();const e=()=>{document.removeEventListener("keydown",x.NS,!0),document.removeEventListener("keyup",e,k),null!==y.value&&y.value.removeEventListener("blur",e,k)};document.addEventListener("keydown",x.NS,!0),document.addEventListener("keyup",e,k),y.value.addEventListener("blur",e,k)}}m(t)}}function V(e){null!==y.value&&(n("keydown",e),!0===(0,S.So)(e,[13,32])&&q!==y.value&&(null!==q&&H(),!0!==e.defaultPrevented&&(y.value.focus(),q=y.value,y.value.classList.add("q-btn--active"),document.addEventListener("keyup",I,!0),y.value.addEventListener("blur",I,k)),(0,x.NS)(e)))}function B(e){null!==y.value&&(n("touchstart",e),!0!==e.defaultPrevented&&(C!==y.value&&(null!==C&&H(),C=y.value,E=e.target,E.addEventListener("touchcancel",I,k),E.addEventListener("touchend",I,k)),O=!0,null!==T&&clearTimeout(T),T=setTimeout((()=>{T=null,O=!1}),200)))}function N(e){null!==y.value&&(e.qSkipRipple=!0===O,n("mousedown",e),!0!==e.defaultPrevented&&F!==y.value&&(null!==F&&H(),F=y.value,y.value.classList.add("q-btn--active"),document.addEventListener("mouseup",I,k)))}function I(e){if(null!==y.value&&(void 0===e||"blur"!==e.type||document.activeElement!==y.value)){if(void 0!==e&&"keyup"===e.type){if(q===y.value&&!0===(0,S.So)(e,[13,32])){const t=new MouseEvent("click",e);t.qKeyEvent=!0,!0===e.defaultPrevented&&(0,x.X$)(t),!0===e.cancelBubble&&(0,x.sT)(t),y.value.dispatchEvent(t),(0,x.NS)(e),e.qKeyEvent=!0}n("keyup",e)}H()}}function H(e){const t=_.value;!0===e||C!==y.value&&F!==y.value||null===t||t===document.activeElement||(t.setAttribute("tabindex",-1),t.focus()),C===y.value&&(null!==E&&(E.removeEventListener("touchcancel",I,k),E.removeEventListener("touchend",I,k)),C=E=null),F===y.value&&(document.removeEventListener("mouseup",I,k),F=null),q===y.value&&(document.removeEventListener("keyup",I,!0),null!==y.value&&y.value.removeEventListener("blur",I,k),q=null),null!==y.value&&y.value.classList.remove("q-btn--active")}function z(e){(0,x.NS)(e),e.qSkipRipple=!0}return(0,o.Jd)((()=>{H(!0)})),Object.assign(u,{click:j}),()=>{let n=[];void 0!==e.icon&&n.push((0,o.h)(l.Z,{name:e.icon,left:!0!==e.stack&&!0===A.value,role:"img","aria-hidden":"true"})),!0===A.value&&n.push((0,o.h)("span",{class:"block"},[e.label])),n=(0,w.vs)(t.default,n),void 0!==e.iconRight&&!1===e.round&&n.push((0,o.h)(l.Z,{name:e.iconRight,right:!0!==e.stack&&!0===A.value,role:"img","aria-hidden":"true"}));const i=[(0,o.h)("span",{class:"q-focus-helper",ref:_})];return!0===e.loading&&void 0!==e.percentage&&i.push((0,o.h)("span",{class:"q-btn__progress absolute-full overflow-hidden"+(!0===e.darkPercentage?" q-btn__progress--dark":"")},[(0,o.h)("span",{class:"q-btn__progress-indicator fit block",style:P.value})])),i.push((0,o.h)("span",{class:"q-btn__content text-center col items-center q-anchor--skip "+f.value},n)),null!==e.loading&&i.push((0,o.h)(r.uT,{name:"q-transition--fade"},(()=>!0===e.loading?[(0,o.h)("span",{key:"loading",class:"absolute-full flex flex-center"},void 0!==t.loading?t.loading():[(0,o.h)(a.Z)])]:null))),(0,o.wy)((0,o.h)(h.value,M.value,i),[[s.Z,$.value,void 0,L.value]])}}})},8055:function(e,t,n){"use strict";var o=n(9269),i=n(6597),r=n(3856),l=n(64);t.Z=(0,r.L)({name:"QCard",props:{...i.S,tag:{type:String,default:"div"},square:Boolean,flat:Boolean,bordered:Boolean},setup(e,{slots:t}){const{proxy:{$q:n}}=(0,o.FN)(),r=(0,i.Z)(e,n),a=(0,o.Fl)((()=>"q-card"+(!0===r.value?" q-card--dark q-dark":"")+(!0===e.bordered?" q-card--bordered":"")+(!0===e.square?" q-card--square no-border-radius":"")+(!0===e.flat?" q-card--flat no-shadow":"")));return()=>(0,o.h)(e.tag,{class:a.value},(0,l.KR)(t.default))}})},4333:function(e,t,n){"use strict";var o=n(9269),i=n(3994),r=n(3856),l=n(64);t.Z=(0,r.L)({name:"QCardActions",props:{...i.jO,vertical:Boolean},setup(e,{slots:t}){const n=(0,i.ZP)(e),r=(0,o.Fl)((()=>`q-card__actions ${n.value} q-card__actions--`+(!0===e.vertical?"vert column":"horiz row")));return()=>(0,o.h)("div",{class:r.value},(0,l.KR)(t.default))}})},9501:function(e,t,n){"use strict";var o=n(9269),i=n(3856),r=n(64);t.Z=(0,i.L)({name:"QCardSection",props:{tag:{type:String,default:"div"},horizontal:Boolean},setup(e,{slots:t}){const n=(0,o.Fl)((()=>"q-card__section q-card__section--"+(!0===e.horizontal?"horiz row no-wrap":"vert")));return()=>(0,o.h)(e.tag,{class:n.value},(0,r.KR)(t.default))}})},1384:function(e,t,n){"use strict";n(121);var o=n(9269),i=n(4633),r=n(8108),l=n(6597),a=n(505),s=n(3856),u=n(3027),c=n(64);const d={xs:8,sm:10,md:14,lg:20,xl:24};t.Z=(0,s.L)({name:"QChip",props:{...l.S,...a.LU,dense:Boolean,icon:String,iconRight:String,iconRemove:String,iconSelected:String,label:[String,Number],color:String,textColor:String,modelValue:{type:Boolean,default:!0},selected:{type:Boolean,default:null},square:Boolean,outline:Boolean,clickable:Boolean,removable:Boolean,removeAriaLabel:String,tabindex:[String,Number],disable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:["update:modelValue","update:selected","remove","click"],setup(e,{slots:t,emit:n}){const{proxy:{$q:s}}=(0,o.FN)(),f=(0,l.Z)(e,s),p=(0,a.ZP)(e,d),v=(0,o.Fl)((()=>!0===e.selected||void 0!==e.icon)),h=(0,o.Fl)((()=>!0===e.selected?e.iconSelected||s.iconSet.chip.selected:e.icon)),m=(0,o.Fl)((()=>e.iconRemove||s.iconSet.chip.remove)),g=(0,o.Fl)((()=>!1===e.disable&&(!0===e.clickable||null!==e.selected))),y=(0,o.Fl)((()=>{const t=!0===e.outline&&e.color||e.textColor;return"q-chip row inline no-wrap items-center"+(!1===e.outline&&void 0!==e.color?` bg-${e.color}`:"")+(t?` text-${t} q-chip--colored`:"")+(!0===e.disable?" disabled":"")+(!0===e.dense?" q-chip--dense":"")+(!0===e.outline?" q-chip--outline":"")+(!0===e.selected?" q-chip--selected":"")+(!0===g.value?" q-chip--clickable cursor-pointer non-selectable q-hoverable":"")+(!0===e.square?" q-chip--square":"")+(!0===f.value?" q-chip--dark q-dark":"")})),b=(0,o.Fl)((()=>{const t=!0===e.disable?{tabindex:-1,"aria-disabled":"true"}:{tabindex:e.tabindex||0},n={...t,role:"button","aria-hidden":"false","aria-label":e.removeAriaLabel||s.lang.label.remove};return{chip:t,remove:n}}));function _(e){13===e.keyCode&&w(e)}function w(t){e.disable||(n("update:selected",!e.selected),n("click",t))}function x(t){void 0!==t.keyCode&&13!==t.keyCode||((0,u.NS)(t),!1===e.disable&&(n("update:modelValue",!1),n("remove")))}function S(){const n=[];!0===g.value&&n.push((0,o.h)("div",{class:"q-focus-helper"})),!0===v.value&&n.push((0,o.h)(i.Z,{class:"q-chip__icon q-chip__icon--left",name:h.value}));const r=void 0!==e.label?[(0,o.h)("div",{class:"ellipsis"},[e.label])]:void 0;return n.push((0,o.h)("div",{class:"q-chip__content col row no-wrap items-center q-anchor--skip"},(0,c.pf)(t.default,r))),e.iconRight&&n.push((0,o.h)(i.Z,{class:"q-chip__icon q-chip__icon--right",name:e.iconRight})),!0===e.removable&&n.push((0,o.h)(i.Z,{class:"q-chip__icon q-chip__icon--remove cursor-pointer",name:m.value,...b.value.remove,onClick:x,onKeyup:x})),n}return()=>{if(!1===e.modelValue)return;const t={class:y.value,style:p.value};return!0===g.value&&Object.assign(t,b.value.chip,{onClick:w,onKeyup:_}),(0,c.Jl)("div",t,S(),"ripple",!1!==e.ripple&&!0!==e.disable,(()=>[[r.Z,e.ripple]]))}}})},9833:function(e,t,n){"use strict";var o=n(9269),i=n(6237),r=n(5102),l=n(5573),a=n(7933),s=n(6775),u=n(9216),c=n(959),d=n(3852),f=n(5296),p=n(3856),v=n(6145),h=n(64),m=n(1135),g=n(7001),y=n(6146);let b=0;const _={standard:"fixed-full flex-center",top:"fixed-top justify-center",bottom:"fixed-bottom justify-center",right:"fixed-right items-center",left:"fixed-left items-center"},w={standard:["scale","scale"],top:["slide-down","slide-up"],bottom:["slide-up","slide-down"],right:["slide-left","slide-right"],left:["slide-right","slide-left"]};t.Z=(0,p.L)({name:"QDialog",inheritAttrs:!1,props:{...u.vr,...c.D,transitionShow:String,transitionHide:String,persistent:Boolean,autoClose:Boolean,allowFocusOutside:Boolean,noEscDismiss:Boolean,noBackdropDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,noShake:Boolean,seamless:Boolean,maximized:Boolean,fullWidth:Boolean,fullHeight:Boolean,square:Boolean,position:{type:String,default:"standard",validator:e=>"standard"===e||["top","bottom","left","right"].includes(e)}},emits:[...u.gH,"shake","click","escapeKey"],setup(e,{slots:t,emit:n,attrs:p}){const x=(0,o.FN)(),S=(0,i.iH)(null),k=(0,i.iH)(!1),C=(0,i.iH)(!1);let q,F,O=null,E=null;const T=(0,o.Fl)((()=>!0!==e.persistent&&!0!==e.noRouteDismiss&&!0!==e.seamless)),{preventBodyScroll:A}=(0,f.Z)(),{registerTimeout:$}=(0,a.Z)(),{registerTick:L,removeTick:P}=(0,s.Z)(),{transitionProps:R,transitionStyle:M}=(0,c.Z)(e,(()=>w[e.position][0]),(()=>w[e.position][1])),{showPortal:j,hidePortal:V,portalIsAccessible:B,renderPortal:N}=(0,d.Z)(x,S,ie,"dialog"),{hide:I}=(0,u.ZP)({showing:k,hideOnRouteChange:T,handleShow:Y,handleHide:W,processOnMount:!0}),{addToHistory:H,removeFromHistory:z}=(0,l.Z)(k,I,T),D=(0,o.Fl)((()=>"q-dialog__inner flex no-pointer-events q-dialog__inner--"+(!0===e.maximized?"maximized":"minimized")+` q-dialog__inner--${e.position} ${_[e.position]}`+(!0===C.value?" q-dialog__inner--animating":"")+(!0===e.fullWidth?" q-dialog__inner--fullwidth":"")+(!0===e.fullHeight?" q-dialog__inner--fullheight":"")+(!0===e.square?" q-dialog__inner--square":""))),Z=(0,o.Fl)((()=>!0===k.value&&!0!==e.seamless)),U=(0,o.Fl)((()=>!0===e.autoClose?{onClick:te}:{})),K=(0,o.Fl)((()=>["q-dialog fullscreen no-pointer-events q-dialog--"+(!0===Z.value?"modal":"seamless"),p.class]));function Y(t){H(),E=!1===e.noRefocus&&null!==document.activeElement?document.activeElement:null,ee(e.maximized),j(),C.value=!0,!0!==e.noFocus?(null!==document.activeElement&&document.activeElement.blur(),L(J)):P(),$((()=>{if(!0===x.proxy.$q.platform.is.ios){if(!0!==e.seamless&&document.activeElement){const{top:e,bottom:t}=document.activeElement.getBoundingClientRect(),{innerHeight:n}=window,o=void 0!==window.visualViewport?window.visualViewport.height:n;e>0&&t>o/2&&(document.scrollingElement.scrollTop=Math.min(document.scrollingElement.scrollHeight-o,t>=n?1/0:Math.ceil(document.scrollingElement.scrollTop+t-o/2))),document.activeElement.scrollIntoView()}F=!0,S.value.click(),F=!1}j(!0),C.value=!1,n("show",t)}),e.transitionDuration)}function W(t){P(),z(),G(!0),C.value=!0,V(),null!==E&&(((t&&0===t.type.indexOf("key")?E.closest('[tabindex]:not([tabindex^="-"])'):void 0)||E).focus(),E=null),$((()=>{V(!0),C.value=!1,n("hide",t)}),e.transitionDuration)}function J(e){(0,y.jd)((()=>{let t=S.value;null!==t&&!0!==t.contains(document.activeElement)&&(t=(""!==e?t.querySelector(e):null)||t.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||t.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||t.querySelector("[autofocus], [data-autofocus]")||t,t.focus({preventScroll:!0}))}))}function Q(e){e&&"function"===typeof e.focus?e.focus({preventScroll:!0}):J(),n("shake");const t=S.value;null!==t&&(t.classList.remove("q-animate--scale"),t.classList.add("q-animate--scale"),null!==O&&clearTimeout(O),O=setTimeout((()=>{O=null,null!==S.value&&(t.classList.remove("q-animate--scale"),J())}),170))}function X(){!0!==e.seamless&&(!0===e.persistent||!0===e.noEscDismiss?!0!==e.maximized&&!0!==e.noShake&&Q():(n("escapeKey"),I()))}function G(t){null!==O&&(clearTimeout(O),O=null),!0!==t&&!0!==k.value||(ee(!1),!0!==e.seamless&&(A(!1),(0,g.H)(oe),(0,m.k)(X))),!0!==t&&(E=null)}function ee(e){!0===e?!0!==q&&(b<1&&document.body.classList.add("q-body--dialog"),b++,q=!0):!0===q&&(b<2&&document.body.classList.remove("q-body--dialog"),b--,q=!1)}function te(e){!0!==F&&(I(e),n("click",e))}function ne(t){!0!==e.persistent&&!0!==e.noBackdropDismiss?I(t):!0!==e.noShake&&Q()}function oe(t){!0!==e.allowFocusOutside&&!0===B.value&&!0!==(0,v.mY)(S.value,t.target)&&J('[tabindex]:not([tabindex="-1"])')}function ie(){return(0,o.h)("div",{role:"dialog","aria-modal":!0===Z.value?"true":"false",...p,class:K.value},[(0,o.h)(r.uT,{name:"q-transition--fade",appear:!0},(()=>!0===Z.value?(0,o.h)("div",{class:"q-dialog__backdrop fixed-full",style:M.value,"aria-hidden":"true",tabindex:-1,onClick:ne}):null)),(0,o.h)(r.uT,R.value,(()=>!0===k.value?(0,o.h)("div",{ref:S,class:D.value,style:M.value,tabindex:-1,...U.value},(0,h.KR)(t.default)):null))])}return(0,o.YP)((()=>e.maximized),(e=>{!0===k.value&&ee(e)})),(0,o.YP)(Z,(e=>{A(e),!0===e?((0,g.i)(oe),(0,m.c)(X)):((0,g.H)(oe),(0,m.k)(X))})),Object.assign(x.proxy,{focus:J,shake:Q,__updateRefocusTarget(e){E=e||null}}),(0,o.Jd)(G),N}})},2709:function(e,t,n){"use strict";n.d(t,{Z:function(){return q}});n(121);var o=n(9269),i=n(6237),r=n(5573),l=n(9216),a=n(5296),s=n(7933),u=n(6597),c=n(1013),d=n(3856);const f={left:!0,right:!0,up:!0,down:!0,horizontal:!0,vertical:!0},p=Object.keys(f);function v(e){const t={};for(const n of p)!0===e[n]&&(t[n]=!0);return 0===Object.keys(t).length?f:(!0===t.horizontal?t.left=t.right=!0:!0===t.left&&!0===t.right&&(t.horizontal=!0),!0===t.vertical?t.up=t.down=!0:!0===t.up&&!0===t.down&&(t.vertical=!0),!0===t.horizontal&&!0===t.vertical&&(t.all=!0),t)}f.all=!0;const h=["INPUT","TEXTAREA"];function m(e,t){return void 0===t.event&&void 0!==e.target&&!0!==e.target.draggable&&"function"===typeof t.handler&&!1===h.includes(e.target.nodeName.toUpperCase())&&(void 0===e.qClonedBy||-1===e.qClonedBy.indexOf(t.uid))}var g=n(3027),y=n(1307);function b(e,t,n){const o=(0,g.FK)(e);let i,r=o.left-t.event.x,l=o.top-t.event.y,a=Math.abs(r),s=Math.abs(l);const u=t.direction;!0===u.horizontal&&!0!==u.vertical?i=r<0?"left":"right":!0!==u.horizontal&&!0===u.vertical?i=l<0?"up":"down":!0===u.up&&l<0?(i="up",a>s&&(!0===u.left&&r<0?i="left":!0===u.right&&r>0&&(i="right"))):!0===u.down&&l>0?(i="down",a>s&&(!0===u.left&&r<0?i="left":!0===u.right&&r>0&&(i="right"))):!0===u.left&&r<0?(i="left",a0&&(i="down"))):!0===u.right&&r>0&&(i="right",a0&&(i="down")));let c=!1;if(void 0===i&&!1===n){if(!0===t.event.isFirst||void 0===t.event.lastDir)return{};i=t.event.lastDir,c=!0,"left"===i||"right"===i?(o.left-=r,a=0,r=0):(o.top-=l,s=0,l=0)}return{synthetic:c,payload:{evt:e,touch:!0!==t.event.mouse,mouse:!0===t.event.mouse,position:o,direction:i,isFirst:t.event.isFirst,isFinal:!0===n,duration:Date.now()-t.event.time,distance:{x:a,y:s},offset:{x:r,y:l},delta:{x:o.left-t.event.lastX,y:o.top-t.event.lastY}}}}let _=0;var w=(0,d.f)({name:"touch-pan",beforeMount(e,{value:t,modifiers:n}){if(!0!==n.mouse&&!0!==c.client.has.touch)return;function o(e,t){!0===n.mouse&&!0===t?(0,g.NS)(e):(!0===n.stop&&(0,g.sT)(e),!0===n.prevent&&(0,g.X$)(e))}const i={uid:"qvtp_"+_++,handler:t,modifiers:n,direction:v(n),noop:g.ZT,mouseStart(e){m(e,i)&&(0,g.du)(e)&&((0,g.M0)(i,"temp",[[document,"mousemove","move","notPassiveCapture"],[document,"mouseup","end","passiveCapture"]]),i.start(e,!0))},touchStart(e){if(m(e,i)){const t=e.target;(0,g.M0)(i,"temp",[[t,"touchmove","move","notPassiveCapture"],[t,"touchcancel","end","passiveCapture"],[t,"touchend","end","passiveCapture"]]),i.start(e)}},start(t,o){if(!0===c.client.is.firefox&&(0,g.Jf)(e,!0),i.lastEvt=t,!0===o||!0===n.stop){if(!0!==i.direction.all&&(!0!==o||!0!==i.modifiers.mouseAllDir&&!0!==i.modifiers.mousealldir)){const e=t.type.indexOf("mouse")>-1?new MouseEvent(t.type,t):new TouchEvent(t.type,t);!0===t.defaultPrevented&&(0,g.X$)(e),!0===t.cancelBubble&&(0,g.sT)(e),Object.assign(e,{qKeyEvent:t.qKeyEvent,qClickOutside:t.qClickOutside,qAnchorHandled:t.qAnchorHandled,qClonedBy:void 0===t.qClonedBy?[i.uid]:t.qClonedBy.concat(i.uid)}),i.initialEvent={target:t.target,event:e}}(0,g.sT)(t)}const{left:r,top:l}=(0,g.FK)(t);i.event={x:r,y:l,time:Date.now(),mouse:!0===o,detected:!1,isFirst:!0,isFinal:!1,lastX:r,lastY:l}},move(e){if(void 0===i.event)return;const t=(0,g.FK)(e),r=t.left-i.event.x,l=t.top-i.event.y;if(0===r&&0===l)return;i.lastEvt=e;const a=!0===i.event.mouse,s=()=>{let t;o(e,a),!0!==n.preserveCursor&&!0!==n.preservecursor&&(t=document.documentElement.style.cursor||"",document.documentElement.style.cursor="grabbing"),!0===a&&document.body.classList.add("no-pointer-events--children"),document.body.classList.add("non-selectable"),(0,y.M)(),i.styleCleanup=e=>{if(i.styleCleanup=void 0,void 0!==t&&(document.documentElement.style.cursor=t),document.body.classList.remove("non-selectable"),!0===a){const t=()=>{document.body.classList.remove("no-pointer-events--children")};void 0!==e?setTimeout((()=>{t(),e()}),50):t()}else void 0!==e&&e()}};if(!0===i.event.detected){!0!==i.event.isFirst&&o(e,i.event.mouse);const{payload:t,synthetic:n}=b(e,i,!1);return void(void 0!==t&&(!1===i.handler(t)?i.end(e):(void 0===i.styleCleanup&&!0===i.event.isFirst&&s(),i.event.lastX=t.position.left,i.event.lastY=t.position.top,i.event.lastDir=!0===n?void 0:t.direction,i.event.isFirst=!1)))}if(!0===i.direction.all||!0===a&&(!0===i.modifiers.mouseAllDir||!0===i.modifiers.mousealldir))return s(),i.event.detected=!0,void i.move(e);const u=Math.abs(r),c=Math.abs(l);u!==c&&(!0===i.direction.horizontal&&u>c||!0===i.direction.vertical&&u0||!0===i.direction.left&&u>c&&r<0||!0===i.direction.right&&u>c&&r>0?(i.event.detected=!0,i.move(e)):i.end(e,!0))},end(t,n){if(void 0!==i.event){if((0,g.ul)(i,"temp"),!0===c.client.is.firefox&&(0,g.Jf)(e,!1),!0===n)void 0!==i.styleCleanup&&i.styleCleanup(),!0!==i.event.detected&&void 0!==i.initialEvent&&i.initialEvent.target.dispatchEvent(i.initialEvent.event);else if(!0===i.event.detected){!0===i.event.isFirst&&i.handler(b(void 0===t?i.lastEvt:t,i).payload);const{payload:e}=b(void 0===t?i.lastEvt:t,i,!0),n=()=>{i.handler(e)};void 0!==i.styleCleanup?i.styleCleanup(n):n()}i.event=void 0,i.initialEvent=void 0,i.lastEvt=void 0}}};if(e.__qtouchpan=i,!0===n.mouse){const t=!0===n.mouseCapture||!0===n.mousecapture?"Capture":"";(0,g.M0)(i,"main",[[e,"mousedown","mouseStart",`passive${t}`]])}!0===c.client.has.touch&&(0,g.M0)(i,"main",[[e,"touchstart","touchStart","passive"+(!0===n.capture?"Capture":"")],[e,"touchmove","noop","notPassiveCapture"]])},updated(e,t){const n=e.__qtouchpan;void 0!==n&&(t.oldValue!==t.value&&("function"!==typeof value&&n.end(),n.handler=t.value),n.direction=v(t.modifiers))},beforeUnmount(e){const t=e.__qtouchpan;void 0!==t&&(void 0!==t.event&&t.end(),(0,g.ul)(t,"main"),(0,g.ul)(t,"temp"),!0===c.client.is.firefox&&(0,g.Jf)(e,!1),void 0!==t.styleCleanup&&t.styleCleanup(),delete e.__qtouchpan)}}),x=n(7328),S=n(64),k=n(4300);const C=150;var q=(0,d.L)({name:"QDrawer",inheritAttrs:!1,props:{...l.vr,...u.S,side:{type:String,default:"left",validator:e=>["left","right"].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>["default","desktop","mobile"].includes(e),default:"default"},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...l.gH,"onLayout","miniState"],setup(e,{slots:t,emit:n,attrs:c}){const d=(0,o.FN)(),{proxy:{$q:f}}=d,p=(0,u.Z)(e,f),{preventBodyScroll:v}=(0,a.Z)(),{registerTimeout:h,removeTimeout:m}=(0,s.Z)(),g=(0,o.f3)(k.YE,k.qO);if(g===k.qO)return console.error("QDrawer needs to be child of QLayout"),k.qO;let y,b,_=null;const q=(0,i.iH)("mobile"===e.behavior||"desktop"!==e.behavior&&g.totalWidth.value<=e.breakpoint),F=(0,o.Fl)((()=>!0===e.mini&&!0!==q.value)),O=(0,o.Fl)((()=>!0===F.value?e.miniWidth:e.width)),E=(0,i.iH)(!0===e.showIfAbove&&!1===q.value||!0===e.modelValue),T=(0,o.Fl)((()=>!0!==e.persistent&&(!0===q.value||!0===Y.value)));function A(e,t){if(R(),!1!==e&&g.animate(),ae(0),!0===q.value){const e=g.instances[D.value];void 0!==e&&!0===e.belowBreakpoint&&e.hide(!1),se(1),!0!==g.isContainer.value&&v(!0)}else se(0),!1!==e&&ue(!1);h((()=>{!1!==e&&ue(!0),!0!==t&&n("show",e)}),C)}function $(e,t){M(),!1!==e&&g.animate(),se(0),ae(B.value*O.value),pe(),!0!==t?h((()=>{n("hide",e)}),C):m()}const{show:L,hide:P}=(0,l.ZP)({showing:E,hideOnRouteChange:T,handleShow:A,handleHide:$}),{addToHistory:R,removeFromHistory:M}=(0,r.Z)(E,P,T),j={belowBreakpoint:q,hide:P},V=(0,o.Fl)((()=>"right"===e.side)),B=(0,o.Fl)((()=>(!0===f.lang.rtl?-1:1)*(!0===V.value?1:-1))),N=(0,i.iH)(0),I=(0,i.iH)(!1),H=(0,i.iH)(!1),z=(0,i.iH)(O.value*B.value),D=(0,o.Fl)((()=>!0===V.value?"left":"right")),Z=(0,o.Fl)((()=>!0===E.value&&!1===q.value&&!1===e.overlay?!0===e.miniToOverlay?e.miniWidth:O.value:0)),U=(0,o.Fl)((()=>!0===e.overlay||!0===e.miniToOverlay||g.view.value.indexOf(V.value?"R":"L")>-1||!0===f.platform.is.ios&&!0===g.isContainer.value)),K=(0,o.Fl)((()=>!1===e.overlay&&!0===E.value&&!1===q.value)),Y=(0,o.Fl)((()=>!0===e.overlay&&!0===E.value&&!1===q.value)),W=(0,o.Fl)((()=>"fullscreen q-drawer__backdrop"+(!1===E.value&&!1===I.value?" hidden":""))),J=(0,o.Fl)((()=>({backgroundColor:`rgba(0,0,0,${.4*N.value})`}))),Q=(0,o.Fl)((()=>!0===V.value?"r"===g.rows.value.top[2]:"l"===g.rows.value.top[0])),X=(0,o.Fl)((()=>!0===V.value?"r"===g.rows.value.bottom[2]:"l"===g.rows.value.bottom[0])),G=(0,o.Fl)((()=>{const e={};return!0===g.header.space&&!1===Q.value&&(!0===U.value?e.top=`${g.header.offset}px`:!0===g.header.space&&(e.top=`${g.header.size}px`)),!0===g.footer.space&&!1===X.value&&(!0===U.value?e.bottom=`${g.footer.offset}px`:!0===g.footer.space&&(e.bottom=`${g.footer.size}px`)),e})),ee=(0,o.Fl)((()=>{const e={width:`${O.value}px`,transform:`translateX(${z.value}px)`};return!0===q.value?e:Object.assign(e,G.value)})),te=(0,o.Fl)((()=>"q-drawer__content fit "+(!0!==g.isContainer.value?"scroll":"overflow-auto"))),ne=(0,o.Fl)((()=>`q-drawer q-drawer--${e.side}`+(!0===H.value?" q-drawer--mini-animate":"")+(!0===e.bordered?" q-drawer--bordered":"")+(!0===p.value?" q-drawer--dark q-dark":"")+(!0===I.value?" no-transition":!0===E.value?"":" q-layout--prevent-focus")+(!0===q.value?" fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding":" q-drawer--"+(!0===F.value?"mini":"standard")+(!0===U.value||!0!==K.value?" fixed":"")+(!0===e.overlay||!0===e.miniToOverlay?" q-drawer--on-top":"")+(!0===Q.value?" q-drawer--top-padding":"")))),oe=(0,o.Fl)((()=>{const t=!0===f.lang.rtl?e.side:D.value;return[[w,de,void 0,{[t]:!0,mouse:!0}]]})),ie=(0,o.Fl)((()=>{const t=!0===f.lang.rtl?D.value:e.side;return[[w,fe,void 0,{[t]:!0,mouse:!0}]]})),re=(0,o.Fl)((()=>{const t=!0===f.lang.rtl?D.value:e.side;return[[w,fe,void 0,{[t]:!0,mouse:!0,mouseAllDir:!0}]]}));function le(){he(q,"mobile"===e.behavior||"desktop"!==e.behavior&&g.totalWidth.value<=e.breakpoint)}function ae(e){void 0===e?(0,o.Y3)((()=>{e=!0===E.value?0:O.value,ae(B.value*e)})):(!0!==g.isContainer.value||!0!==V.value||!0!==q.value&&Math.abs(e)!==O.value||(e+=B.value*g.scrollbarWidth.value),z.value=e)}function se(e){N.value=e}function ue(e){const t=!0===e?"remove":!0!==g.isContainer.value?"add":"";""!==t&&document.body.classList[t]("q-body--drawer-toggle")}function ce(){null!==_&&clearTimeout(_),d.proxy&&d.proxy.$el&&d.proxy.$el.classList.add("q-drawer--mini-animate"),H.value=!0,_=setTimeout((()=>{_=null,H.value=!1,d&&d.proxy&&d.proxy.$el&&d.proxy.$el.classList.remove("q-drawer--mini-animate")}),150)}function de(e){if(!1!==E.value)return;const t=O.value,n=(0,x.vX)(e.distance.x,0,t);if(!0===e.isFinal){const e=n>=Math.min(75,t);return!0===e?L():(g.animate(),se(0),ae(B.value*t)),void(I.value=!1)}ae((!0===f.lang.rtl?!0!==V.value:V.value)?Math.max(t-n,0):Math.min(0,n-t)),se((0,x.vX)(n/t,0,1)),!0===e.isFirst&&(I.value=!0)}function fe(t){if(!0!==E.value)return;const n=O.value,o=t.direction===e.side,i=(!0===f.lang.rtl?!0!==o:o)?(0,x.vX)(t.distance.x,0,n):0;if(!0===t.isFinal){const e=Math.abs(i){!0===t?(y=E.value,!0===E.value&&P(!1)):!1===e.overlay&&"mobile"!==e.behavior&&!1!==y&&(!0===E.value?(ae(0),se(0),pe()):L(!1))})),(0,o.YP)((()=>e.side),((e,t)=>{g.instances[t]===j&&(g.instances[t]=void 0,g[t].space=!1,g[t].offset=0),g.instances[e]=j,g[e].size=O.value,g[e].space=K.value,g[e].offset=Z.value})),(0,o.YP)(g.totalWidth,(()=>{!0!==g.isContainer.value&&!0===document.qScrollPrevented||le()})),(0,o.YP)((()=>e.behavior+e.breakpoint),le),(0,o.YP)(g.isContainer,(e=>{!0===E.value&&v(!0!==e),!0===e&&le()})),(0,o.YP)(g.scrollbarWidth,(()=>{ae(!0===E.value?0:void 0)})),(0,o.YP)(Z,(e=>{ve("offset",e)})),(0,o.YP)(K,(e=>{n("onLayout",e),ve("space",e)})),(0,o.YP)(V,(()=>{ae()})),(0,o.YP)(O,(t=>{ae(),me(e.miniToOverlay,t)})),(0,o.YP)((()=>e.miniToOverlay),(e=>{me(e,O.value)})),(0,o.YP)((()=>f.lang.rtl),(()=>{ae()})),(0,o.YP)((()=>e.mini),(()=>{e.noMiniAnimation||!0===e.modelValue&&(ce(),g.animate())})),(0,o.YP)(F,(e=>{n("miniState",e)})),g.instances[e.side]=j,me(e.miniToOverlay,O.value),ve("space",K.value),ve("offset",Z.value),!0===e.showIfAbove&&!0!==e.modelValue&&!0===E.value&&void 0!==e["onUpdate:modelValue"]&&n("update:modelValue",!0),(0,o.bv)((()=>{n("onLayout",K.value),n("miniState",F.value),y=!0===e.showIfAbove;const t=()=>{const e=!0===E.value?A:$;e(!1,!0)};0===g.totalWidth.value?b=(0,o.YP)(g.totalWidth,(()=>{b(),b=void 0,!1===E.value&&!0===e.showIfAbove&&!1===q.value?L(!1):t()})):(0,o.Y3)(t)})),(0,o.Jd)((()=>{void 0!==b&&b(),null!==_&&(clearTimeout(_),_=null),!0===E.value&&pe(),g.instances[e.side]===j&&(g.instances[e.side]=void 0,ve("size",0),ve("offset",0),ve("space",!1))})),()=>{const n=[];!0===q.value&&(!1===e.noSwipeOpen&&n.push((0,o.wy)((0,o.h)("div",{key:"open",class:`q-drawer__opener fixed-${e.side}`,"aria-hidden":"true"}),oe.value)),n.push((0,S.Jl)("div",{ref:"backdrop",class:W.value,style:J.value,"aria-hidden":"true",onClick:P},void 0,"backdrop",!0!==e.noSwipeBackdrop&&!0===E.value,(()=>re.value))));const i=!0===F.value&&void 0!==t.mini,r=[(0,o.h)("div",{...c,key:""+i,class:[te.value,c.class]},!0===i?t.mini():(0,S.KR)(t.default))];return!0===e.elevated&&!0===E.value&&r.push((0,o.h)("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),n.push((0,S.Jl)("aside",{ref:"content",class:ne.value,style:ee.value},r,"contentclose",!0!==e.noSwipeClose&&!0===q.value,(()=>ie.value))),(0,o.h)("div",{class:"q-drawer-container"},n)}}})},6967:function(e,t,n){"use strict";n.d(t,{Z:function(){return b}});var o=n(9269),i=n(6237),r=n(1384),l=n(2019),a=n(9724),s=(n(121),n(1013)),u=n(3027);function c(e,t,n,o){const i=[];return e.forEach((e=>{!0===o(e)?i.push(e):t.push({failedPropValidation:n,file:e})})),i}function d(e){e&&e.dataTransfer&&(e.dataTransfer.dropEffect="copy"),(0,u.NS)(e)}const f={multiple:Boolean,accept:String,capture:String,maxFileSize:[Number,String],maxTotalSize:[Number,String],maxFiles:[Number,String],filter:Function},p=["rejected"];function v({editable:e,dnd:t,getFileInput:n,addFilesToQueue:r}){const{props:l,emit:a,proxy:f}=(0,o.FN)(),p=(0,i.iH)(null),v=(0,o.Fl)((()=>void 0!==l.accept?l.accept.split(",").map((e=>(e=e.trim(),"*"===e?"*/":(e.endsWith("/*")&&(e=e.slice(0,e.length-1)),e.toUpperCase())))):null)),h=(0,o.Fl)((()=>parseInt(l.maxFiles,10))),m=(0,o.Fl)((()=>parseInt(l.maxTotalSize,10)));function g(t){if(e.value)if(t!==Object(t)&&(t={target:null}),null!==t.target&&!0===t.target.matches('input[type="file"]'))0===t.clientX&&0===t.clientY&&(0,u.sT)(t);else{const e=n();e&&e!==t.target&&e.click(t)}}function y(t){e.value&&t&&r(null,t)}function b(e,t,n,o){let i=Array.from(t||e.target.files);const r=[],s=()=>{0!==r.length&&a("rejected",r)};if(void 0!==l.accept&&-1===v.value.indexOf("*/")&&(i=c(i,r,"accept",(e=>v.value.some((t=>e.type.toUpperCase().startsWith(t)||e.name.toUpperCase().endsWith(t))))),0===i.length))return s();if(void 0!==l.maxFileSize){const e=parseInt(l.maxFileSize,10);if(i=c(i,r,"max-file-size",(t=>t.size<=e)),0===i.length)return s()}if(!0!==l.multiple&&0!==i.length&&(i=[i[0]]),i.forEach((e=>{e.__key=e.webkitRelativePath+e.lastModified+e.name+e.size})),!0===o){const e=n.map((e=>e.__key));i=c(i,r,"duplicate",(t=>!1===e.includes(t.__key)))}if(0===i.length)return s();if(void 0!==l.maxTotalSize){let e=!0===o?n.reduce(((e,t)=>e+t.size),0):0;if(i=c(i,r,"max-total-size",(t=>(e+=t.size,e<=m.value))),0===i.length)return s()}if("function"===typeof l.filter){const e=l.filter(i);i=c(i,r,"filter",(t=>e.includes(t)))}if(void 0!==l.maxFiles){let e=!0===o?n.length:0;if(i=c(i,r,"max-files",(()=>(e++,e<=h.value))),0===i.length)return s()}return s(),0!==i.length?i:void 0}function _(e){d(e),!0!==t.value&&(t.value=!0)}function w(e){(0,u.NS)(e);const n=null!==e.relatedTarget||!0!==s.client.is.safari?e.relatedTarget!==p.value:!1===document.elementsFromPoint(e.clientX,e.clientY).includes(p.value);!0===n&&(t.value=!1)}function x(e){d(e);const n=e.dataTransfer.files;0!==n.length&&r(null,n),t.value=!1}function S(e){if(!0===t.value)return(0,o.h)("div",{ref:p,class:`q-${e}__dnd absolute-full`,onDragenter:d,onDragover:d,onDragleave:w,onDrop:x})}return Object.assign(f,{pickFiles:g,addFiles:y}),{pickFiles:g,addFiles:y,onDragover:_,onDragleave:w,processFiles:b,getDndNode:S,maxFilesNumber:h,maxTotalSizeNumber:m}}var h=n(9976),m=n(3856),g=n(7328),y=n(3613),b=(0,m.L)({name:"QFile",inheritAttrs:!1,props:{...l.Cl,...a.Fz,...f,modelValue:[File,FileList,Array],append:Boolean,useChips:Boolean,displayValue:[String,Number],tabindex:{type:[String,Number],default:0},counterLabel:Function,inputClass:[Array,String,Object],inputStyle:[Array,String,Object]},emits:[...l.HJ,...p],setup(e,{slots:t,emit:n,attrs:s}){const{proxy:c}=(0,o.FN)(),d=(0,l.tL)(),f=(0,i.iH)(null),p=(0,i.iH)(!1),m=(0,a.Do)(e),{pickFiles:b,onDragover:_,onDragleave:w,processFiles:x,getDndNode:S}=v({editable:d.editable,dnd:p,getFileInput:V,addFilesToQueue:B}),k=(0,h.Z)(e),C=(0,o.Fl)((()=>Object(e.modelValue)===e.modelValue?"length"in e.modelValue?Array.from(e.modelValue):[e.modelValue]:[])),q=(0,o.Fl)((()=>(0,l.yV)(C.value))),F=(0,o.Fl)((()=>C.value.map((e=>e.name)).join(", "))),O=(0,o.Fl)((()=>(0,g.rB)(C.value.reduce(((e,t)=>e+t.size),0)))),E=(0,o.Fl)((()=>({totalSize:O.value,filesNumber:C.value.length,maxFiles:e.maxFiles}))),T=(0,o.Fl)((()=>({tabindex:-1,type:"file",title:"",accept:e.accept,capture:e.capture,name:m.value,...s,id:d.targetUid.value,disabled:!0!==d.editable.value}))),A=(0,o.Fl)((()=>"q-file q-field--auto-height"+(!0===p.value?" q-file--dnd":""))),$=(0,o.Fl)((()=>!0===e.multiple&&!0===e.append));function L(e){const t=C.value.slice();t.splice(e,1),R(t)}function P(e){const t=C.value.indexOf(e);t>-1&&L(t)}function R(t){n("update:modelValue",!0===e.multiple?t:t[0])}function M(e){13===e.keyCode&&(0,u.X$)(e)}function j(e){13!==e.keyCode&&32!==e.keyCode||b(e)}function V(){return f.value}function B(t,n){const o=x(t,n,C.value,$.value),i=V();void 0!==i&&null!==i&&(i.value=""),void 0!==o&&((!0===e.multiple?e.modelValue&&o.every((e=>C.value.includes(e))):e.modelValue===o[0])||R(!0===$.value?C.value.concat(o):o))}function N(){return[(0,o.h)("input",{class:[e.inputClass,"q-file__filler"],style:e.inputStyle})]}function I(){if(void 0!==t.file)return 0===C.value.length?N():C.value.map(((e,n)=>t.file({index:n,file:e,ref:this})));if(void 0!==t.selected)return 0===C.value.length?N():t.selected({files:C.value,ref:this});if(!0===e.useChips)return 0===C.value.length?N():C.value.map(((t,n)=>(0,o.h)(r.Z,{key:"file-"+n,removable:d.editable.value,dense:!0,textColor:e.color,tabindex:e.tabindex,onRemove:()=>{L(n)}},(()=>(0,o.h)("span",{class:"ellipsis",textContent:t.name})))));const n=void 0!==e.displayValue?e.displayValue:F.value;return 0!==n.length?[(0,o.h)("div",{class:e.inputClass,style:e.inputStyle,textContent:n})]:N()}function H(){const t={ref:f,...T.value,...k.value,class:"q-field__input fit absolute-full cursor-pointer",onChange:B};return!0===e.multiple&&(t.multiple=!0),(0,o.h)("input",t)}return Object.assign(d,{fieldClass:A,emitValue:R,hasValue:q,inputRef:f,innerValue:C,floatingLabel:(0,o.Fl)((()=>!0===q.value||(0,l.yV)(e.displayValue))),computedCounter:(0,o.Fl)((()=>{if(void 0!==e.counterLabel)return e.counterLabel(E.value);const t=e.maxFiles;return`${C.value.length}${void 0!==t?" / "+t:""} (${O.value})`})),getControlChild:()=>S("file"),getControl:()=>{const t={ref:d.targetRef,class:"q-field__native row items-center cursor-pointer",tabindex:e.tabindex};return!0===d.editable.value&&Object.assign(t,{onDragover:_,onDragleave:w,onKeydown:M,onKeyup:j}),(0,o.h)("div",t,[H()].concat(I()))}}),Object.assign(c,{removeAtIndex:L,removeFile:P,getNativeElement:()=>f.value}),(0,y.g)(c,"nativeEl",(()=>f.value)),(0,l.ZP)(d)}})},7454:function(e,t,n){"use strict";n(121);var o=n(9269),i=n(6237),r=n(5722),l=n(3856),a=n(64),s=n(4300);t.Z=(0,l.L)({name:"QHeader",props:{modelValue:{type:Boolean,default:!0},reveal:Boolean,revealOffset:{type:Number,default:250},bordered:Boolean,elevated:Boolean,heightHint:{type:[String,Number],default:50}},emits:["reveal","focusin"],setup(e,{slots:t,emit:n}){const{proxy:{$q:l}}=(0,o.FN)(),u=(0,o.f3)(s.YE,s.qO);if(u===s.qO)return console.error("QHeader needs to be child of QLayout"),s.qO;const c=(0,i.iH)(parseInt(e.heightHint,10)),d=(0,i.iH)(!0),f=(0,o.Fl)((()=>!0===e.reveal||u.view.value.indexOf("H")>-1||l.platform.is.ios&&!0===u.isContainer.value)),p=(0,o.Fl)((()=>{if(!0!==e.modelValue)return 0;if(!0===f.value)return!0===d.value?c.value:0;const t=c.value-u.scroll.value.position;return t>0?t:0})),v=(0,o.Fl)((()=>!0!==e.modelValue||!0===f.value&&!0!==d.value)),h=(0,o.Fl)((()=>!0===e.modelValue&&!0===v.value&&!0===e.reveal)),m=(0,o.Fl)((()=>"q-header q-layout__section--marginal "+(!0===f.value?"fixed":"absolute")+"-top"+(!0===e.bordered?" q-header--bordered":"")+(!0===v.value?" q-header--hidden":"")+(!0!==e.modelValue?" q-layout--prevent-focus":""))),g=(0,o.Fl)((()=>{const e=u.rows.value.top,t={};return"l"===e[0]&&!0===u.left.space&&(t[!0===l.lang.rtl?"right":"left"]=`${u.left.size}px`),"r"===e[2]&&!0===u.right.space&&(t[!0===l.lang.rtl?"left":"right"]=`${u.right.size}px`),t}));function y(e,t){u.update("header",e,t)}function b(e,t){e.value!==t&&(e.value=t)}function _({height:e}){b(c,e),y("size",e)}function w(e){!0===h.value&&b(d,!0),n("focusin",e)}(0,o.YP)((()=>e.modelValue),(e=>{y("space",e),b(d,!0),u.animate()})),(0,o.YP)(p,(e=>{y("offset",e)})),(0,o.YP)((()=>e.reveal),(t=>{!1===t&&b(d,e.modelValue)})),(0,o.YP)(d,(e=>{u.animate(),n("reveal",e)})),(0,o.YP)(u.scroll,(t=>{!0===e.reveal&&b(d,"up"===t.direction||t.position<=e.revealOffset||t.position-t.inflectionPoint<100)}));const x={};return u.instances.header=x,!0===e.modelValue&&y("size",c.value),y("space",e.modelValue),y("offset",p.value),(0,o.Jd)((()=>{u.instances.header===x&&(u.instances.header=void 0,y("size",0),y("offset",0),y("space",!1))})),()=>{const n=(0,a.Bl)(t.default,[]);return!0===e.elevated&&n.push((0,o.h)("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),n.push((0,o.h)(r.Z,{debounce:0,onResize:_})),(0,o.h)("header",{class:m.value,style:g.value,onFocusin:w},n)}}})},4633:function(e,t,n){"use strict";var o=n(9269),i=n(505),r=n(3856),l=n(64);const a="0 0 24 24",s=e=>e,u=e=>`ionicons ${e}`,c={"mdi-":e=>`mdi ${e}`,"icon-":s,"bt-":e=>`bt ${e}`,"eva-":e=>`eva ${e}`,"ion-md":u,"ion-ios":u,"ion-logo":u,"iconfont ":s,"ti-":e=>`themify-icon ${e}`,"bi-":e=>`bootstrap-icons ${e}`},d={o_:"-outlined",r_:"-round",s_:"-sharp"},f={sym_o_:"-outlined",sym_r_:"-rounded",sym_s_:"-sharp"},p=new RegExp("^("+Object.keys(c).join("|")+")"),v=new RegExp("^("+Object.keys(d).join("|")+")"),h=new RegExp("^("+Object.keys(f).join("|")+")"),m=/^[Mm]\s?[-+]?\.?\d/,g=/^img:/,y=/^svguse:/,b=/^ion-/,_=/^(fa-(sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /;t.Z=(0,r.L)({name:"QIcon",props:{...i.LU,tag:{type:String,default:"i"},name:String,color:String,left:Boolean,right:Boolean},setup(e,{slots:t}){const{proxy:{$q:n}}=(0,o.FN)(),r=(0,i.ZP)(e),s=(0,o.Fl)((()=>"q-icon"+(!0===e.left?" on-left":"")+(!0===e.right?" on-right":"")+(void 0!==e.color?` text-${e.color}`:""))),u=(0,o.Fl)((()=>{let t,i=e.name;if("none"===i||!i)return{none:!0};if(null!==n.iconMapFn){const e=n.iconMapFn(i);if(void 0!==e){if(void 0===e.icon)return{cls:e.cls,content:void 0!==e.content?e.content:" "};if(i=e.icon,"none"===i||!i)return{none:!0}}}if(!0===m.test(i)){const[e,t=a]=i.split("|");return{svg:!0,viewBox:t,nodes:e.split("&&").map((e=>{const[t,n,i]=e.split("@@");return(0,o.h)("path",{style:n,d:t,transform:i})}))}}if(!0===g.test(i))return{img:!0,src:i.substring(4)};if(!0===y.test(i)){const[e,t=a]=i.split("|");return{svguse:!0,src:e.substring(7),viewBox:t}}let r=" ";const l=i.match(p);if(null!==l)t=c[l[1]](i);else if(!0===_.test(i))t=i;else if(!0===b.test(i))t=`ionicons ion-${!0===n.platform.is.ios?"ios":"md"}${i.substring(3)}`;else if(!0===h.test(i)){t="notranslate material-symbols";const e=i.match(h);null!==e&&(i=i.substring(6),t+=f[e[1]]),r=i}else{t="notranslate material-icons";const e=i.match(v);null!==e&&(i=i.substring(2),t+=d[e[1]]),r=i}return{cls:t,content:r}}));return()=>{const n={class:s.value,style:r.value,"aria-hidden":"true",role:"presentation"};return!0===u.value.none?(0,o.h)(e.tag,n,(0,l.KR)(t.default)):!0===u.value.img?(0,o.h)("span",n,(0,l.vs)(t.default,[(0,o.h)("img",{src:u.value.src})])):!0===u.value.svg?(0,o.h)("span",n,(0,l.vs)(t.default,[(0,o.h)("svg",{viewBox:u.value.viewBox||"0 0 24 24"},u.value.nodes)])):!0===u.value.svguse?(0,o.h)("span",n,(0,l.vs)(t.default,[(0,o.h)("svg",{viewBox:u.value.viewBox},[(0,o.h)("use",{"xlink:href":u.value.src})])])):(void 0!==u.value.cls&&(n.class+=" "+u.value.cls),(0,o.h)(e.tag,n,(0,l.vs)(t.default,[u.value.content])))}}})},4711:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});n(121);var o=n(6237),i=n(9269),r=n(5102),l=n(2605);const a={ratio:[String,Number]};function s(e,t){return(0,i.Fl)((()=>{const n=Number(e.ratio||(void 0!==t?t.value:void 0));return!0!==isNaN(n)&&n>0?{paddingBottom:100/n+"%"}:null}))}var u=n(3856),c=n(64);const d=16/9;var f=(0,u.L)({name:"QImg",props:{...a,src:String,srcset:String,sizes:String,alt:String,crossorigin:String,decoding:String,referrerpolicy:String,draggable:Boolean,loading:{type:String,default:"lazy"},fetchpriority:{type:String,default:"auto"},width:String,height:String,initialRatio:{type:[Number,String],default:d},placeholderSrc:String,fit:{type:String,default:"cover"},position:{type:String,default:"50% 50%"},imgClass:String,imgStyle:Object,noSpinner:Boolean,noNativeMenu:Boolean,noTransition:Boolean,spinnerColor:String,spinnerSize:String},emits:["load","error"],setup(e,{slots:t,emit:n}){const a=(0,o.iH)(e.initialRatio),u=s(e,a);let d=null,f=!1;const p=[(0,o.iH)(null),(0,o.iH)(x())],v=(0,o.iH)(0),h=(0,o.iH)(!1),m=(0,o.iH)(!1),g=(0,i.Fl)((()=>`q-img q-img--${!0===e.noNativeMenu?"no-":""}menu`)),y=(0,i.Fl)((()=>({width:e.width,height:e.height}))),b=(0,i.Fl)((()=>"q-img__image "+(void 0!==e.imgClass?e.imgClass+" ":"")+`q-img__image--with${!0===e.noTransition?"out":""}-transition`)),_=(0,i.Fl)((()=>({...e.imgStyle,objectFit:e.fit,objectPosition:e.position})));function w(){return e.src||e.srcset||e.sizes?{src:e.src,srcset:e.srcset,sizes:e.sizes}:null}function x(){return void 0!==e.placeholderSrc?{src:e.placeholderSrc}:null}function S(e){null!==d&&(clearTimeout(d),d=null),m.value=!1,null===e?(h.value=!1,p[1^v.value].value=x()):h.value=!0,p[v.value].value=e}function k({target:e}){!0!==f&&(null!==d&&(clearTimeout(d),d=null),a.value=0===e.naturalHeight?.5:e.naturalWidth/e.naturalHeight,C(e,1))}function C(e,t){!0!==f&&1e3!==t&&(!0===e.complete?q(e):d=setTimeout((()=>{d=null,C(e,t+1)}),50))}function q(e){!0!==f&&(v.value=1^v.value,p[v.value].value=null,h.value=!1,m.value=!1,n("load",e.currentSrc||e.src))}function F(e){null!==d&&(clearTimeout(d),d=null),h.value=!1,m.value=!0,p[v.value].value=null,p[1^v.value].value=x(),n("error",e)}function O(t){const n=p[t].value,o={key:"img_"+t,class:b.value,style:_.value,crossorigin:e.crossorigin,decoding:e.decoding,referrerpolicy:e.referrerpolicy,height:e.height,width:e.width,loading:e.loading,fetchpriority:e.fetchpriority,"aria-hidden":"true",draggable:e.draggable,...n};return v.value===t?(o.class+=" q-img__image--waiting",Object.assign(o,{onLoad:k,onError:F})):o.class+=" q-img__image--loaded",(0,i.h)("div",{class:"q-img__container absolute-full",key:"img"+t},(0,i.h)("img",o))}function E(){return!0!==h.value?(0,i.h)("div",{key:"content",class:"q-img__content absolute-full q-anchor--skip"},(0,c.KR)(t[!0===m.value?"error":"default"])):(0,i.h)("div",{key:"loading",class:"q-img__loading absolute-full flex flex-center"},void 0!==t.loading?t.loading():!0===e.noSpinner?void 0:[(0,i.h)(l.Z,{color:e.spinnerColor,size:e.spinnerSize})])}return(0,i.YP)((()=>w()),S),S(w()),(0,i.Jd)((()=>{f=!0,null!==d&&(clearTimeout(d),d=null)})),()=>{const t=[];return null!==u.value&&t.push((0,i.h)("div",{key:"filler",style:u.value})),!0!==m.value&&(null!==p[0].value&&t.push(O(0)),null!==p[1].value&&t.push(O(1))),t.push((0,i.h)(r.uT,{name:"q-transition--fade"},E)),(0,i.h)("div",{class:g.value,style:y.value,role:"img","aria-label":e.alt},t)}}})},6053:function(e,t,n){"use strict";n.d(t,{Z:function(){return x}});var o=n(9269),i=n(6237),r=n(2019),l=(n(121),n(6809));const a={date:"####/##/##",datetime:"####/##/## ##:##",time:"##:##",fulltime:"##:##:##",phone:"(###) ### - ####",card:"#### #### #### ####"},s={"#":{pattern:"[\\d]",negate:"[^\\d]"},S:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]"},N:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]"},A:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleUpperCase()},a:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleLowerCase()},X:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleUpperCase()},x:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleLowerCase()}},u=Object.keys(s);u.forEach((e=>{s[e].regex=new RegExp(s[e].pattern)}));const c=new RegExp("\\\\([^.*+?^${}()|([\\]])|([.*+?^${}()|[\\]])|(["+u.join("")+"])|(.)","g"),d=/[.*+?^${}()|[\]\\]/g,f=String.fromCharCode(1),p={mask:String,reverseFillMask:Boolean,fillMask:[Boolean,String],unmaskedValue:Boolean};function v(e,t,n,r){let u,p,v,h,m,g;const y=(0,i.iH)(null),b=(0,i.iH)(w());function _(){return!0===e.autogrow||["textarea","text","search","url","tel","password"].includes(e.type)}function w(){if(S(),!0===y.value){const t=E(A(e.modelValue));return!1!==e.fillMask?$(t):t}return e.modelValue}function x(e){if(e-1){for(let o=e-n.length;o>0;o--)t+=f;n=n.slice(0,o)+t+n.slice(o)}return n}function S(){if(y.value=void 0!==e.mask&&0!==e.mask.length&&_(),!1===y.value)return h=void 0,u="",void(p="");const t=void 0===a[e.mask]?e.mask:a[e.mask],n="string"===typeof e.fillMask&&0!==e.fillMask.length?e.fillMask.slice(0,1):"_",o=n.replace(d,"\\$&"),i=[],r=[],l=[];let m=!0===e.reverseFillMask,g="",b="";t.replace(c,((e,t,n,o,a)=>{if(void 0!==o){const e=s[o];l.push(e),b=e.negate,!0===m&&(r.push("(?:"+b+"+)?("+e.pattern+"+)?(?:"+b+"+)?("+e.pattern+"+)?"),m=!1),r.push("(?:"+b+"+)?("+e.pattern+")?")}else if(void 0!==n)g="\\"+("\\"===n?"":n),l.push(n),i.push("([^"+g+"]+)?"+g+"?");else{const e=void 0!==t?t:a;g="\\"===e?"\\\\\\\\":e.replace(d,"\\\\$&"),l.push(e),i.push("([^"+g+"]+)?"+g+"?")}}));const w=new RegExp("^"+i.join("")+"("+(""===g?".":"[^"+g+"]")+"+)?"+(""===g?"":"["+g+"]*")+"$"),x=r.length-1,S=r.map(((t,n)=>0===n&&!0===e.reverseFillMask?new RegExp("^"+o+"*"+t):n===x?new RegExp("^"+t+"("+(""===b?".":b)+"+)?"+(!0===e.reverseFillMask?"$":o+"*")):new RegExp("^"+t)));v=l,h=t=>{const n=w.exec(!0===e.reverseFillMask?t:t.slice(0,l.length+1));null!==n&&(t=n.slice(1).join(""));const o=[],i=S.length;for(let e=0,r=t;e"string"===typeof e?e:f)).join(""),p=u.split(f).join(n)}function k(t,i,l){const a=r.value,s=a.selectionEnd,c=a.value.length-s,d=A(t);!0===i&&S();const v=E(d),h=!1!==e.fillMask?$(v):v,g=b.value!==h;a.value!==h&&(a.value=h),!0===g&&(b.value=h),document.activeElement===a&&(0,o.Y3)((()=>{if(h!==p)if("insertFromPaste"!==l||!0===e.reverseFillMask)if(["deleteContentBackward","deleteContentForward"].indexOf(l)>-1){const t=!0===e.reverseFillMask?0===s?h.length>v.length?1:0:Math.max(0,h.length-(h===p?0:Math.min(v.length,c)+1))+1:s;a.setSelectionRange(t,t,"forward")}else if(!0===e.reverseFillMask)if(!0===g){const e=Math.max(0,h.length-(h===p?0:Math.min(v.length,c+1)));1===e&&1===s?a.setSelectionRange(e,e,"forward"):q.rightReverse(a,e)}else{const e=h.length-c;a.setSelectionRange(e,e,"backward")}else if(!0===g){const e=Math.max(0,u.indexOf(f),Math.min(v.length,s)-1);q.right(a,e)}else{const e=s-1;q.right(a,e)}else{const e=a.selectionEnd;let t=s-1;for(let n=m;n<=t&&ne.type+e.autogrow),S),(0,o.YP)((()=>e.mask),(n=>{if(void 0!==n)k(b.value,!0);else{const n=A(b.value);S(),e.modelValue!==n&&t("update:modelValue",n)}})),(0,o.YP)((()=>e.fillMask+e.reverseFillMask),(()=>{!0===y.value&&k(b.value,!0)})),(0,o.YP)((()=>e.unmaskedValue),(()=>{!0===y.value&&k(b.value)}));const q={left(e,t){const n=-1===u.slice(t-1).indexOf(f);let o=Math.max(0,t-1);for(;o>=0;o--)if(u[o]===f){t=o,!0===n&&t++;break}if(o<0&&void 0!==u[t]&&u[t]!==f)return q.right(e,0);t>=0&&e.setSelectionRange(t,t,"backward")},right(e,t){const n=e.value.length;let o=Math.min(n,t+1);for(;o<=n;o++){if(u[o]===f){t=o;break}u[o-1]===f&&(t=o)}if(o>n&&void 0!==u[t-1]&&u[t-1]!==f)return q.left(e,n);e.setSelectionRange(t,t,"forward")},leftReverse(e,t){const n=x(e.value.length);let o=Math.max(0,t-1);for(;o>=0;o--){if(n[o-1]===f){t=o;break}if(n[o]===f&&(t=o,0===o))break}if(o<0&&void 0!==n[t]&&n[t]!==f)return q.rightReverse(e,0);t>=0&&e.setSelectionRange(t,t,"backward")},rightReverse(e,t){const n=e.value.length,o=x(n),i=-1===o.slice(0,t+1).indexOf(f);let r=Math.min(n,t+1);for(;r<=n;r++)if(o[r-1]===f){t=r,t>0&&!0===i&&t--;break}if(r>n&&void 0!==o[t-1]&&o[t-1]!==f)return q.leftReverse(e,n);e.setSelectionRange(t,t,"forward")}};function F(e){t("click",e),g=void 0}function O(n){if(t("keydown",n),!0===(0,l.Wm)(n)||!0===n.altKey)return;const o=r.value,i=o.selectionStart,a=o.selectionEnd;if(n.shiftKey||(g=void 0),37===n.keyCode||39===n.keyCode){n.shiftKey&&void 0===g&&(g="forward"===o.selectionDirection?i:a);const t=q[(39===n.keyCode?"right":"left")+(!0===e.reverseFillMask?"Reverse":"")];if(n.preventDefault(),t(o,g===i?a:i),n.shiftKey){const e=o.selectionStart;o.setSelectionRange(Math.min(g,e),Math.max(g,e),"forward")}}else 8===n.keyCode&&!0!==e.reverseFillMask&&i===a?(q.left(o,i),o.setSelectionRange(o.selectionStart,a,"backward")):46===n.keyCode&&!0===e.reverseFillMask&&i===a&&(q.rightReverse(o,a),o.setSelectionRange(i,o.selectionEnd,"forward"))}function E(t){if(void 0===t||null===t||""===t)return"";if(!0===e.reverseFillMask)return T(t);const n=v;let o=0,i="";for(let e=0;e=0&&o>-1;r--){const l=t[r];let a=e[o];if("string"===typeof l)i=l+i,a===l&&o--;else{if(void 0===a||!l.regex.test(a))return i;do{i=(void 0!==l.transform?l.transform(a):a)+i,o--,a=e[o]}while(n===r&&void 0!==a&&l.regex.test(a))}}return i}function A(e){return"string"!==typeof e||void 0===h?"number"===typeof e?h(""+e):e:h(e)}function $(t){return p.length-t.length<=0?t:!0===e.reverseFillMask&&0!==t.length?p.slice(0,-t.length)+t:t+p.slice(t.length)}return{innerValue:b,hasMask:y,moveCursorForPaste:C,updateMaskValue:k,onMaskedKeydown:O,onMaskedClick:F}}var h=n(9724),m=n(9976),g=n(447),y=n(3856),b=n(3027),_=n(6146),w=n(3613),x=(0,y.L)({name:"QInput",inheritAttrs:!1,props:{...r.Cl,...p,...h.Fz,modelValue:{required:!1},shadowText:String,type:{type:String,default:"text"},debounce:[String,Number],autogrow:Boolean,inputClass:[Array,String,Object],inputStyle:[Array,String,Object]},emits:[...r.HJ,"paste","change","keydown","click","animationend"],setup(e,{emit:t,attrs:n}){const{proxy:l}=(0,o.FN)(),{$q:a}=l,s={};let u,c,d,f=NaN,p=null;const y=(0,i.iH)(null),x=(0,h.Do)(e),{innerValue:S,hasMask:k,moveCursorForPaste:C,updateMaskValue:q,onMaskedKeydown:F,onMaskedClick:O}=v(e,t,H,y),E=(0,m.Z)(e,!0),T=(0,o.Fl)((()=>(0,r.yV)(S.value))),A=(0,g.Z)(N),$=(0,r.tL)(),L=(0,o.Fl)((()=>"textarea"===e.type||!0===e.autogrow)),P=(0,o.Fl)((()=>!0===L.value||["text","search","url","tel","password"].includes(e.type))),R=(0,o.Fl)((()=>{const t={...$.splitAttrs.listeners.value,onInput:N,onPaste:B,onChange:D,onBlur:Z,onFocus:b.sT};return t.onCompositionstart=t.onCompositionupdate=t.onCompositionend=A,!0===k.value&&(t.onKeydown=F,t.onClick=O),!0===e.autogrow&&(t.onAnimationend=I),t})),M=(0,o.Fl)((()=>{const t={tabindex:0,"data-autofocus":!0===e.autofocus||void 0,rows:"textarea"===e.type?6:void 0,"aria-label":e.label,name:x.value,...$.splitAttrs.attributes.value,id:$.targetUid.value,maxlength:e.maxlength,disabled:!0===e.disable,readonly:!0===e.readonly};return!1===L.value&&(t.type=e.type),!0===e.autogrow&&(t.rows=1),t}));function j(){(0,_.jd)((()=>{const e=document.activeElement;null===y.value||y.value===e||null!==e&&e.id===$.targetUid.value||y.value.focus({preventScroll:!0})}))}function V(){null!==y.value&&y.value.select()}function B(n){if(!0===k.value&&!0!==e.reverseFillMask){const e=n.target;C(e,e.selectionStart,e.selectionEnd)}t("paste",n)}function N(n){if(!n||!n.target)return;if("file"===e.type)return void t("update:modelValue",n.target.files);const i=n.target.value;if(!0!==n.target.qComposing){if(!0===k.value)q(i,!1,n.inputType);else if(H(i),!0===P.value&&n.target===document.activeElement){const{selectionStart:e,selectionEnd:t}=n.target;void 0!==e&&void 0!==t&&(0,o.Y3)((()=>{n.target===document.activeElement&&0===i.indexOf(n.target.value)&&n.target.setSelectionRange(e,t)}))}!0===e.autogrow&&z()}else s.value=i}function I(e){t("animationend",e),z()}function H(n,i){d=()=>{p=null,"number"!==e.type&&!0===s.hasOwnProperty("value")&&delete s.value,e.modelValue!==n&&f!==n&&(f=n,!0===i&&(c=!0),t("update:modelValue",n),(0,o.Y3)((()=>{f===n&&(f=NaN)}))),d=void 0},"number"===e.type&&(u=!0,s.value=n),void 0!==e.debounce?(null!==p&&clearTimeout(p),s.value=n,p=setTimeout(d,e.debounce)):d()}function z(){requestAnimationFrame((()=>{const e=y.value;if(null!==e){const t=e.parentNode.style,{scrollTop:n}=e,{overflowY:o,maxHeight:i}=!0===a.platform.is.firefox?{}:window.getComputedStyle(e),r=void 0!==o&&"scroll"!==o;!0===r&&(e.style.overflowY="hidden"),t.marginBottom=e.scrollHeight-1+"px",e.style.height="1px",e.style.height=e.scrollHeight+"px",!0===r&&(e.style.overflowY=parseInt(i,10){null!==y.value&&(y.value.value=void 0!==S.value?S.value:"")}))}function U(){return!0===s.hasOwnProperty("value")?s.value:void 0!==S.value?S.value:""}(0,o.YP)((()=>e.type),(()=>{y.value&&(y.value.value=e.modelValue)})),(0,o.YP)((()=>e.modelValue),(t=>{if(!0===k.value){if(!0===c&&(c=!1,String(t)===f))return;q(t)}else S.value!==t&&(S.value=t,"number"===e.type&&!0===s.hasOwnProperty("value")&&(!0===u?u=!1:delete s.value));!0===e.autogrow&&(0,o.Y3)(z)})),(0,o.YP)((()=>e.autogrow),(e=>{!0===e?(0,o.Y3)(z):null!==y.value&&n.rows>0&&(y.value.style.height="auto")})),(0,o.YP)((()=>e.dense),(()=>{!0===e.autogrow&&(0,o.Y3)(z)})),(0,o.Jd)((()=>{Z()})),(0,o.bv)((()=>{!0===e.autogrow&&z()})),Object.assign($,{innerValue:S,fieldClass:(0,o.Fl)((()=>"q-"+(!0===L.value?"textarea":"input")+(!0===e.autogrow?" q-textarea--autogrow":""))),hasShadow:(0,o.Fl)((()=>"file"!==e.type&&"string"===typeof e.shadowText&&0!==e.shadowText.length)),inputRef:y,emitValue:H,hasValue:T,floatingLabel:(0,o.Fl)((()=>!0===T.value&&("number"!==e.type||!1===isNaN(S.value))||(0,r.yV)(e.displayValue))),getControl:()=>(0,o.h)(!0===L.value?"textarea":"input",{ref:y,class:["q-field__native q-placeholder",e.inputClass],style:e.inputStyle,...M.value,...R.value,..."file"!==e.type?{value:U()}:E.value}),getShadowControl:()=>(0,o.h)("div",{class:"q-field__native q-field__shadow absolute-bottom no-pointer-events"+(!0===L.value?"":" text-no-wrap")},[(0,o.h)("span",{class:"invisible"},U()),(0,o.h)("span",e.shadowText)])});const K=(0,r.ZP)($);return Object.assign(l,{focus:j,select:V,getNativeElement:()=>y.value}),(0,w.g)(l,"nativeEl",(()=>y.value)),K}})},5246:function(e,t,n){"use strict";var o=n(9269),i=n(6237),r=n(6597),l=n(2453),a=n(3856),s=n(64),u=n(3027),c=n(6809);t.Z=(0,a.L)({name:"QItem",props:{...r.S,...l.$,tag:{type:String,default:"div"},active:{type:Boolean,default:null},clickable:Boolean,dense:Boolean,insetLevel:Number,tabindex:[String,Number],focused:Boolean,manualFocus:Boolean},emits:["click","keyup"],setup(e,{slots:t,emit:n}){const{proxy:{$q:a}}=(0,o.FN)(),d=(0,r.Z)(e,a),{hasLink:f,linkAttrs:p,linkClass:v,linkTag:h,navigateOnClick:m}=(0,l.Z)(),g=(0,i.iH)(null),y=(0,i.iH)(null),b=(0,o.Fl)((()=>!0===e.clickable||!0===f.value||"label"===e.tag)),_=(0,o.Fl)((()=>!0!==e.disable&&!0===b.value)),w=(0,o.Fl)((()=>"q-item q-item-type row no-wrap"+(!0===e.dense?" q-item--dense":"")+(!0===d.value?" q-item--dark":"")+(!0===f.value&&null===e.active?v.value:!0===e.active?" q-item--active"+(void 0!==e.activeClass?` ${e.activeClass}`:""):"")+(!0===e.disable?" disabled":"")+(!0===_.value?" q-item--clickable q-link cursor-pointer "+(!0===e.manualFocus?"q-manual-focusable":"q-focusable q-hoverable")+(!0===e.focused?" q-manual-focusable--focused":""):""))),x=(0,o.Fl)((()=>{if(void 0===e.insetLevel)return null;const t=!0===a.lang.rtl?"Right":"Left";return{["padding"+t]:16+56*e.insetLevel+"px"}}));function S(e){!0===_.value&&(null!==y.value&&(!0!==e.qKeyEvent&&document.activeElement===g.value?y.value.focus():document.activeElement===y.value&&g.value.focus()),m(e))}function k(e){if(!0===_.value&&!0===(0,c.So)(e,[13,32])){(0,u.NS)(e),e.qKeyEvent=!0;const t=new MouseEvent("click",e);t.qKeyEvent=!0,g.value.dispatchEvent(t)}n("keyup",e)}function C(){const e=(0,s.Bl)(t.default,[]);return!0===_.value&&e.unshift((0,o.h)("div",{class:"q-focus-helper",tabindex:-1,ref:y})),e}return()=>{const t={ref:g,class:w.value,style:x.value,role:"listitem",onClick:S,onKeyup:k};return!0===_.value?(t.tabindex=e.tabindex||"0",Object.assign(t,p.value)):!0===b.value&&(t["aria-disabled"]="true"),(0,o.h)(h.value,t,C())}}})},2278:function(e,t,n){"use strict";var o=n(9269),i=n(3856),r=n(64);t.Z=(0,i.L)({name:"QItemSection",props:{avatar:Boolean,thumbnail:Boolean,side:Boolean,top:Boolean,noWrap:Boolean},setup(e,{slots:t}){const n=(0,o.Fl)((()=>"q-item__section column q-item__section--"+(!0===e.avatar||!0===e.side||!0===e.thumbnail?"side":"main")+(!0===e.top?" q-item__section--top justify-start":" justify-center")+(!0===e.avatar?" q-item__section--avatar":"")+(!0===e.thumbnail?" q-item__section--thumbnail":"")+(!0===e.noWrap?" q-item__section--nowrap":"")));return()=>(0,o.h)("div",{class:n.value},(0,r.KR)(t.default))}})},2146:function(e,t,n){"use strict";var o=n(9269),i=n(3856),r=n(6597),l=n(64);t.Z=(0,i.L)({name:"QList",props:{...r.S,bordered:Boolean,dense:Boolean,separator:Boolean,padding:Boolean,tag:{type:String,default:"div"}},setup(e,{slots:t}){const n=(0,o.FN)(),i=(0,r.Z)(e,n.proxy.$q),a=(0,o.Fl)((()=>"q-list"+(!0===e.bordered?" q-list--bordered":"")+(!0===e.dense?" q-list--dense":"")+(!0===e.separator?" q-list--separator":"")+(!0===i.value?" q-list--dark":"")+(!0===e.padding?" q-list--padding":"")));return()=>(0,o.h)(e.tag,{class:a.value},(0,l.KR)(t.default))}})},2446:function(e,t,n){"use strict";n.d(t,{Z:function(){return h}});var o=n(9269),i=n(6237),r=n(1013),l=n(3856),a=n(7336),s=n(3027);const{passive:u}=s.listenOpts,c=["both","horizontal","vertical"];var d=(0,l.L)({name:"QScrollObserver",props:{axis:{type:String,validator:e=>c.includes(e),default:"vertical"},debounce:[String,Number],scrollTarget:{default:void 0}},emits:["scroll"],setup(e,{emit:t}){const n={position:{top:0,left:0},direction:"down",directionChanged:!1,delta:{top:0,left:0},inflectionPoint:{top:0,left:0}};let i,r,l=null;function c(){null!==l&&l();const o=Math.max(0,(0,a.u3)(i)),r=(0,a.OI)(i),s={top:o-n.position.top,left:r-n.position.left};if("vertical"===e.axis&&0===s.top||"horizontal"===e.axis&&0===s.left)return;const u=Math.abs(s.top)>=Math.abs(s.left)?s.top<0?"up":"down":s.left<0?"left":"right";n.position={top:o,left:r},n.directionChanged=n.direction!==u,n.delta=s,!0===n.directionChanged&&(n.direction=u,n.inflectionPoint=n.position),t("scroll",{...n})}function d(){i=(0,a.b0)(r,e.scrollTarget),i.addEventListener("scroll",p,u),p(!0)}function f(){void 0!==i&&(i.removeEventListener("scroll",p,u),i=void 0)}function p(t){if(!0===t||0===e.debounce||"0"===e.debounce)c();else if(null===l){const[t,n]=e.debounce?[setTimeout(c,e.debounce),clearTimeout]:[requestAnimationFrame(c),cancelAnimationFrame];l=()=>{n(t),l=null}}}(0,o.YP)((()=>e.scrollTarget),(()=>{f(),d()}));const{proxy:v}=(0,o.FN)();return(0,o.YP)((()=>v.$q.lang.rtl),c),(0,o.bv)((()=>{r=v.$el.parentNode,d()})),(0,o.Jd)((()=>{null!==l&&l(),f()})),Object.assign(v,{trigger:p,getPosition:()=>n}),s.ZT}}),f=n(5722),p=n(64),v=n(4300),h=(0,l.L)({name:"QLayout",props:{container:Boolean,view:{type:String,default:"hhh lpr fff",validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:t,emit:n}){const{proxy:{$q:l}}=(0,o.FN)(),s=(0,i.iH)(null),u=(0,i.iH)(l.screen.height),c=(0,i.iH)(!0===e.container?0:l.screen.width),h=(0,i.iH)({position:0,direction:"down",inflectionPoint:0}),m=(0,i.iH)(0),g=(0,i.iH)(!0===r.uX.value?0:(0,a.np)()),y=(0,o.Fl)((()=>"q-layout q-layout--"+(!0===e.container?"containerized":"standard"))),b=(0,o.Fl)((()=>!1===e.container?{minHeight:l.screen.height+"px"}:null)),_=(0,o.Fl)((()=>0!==g.value?{[!0===l.lang.rtl?"left":"right"]:`${g.value}px`}:null)),w=(0,o.Fl)((()=>0!==g.value?{[!0===l.lang.rtl?"right":"left"]:0,[!0===l.lang.rtl?"left":"right"]:`-${g.value}px`,width:`calc(100% + ${g.value}px)`}:null));function x(t){if(!0===e.container||!0!==document.qScrollPrevented){const o={position:t.position.top,direction:t.direction,directionChanged:t.directionChanged,inflectionPoint:t.inflectionPoint.top,delta:t.delta.top};h.value=o,void 0!==e.onScroll&&n("scroll",o)}}function S(t){const{height:o,width:i}=t;let r=!1;u.value!==o&&(r=!0,u.value=o,void 0!==e.onScrollHeight&&n("scrollHeight",o),C()),c.value!==i&&(r=!0,c.value=i),!0===r&&void 0!==e.onResize&&n("resize",t)}function k({height:e}){m.value!==e&&(m.value=e,C())}function C(){if(!0===e.container){const e=u.value>m.value?(0,a.np)():0;g.value!==e&&(g.value=e)}}let q=null;const F={instances:{},view:(0,o.Fl)((()=>e.view)),isContainer:(0,o.Fl)((()=>e.container)),rootRef:s,height:u,containerHeight:m,scrollbarWidth:g,totalWidth:(0,o.Fl)((()=>c.value+g.value)),rows:(0,o.Fl)((()=>{const t=e.view.toLowerCase().split(" ");return{top:t[0].split(""),middle:t[1].split(""),bottom:t[2].split("")}})),header:(0,i.qj)({size:0,offset:0,space:!1}),right:(0,i.qj)({size:300,offset:0,space:!1}),footer:(0,i.qj)({size:0,offset:0,space:!1}),left:(0,i.qj)({size:300,offset:0,space:!1}),scroll:h,animate(){null!==q?clearTimeout(q):document.body.classList.add("q-body--layout-animate"),q=setTimeout((()=>{q=null,document.body.classList.remove("q-body--layout-animate")}),155)},update(e,t,n){F[e][t]=n}};if((0,o.JJ)(v.YE,F),(0,a.np)()>0){let O=null;const E=document.body;function T(){O=null,E.classList.remove("hide-scrollbar")}function A(){if(null===O){if(E.scrollHeight>l.screen.height)return;E.classList.add("hide-scrollbar")}else clearTimeout(O);O=setTimeout(T,300)}function $(e){null!==O&&"remove"===e&&(clearTimeout(O),T()),window[`${e}EventListener`]("resize",A)}(0,o.YP)((()=>!0!==e.container?"add":"remove"),$),!0!==e.container&&$("add"),(0,o.Ah)((()=>{$("remove")}))}return()=>{const n=(0,p.vs)(t.default,[(0,o.h)(d,{onScroll:x}),(0,o.h)(f.Z,{onResize:S})]),i=(0,o.h)("div",{class:y.value,style:b.value,ref:!0===e.container?void 0:s,tabindex:-1},n);return!0===e.container?(0,o.h)("div",{class:"q-layout-container overflow-hidden",ref:s},[(0,o.h)(f.Z,{onResize:k}),(0,o.h)("div",{class:"absolute-full",style:_.value},[(0,o.h)("div",{class:"scroll",style:w.value},[i])])]):i}}})},6353:function(e,t,n){"use strict";n(121);var o=n(9269),i=n(6597),r=n(505),l=n(3856),a=n(64);const s={xs:2,sm:4,md:6,lg:10,xl:14};function u(e,t,n){return{transform:!0===t?`translateX(${!0===n.lang.rtl?"-":""}100%) scale3d(${-e},1,1)`:`scale3d(${e},1,1)`}}t.Z=(0,l.L)({name:"QLinearProgress",props:{...i.S,...r.LU,value:{type:Number,default:0},buffer:Number,color:String,trackColor:String,reverse:Boolean,stripe:Boolean,indeterminate:Boolean,query:Boolean,rounded:Boolean,animationSpeed:{type:[String,Number],default:2100},instantFeedback:Boolean},setup(e,{slots:t}){const{proxy:n}=(0,o.FN)(),l=(0,i.Z)(e,n.$q),c=(0,r.ZP)(e,s),d=(0,o.Fl)((()=>!0===e.indeterminate||!0===e.query)),f=(0,o.Fl)((()=>e.reverse!==e.query)),p=(0,o.Fl)((()=>({...null!==c.value?c.value:{},"--q-linear-progress-speed":`${e.animationSpeed}ms`}))),v=(0,o.Fl)((()=>"q-linear-progress"+(void 0!==e.color?` text-${e.color}`:"")+(!0===e.reverse||!0===e.query?" q-linear-progress--reverse":"")+(!0===e.rounded?" rounded-borders":""))),h=(0,o.Fl)((()=>u(void 0!==e.buffer?e.buffer:1,f.value,n.$q))),m=(0,o.Fl)((()=>`with${!0===e.instantFeedback?"out":""}-transition`)),g=(0,o.Fl)((()=>`q-linear-progress__track absolute-full q-linear-progress__track--${m.value} q-linear-progress__track--`+(!0===l.value?"dark":"light")+(void 0!==e.trackColor?` bg-${e.trackColor}`:""))),y=(0,o.Fl)((()=>u(!0===d.value?1:e.value,f.value,n.$q))),b=(0,o.Fl)((()=>`q-linear-progress__model absolute-full q-linear-progress__model--${m.value} q-linear-progress__model--${!0===d.value?"in":""}determinate`)),_=(0,o.Fl)((()=>({width:100*e.value+"%"}))),w=(0,o.Fl)((()=>"q-linear-progress__stripe absolute-"+(!0===e.reverse?"right":"left")+` q-linear-progress__stripe--${m.value}`));return()=>{const n=[(0,o.h)("div",{class:g.value,style:h.value}),(0,o.h)("div",{class:b.value,style:y.value})];return!0===e.stripe&&!1===d.value&&n.push((0,o.h)("div",{class:w.value,style:_.value})),(0,o.h)("div",{class:v.value,style:p.value,role:"progressbar","aria-valuemin":0,"aria-valuemax":1,"aria-valuenow":!0===e.indeterminate?void 0:e.value},(0,a.vs)(t.default,n))}}})},2952:function(e,t,n){"use strict";n.d(t,{Z:function(){return Z}});var o=n(9269),i=n(6237),r=n(5102),l=n(1307),a=n(3027),s=n(6809);const u={target:{default:!0},noParentEvent:Boolean,contextMenu:Boolean};function c({showing:e,avoidEmit:t,configureAnchorEl:n}){const{props:r,proxy:u,emit:c}=(0,o.FN)(),d=(0,i.iH)(null);let f=null;function p(e){return null!==d.value&&(void 0===e||void 0===e.touches||e.touches.length<=1)}const v={};function h(){(0,a.ul)(v,"anchor")}function m(e){d.value=e;while(d.value.classList.contains("q-anchor--skip"))d.value=d.value.parentNode;n()}function g(){if(!1===r.target||""===r.target||null===u.$el.parentNode)d.value=null;else if(!0===r.target)m(u.$el.parentNode);else{let t=r.target;if("string"===typeof r.target)try{t=document.querySelector(r.target)}catch(e){t=void 0}void 0!==t&&null!==t?(d.value=t.$el||t,n()):(d.value=null,console.error(`Anchor: target "${r.target}" not found`))}}return void 0===n&&(Object.assign(v,{hide(e){u.hide(e)},toggle(e){u.toggle(e),e.qAnchorHandled=!0},toggleKey(e){!0===(0,s.So)(e,13)&&v.toggle(e)},contextClick(e){u.hide(e),(0,a.X$)(e),(0,o.Y3)((()=>{u.show(e),e.qAnchorHandled=!0}))},prevent:a.X$,mobileTouch(e){if(v.mobileCleanup(e),!0!==p(e))return;u.hide(e),d.value.classList.add("non-selectable");const t=e.target;(0,a.M0)(v,"anchor",[[t,"touchmove","mobileCleanup","passive"],[t,"touchend","mobileCleanup","passive"],[t,"touchcancel","mobileCleanup","passive"],[d.value,"contextmenu","prevent","notPassive"]]),f=setTimeout((()=>{f=null,u.show(e),e.qAnchorHandled=!0}),300)},mobileCleanup(t){d.value.classList.remove("non-selectable"),null!==f&&(clearTimeout(f),f=null),!0===e.value&&void 0!==t&&(0,l.M)()}}),n=function(e=r.contextMenu){if(!0===r.noParentEvent||null===d.value)return;let t;t=!0===e?!0===u.$q.platform.is.mobile?[[d.value,"touchstart","mobileTouch","passive"]]:[[d.value,"mousedown","hide","passive"],[d.value,"contextmenu","contextClick","notPassive"]]:[[d.value,"click","toggle","passive"],[d.value,"keyup","toggleKey","passive"]],(0,a.M0)(v,"anchor",t)}),(0,o.YP)((()=>r.contextMenu),(e=>{null!==d.value&&(h(),n(e))})),(0,o.YP)((()=>r.target),(()=>{null!==d.value&&h(),g()})),(0,o.YP)((()=>r.noParentEvent),(e=>{null!==d.value&&(!0===e?h():n())})),(0,o.bv)((()=>{g(),!0!==t&&!0===r.modelValue&&null===d.value&&c("update:modelValue",!1)})),(0,o.Jd)((()=>{null!==f&&clearTimeout(f),h()})),{anchorEl:d,canShow:p,anchorEvents:v}}function d(e,t){const n=(0,i.iH)(null);let r;function l(e,t){const n=(void 0!==t?"add":"remove")+"EventListener",o=void 0!==t?t:r;e!==window&&e[n]("scroll",o,a.listenOpts.passive),window[n]("scroll",o,a.listenOpts.passive),r=t}function s(){null!==n.value&&(l(n.value),n.value=null)}const u=(0,o.YP)((()=>e.noParentEvent),(()=>{null!==n.value&&(s(),t())}));return(0,o.Jd)(u),{localScrollTarget:n,unconfigureScrollTarget:s,changeScrollEvent:l}}var f=n(9216),p=n(6597),v=n(3852),h=n(959),m=n(6775),g=n(7933),y=n(3856),b=n(1761),_=n(7336),w=n(64),x=n(1135),S=n(7001),k=n(6145);n(121);let C=null;const{notPassiveCapture:q}=a.listenOpts,F=[];function O(e){null!==C&&(clearTimeout(C),C=null);const t=e.target;if(void 0===t||8===t.nodeType||!0===t.classList.contains("no-pointer-events"))return;let n=b.Q$.length-1;while(n>=0){const e=b.Q$[n].$;if("QTooltip"!==e.type.name){if("QDialog"!==e.type.name)break;if(!0!==e.props.seamless)return;n--}else n--}for(let o=F.length-1;o>=0;o--){const n=F[o];if(null!==n.anchorEl.value&&!1!==n.anchorEl.value.contains(t)||t!==document.body&&(null===n.innerRef.value||!1!==n.innerRef.value.contains(t)))return;e.qClickOutside=!0,n.onClickOutside(e)}}function E(e){F.push(e),1===F.length&&(document.addEventListener("mousedown",O,q),document.addEventListener("touchstart",O,q))}function T(e){const t=F.findIndex((t=>t===e));t>-1&&(F.splice(t,1),0===F.length&&(null!==C&&(clearTimeout(C),C=null),document.removeEventListener("mousedown",O,q),document.removeEventListener("touchstart",O,q)))}var A=n(6146),$=n(1013);let L,P;function R(e){const t=e.split(" ");return 2===t.length&&(!0!==["top","center","bottom"].includes(t[0])?(console.error("Anchor/Self position must start with one of top/center/bottom"),!1):!0===["left","middle","right","start","end"].includes(t[1])||(console.error("Anchor/Self position must end with one of left/middle/right/start/end"),!1))}function M(e){return!e||2===e.length&&("number"===typeof e[0]&&"number"===typeof e[1])}const j={"start#ltr":"left","start#rtl":"right","end#ltr":"right","end#rtl":"left"};function V(e,t){const n=e.split(" ");return{vertical:n[0],horizontal:j[`${n[1]}#${!0===t?"rtl":"ltr"}`]}}function B(e,t){let{top:n,left:o,right:i,bottom:r,width:l,height:a}=e.getBoundingClientRect();return void 0!==t&&(n-=t[1],o-=t[0],r+=t[1],i+=t[0],l+=t[0],a+=t[1]),{top:n,bottom:r,height:a,left:o,right:i,width:l,middle:o+(i-o)/2,center:n+(r-n)/2}}function N(e,t,n){let{top:o,left:i}=e.getBoundingClientRect();return o+=t.top,i+=t.left,void 0!==n&&(o+=n[1],i+=n[0]),{top:o,bottom:o+1,height:1,left:i,right:i+1,width:1,middle:i,center:o}}function I(e,t){return{top:0,center:t/2,bottom:t,left:0,middle:e/2,right:e}}function H(e,t,n,o){return{top:e[n.vertical]-t[o.vertical],left:e[n.horizontal]-t[o.horizontal]}}function z(e,t=0){if(null===e.targetEl||null===e.anchorEl||t>5)return;if(0===e.targetEl.offsetHeight||0===e.targetEl.offsetWidth)return void setTimeout((()=>{z(e,t+1)}),10);const{targetEl:n,offset:o,anchorEl:i,anchorOrigin:r,selfOrigin:l,absoluteOffset:a,fit:s,cover:u,maxHeight:c,maxWidth:d}=e;if(!0===$.client.is.ios&&void 0!==window.visualViewport){const e=document.body.style,{offsetLeft:t,offsetTop:n}=window.visualViewport;t!==L&&(e.setProperty("--q-pe-left",t+"px"),L=t),n!==P&&(e.setProperty("--q-pe-top",n+"px"),P=n)}const{scrollLeft:f,scrollTop:p}=n,v=void 0===a?B(i,!0===u?[0,0]:o):N(i,a,o);Object.assign(n.style,{top:0,left:0,minWidth:null,minHeight:null,maxWidth:d||"100vw",maxHeight:c||"100vh",visibility:"visible"});const{offsetWidth:h,offsetHeight:m}=n,{elWidth:g,elHeight:y}=!0===s||!0===u?{elWidth:Math.max(v.width,h),elHeight:!0===u?Math.max(v.height,m):m}:{elWidth:h,elHeight:m};let b={maxWidth:d,maxHeight:c};!0!==s&&!0!==u||(b.minWidth=v.width+"px",!0===u&&(b.minHeight=v.height+"px")),Object.assign(n.style,b);const _=I(g,y);let w=H(v,_,r,l);if(void 0===a||void 0===o)D(w,v,_,r,l);else{const{top:e,left:t}=w;D(w,v,_,r,l);let n=!1;if(w.top!==e){n=!0;const e=2*o[1];v.center=v.top-=e,v.bottom-=e+2}if(w.left!==t){n=!0;const e=2*o[0];v.middle=v.left-=e,v.right-=e+2}!0===n&&(w=H(v,_,r,l),D(w,v,_,r,l))}b={top:w.top+"px",left:w.left+"px"},void 0!==w.maxHeight&&(b.maxHeight=w.maxHeight+"px",v.height>w.maxHeight&&(b.minHeight=b.maxHeight)),void 0!==w.maxWidth&&(b.maxWidth=w.maxWidth+"px",v.width>w.maxWidth&&(b.minWidth=b.maxWidth)),Object.assign(n.style,b),n.scrollTop!==p&&(n.scrollTop=p),n.scrollLeft!==f&&(n.scrollLeft=f)}function D(e,t,n,o,i){const r=n.bottom,l=n.right,a=(0,_.np)(),s=window.innerHeight-a,u=document.body.clientWidth;if(e.top<0||e.top+r>s)if("center"===i.vertical)e.top=t[o.vertical]>s/2?Math.max(0,s-r):0,e.maxHeight=Math.min(r,s);else if(t[o.vertical]>s/2){const n=Math.min(s,"center"===o.vertical?t.center:o.vertical===i.vertical?t.bottom:t.top);e.maxHeight=Math.min(r,n),e.top=Math.max(0,n-r)}else e.top=Math.max(0,"center"===o.vertical?t.center:o.vertical===i.vertical?t.top:t.bottom),e.maxHeight=Math.min(r,s-e.top);if(e.left<0||e.left+l>u)if(e.maxWidth=Math.min(l,u),"middle"===i.horizontal)e.left=t[o.horizontal]>u/2?Math.max(0,u-l):0;else if(t[o.horizontal]>u/2){const n=Math.min(u,"middle"===o.horizontal?t.middle:o.horizontal===i.horizontal?t.right:t.left);e.maxWidth=Math.min(l,n),e.left=Math.max(0,n-e.maxWidth)}else e.left=Math.max(0,"middle"===o.horizontal?t.middle:o.horizontal===i.horizontal?t.left:t.right),e.maxWidth=Math.min(l,u-e.left)}["left","middle","right"].forEach((e=>{j[`${e}#ltr`]=e,j[`${e}#rtl`]=e}));var Z=(0,y.L)({name:"QMenu",inheritAttrs:!1,props:{...u,...f.vr,...p.S,...h.D,persistent:Boolean,autoClose:Boolean,separateClosePopup:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,fit:Boolean,cover:Boolean,square:Boolean,anchor:{type:String,validator:R},self:{type:String,validator:R},offset:{type:Array,validator:M},scrollTarget:{default:void 0},touchPosition:Boolean,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null}},emits:[...f.gH,"click","escapeKey"],setup(e,{slots:t,emit:n,attrs:l}){let s,u,y,C=null;const q=(0,o.FN)(),{proxy:F}=q,{$q:O}=F,$=(0,i.iH)(null),L=(0,i.iH)(!1),P=(0,o.Fl)((()=>!0!==e.persistent&&!0!==e.noRouteDismiss)),R=(0,p.Z)(e,O),{registerTick:M,removeTick:j}=(0,m.Z)(),{registerTimeout:B}=(0,g.Z)(),{transitionProps:N,transitionStyle:I}=(0,h.Z)(e),{localScrollTarget:H,changeScrollEvent:D,unconfigureScrollTarget:Z}=d(e,se),{anchorEl:U,canShow:K}=c({showing:L}),{hide:Y}=(0,f.ZP)({showing:L,canShow:K,handleShow:re,handleHide:le,hideOnRouteChange:P,processOnMount:!0}),{showPortal:W,hidePortal:J,renderPortal:Q}=(0,v.Z)(q,$,pe,"menu"),X={anchorEl:U,innerRef:$,onClickOutside(t){if(!0!==e.persistent&&!0===L.value)return Y(t),("touchstart"===t.type||t.target.classList.contains("q-dialog__backdrop"))&&(0,a.NS)(t),!0}},G=(0,o.Fl)((()=>V(e.anchor||(!0===e.cover?"center middle":"bottom start"),O.lang.rtl))),ee=(0,o.Fl)((()=>!0===e.cover?G.value:V(e.self||"top start",O.lang.rtl))),te=(0,o.Fl)((()=>(!0===e.square?" q-menu--square":"")+(!0===R.value?" q-menu--dark q-dark":""))),ne=(0,o.Fl)((()=>!0===e.autoClose?{onClick:ue}:{})),oe=(0,o.Fl)((()=>!0===L.value&&!0!==e.persistent));function ie(){(0,A.jd)((()=>{let e=$.value;e&&!0!==e.contains(document.activeElement)&&(e=e.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||e.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||e.querySelector("[autofocus], [data-autofocus]")||e,e.focus({preventScroll:!0}))}))}function re(t){if(C=!1===e.noRefocus?document.activeElement:null,(0,S.i)(ce),W(),se(),s=void 0,void 0!==t&&(e.touchPosition||e.contextMenu)){const e=(0,a.FK)(t);if(void 0!==e.left){const{top:t,left:n}=U.value.getBoundingClientRect();s={left:e.left-n,top:e.top-t}}}void 0===u&&(u=(0,o.YP)((()=>O.screen.width+"|"+O.screen.height+"|"+e.self+"|"+e.anchor+"|"+O.lang.rtl),fe)),!0!==e.noFocus&&document.activeElement.blur(),M((()=>{fe(),!0!==e.noFocus&&ie()})),B((()=>{!0===O.platform.is.ios&&(y=e.autoClose,$.value.click()),fe(),W(!0),n("show",t)}),e.transitionDuration)}function le(t){j(),J(),ae(!0),null===C||void 0!==t&&!0===t.qClickOutside||(((t&&0===t.type.indexOf("key")?C.closest('[tabindex]:not([tabindex^="-"])'):void 0)||C).focus(),C=null),B((()=>{J(!0),n("hide",t)}),e.transitionDuration)}function ae(e){s=void 0,void 0!==u&&(u(),u=void 0),!0!==e&&!0!==L.value||((0,S.H)(ce),Z(),T(X),(0,x.k)(de)),!0!==e&&(C=null)}function se(){null===U.value&&void 0===e.scrollTarget||(H.value=(0,_.b0)(U.value,e.scrollTarget),D(H.value,fe))}function ue(e){!0!==y?((0,b.AH)(F,e),n("click",e)):y=!1}function ce(t){!0===oe.value&&!0!==e.noFocus&&!0!==(0,k.mY)($.value,t.target)&&ie()}function de(e){n("escapeKey"),Y(e)}function fe(){z({targetEl:$.value,offset:e.offset,anchorEl:U.value,anchorOrigin:G.value,selfOrigin:ee.value,absoluteOffset:s,fit:e.fit,cover:e.cover,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}function pe(){return(0,o.h)(r.uT,N.value,(()=>!0===L.value?(0,o.h)("div",{role:"menu",...l,ref:$,tabindex:-1,class:["q-menu q-position-engine scroll"+te.value,l.class],style:[l.style,I.value],...ne.value},(0,w.KR)(t.default)):null))}return(0,o.YP)(oe,(e=>{!0===e?((0,x.c)(de),E(X)):((0,x.k)(de),T(X))})),(0,o.Jd)(ae),Object.assign(F,{focus:ie,updatePosition:fe}),Q}})},6974:function(e,t,n){"use strict";var o=n(9269),i=n(3856),r=n(64),l=n(4300);t.Z=(0,i.L)({name:"QPageContainer",setup(e,{slots:t}){const{proxy:{$q:n}}=(0,o.FN)(),i=(0,o.f3)(l.YE,l.qO);if(i===l.qO)return console.error("QPageContainer needs to be child of QLayout"),l.qO;(0,o.JJ)(l.Mw,!0);const a=(0,o.Fl)((()=>{const e={};return!0===i.header.space&&(e.paddingTop=`${i.header.size}px`),!0===i.right.space&&(e["padding"+(!0===n.lang.rtl?"Left":"Right")]=`${i.right.size}px`),!0===i.footer.space&&(e.paddingBottom=`${i.footer.size}px`),!0===i.left.space&&(e["padding"+(!0===n.lang.rtl?"Right":"Left")]=`${i.left.size}px`),e}));return()=>(0,o.h)("div",{class:"q-page-container",style:a.value},(0,r.KR)(t.default))}})},5722:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var o=n(9269),i=n(6237),r=n(1013);function l(){const e=(0,i.iH)(!r.uX.value);return!1===e.value&&(0,o.bv)((()=>{e.value=!0})),e}var a=n(3856),s=n(3027);const u="undefined"!==typeof ResizeObserver,c=!0===u?{}:{style:"display:block;position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;",url:"about:blank"};var d=(0,a.L)({name:"QResizeObserver",props:{debounce:{type:[String,Number],default:100}},emits:["resize"],setup(e,{emit:t}){let n,i=null,r={width:-1,height:-1};function a(t){!0===t||0===e.debounce||"0"===e.debounce?d():null===i&&(i=setTimeout(d,e.debounce))}function d(){if(null!==i&&(clearTimeout(i),i=null),n){const{offsetWidth:e,offsetHeight:o}=n;e===r.width&&o===r.height||(r={width:e,height:o},t("resize",r))}}const{proxy:f}=(0,o.FN)();if(!0===u){let p;const v=e=>{n=f.$el.parentNode,n?(p=new ResizeObserver(a),p.observe(n),d()):!0!==e&&(0,o.Y3)((()=>{v(!0)}))};return(0,o.bv)((()=>{v()})),(0,o.Jd)((()=>{null!==i&&clearTimeout(i),void 0!==p&&(void 0!==p.disconnect?p.disconnect():n&&p.unobserve(n))})),s.ZT}{const h=l();let m;function g(){null!==i&&(clearTimeout(i),i=null),void 0!==m&&(void 0!==m.removeEventListener&&m.removeEventListener("resize",a,s.listenOpts.passive),m=void 0)}function y(){g(),n&&n.contentDocument&&(m=n.contentDocument.defaultView,m.addEventListener("resize",a,s.listenOpts.passive),d())}return(0,o.bv)((()=>{(0,o.Y3)((()=>{n=f.$el,n&&y()}))})),(0,o.Jd)(g),f.trigger=a,()=>{if(!0===h.value)return(0,o.h)("object",{style:c.style,tabindex:-1,type:"text/html",data:c.url,"aria-hidden":"true",onLoad:y})}}}})},33:function(e,t,n){"use strict";n.d(t,{Z:function(){return V}});n(121);var o=n(9269),i=n(6237),r=n(2019),l=n(3856),a=(0,l.L)({name:"QField",inheritAttrs:!1,props:{...r.Cl,tag:{type:String,default:"label"}},emits:r.HJ,setup(){return(0,r.ZP)((0,r.tL)({requiredForAttr:!1,tagProp:!0}))}}),s=n(4633),u=n(1384),c=n(5246),d=n(2278),f=n(64),p=(0,l.L)({name:"QItemLabel",props:{overline:Boolean,caption:Boolean,header:Boolean,lines:[Number,String]},setup(e,{slots:t}){const n=(0,o.Fl)((()=>parseInt(e.lines,10))),i=(0,o.Fl)((()=>"q-item__label"+(!0===e.overline?" q-item__label--overline text-overline":"")+(!0===e.caption?" q-item__label--caption text-caption":"")+(!0===e.header?" q-item__label--header":"")+(1===n.value?" ellipsis":""))),r=(0,o.Fl)((()=>void 0!==e.lines&&n.value>1?{overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":n.value}:null));return()=>(0,o.h)("div",{style:r.value,class:i.value},(0,f.KR)(t.default))}}),v=n(2952),h=n(9833),m=n(7265),g=n(3027);let y=!1;{const e=document.createElement("div");e.setAttribute("dir","rtl"),Object.assign(e.style,{width:"1px",height:"1px",overflow:"auto"});const t=document.createElement("div");Object.assign(t.style,{width:"1000px",height:"1px"}),document.body.appendChild(e),e.appendChild(t),e.scrollLeft=-1e3,y=e.scrollLeft>=0,e.remove()}const b=1e3,_=["start","center","end","start-force","center-force","end-force"],w=Array.prototype.filter,x=void 0===window.getComputedStyle(document.body).overflowAnchor?g.ZT:function(e,t){null!==e&&(void 0!==e._qOverflowAnimationFrame&&cancelAnimationFrame(e._qOverflowAnimationFrame),e._qOverflowAnimationFrame=requestAnimationFrame((()=>{if(null===e)return;e._qOverflowAnimationFrame=void 0;const n=e.children||[];w.call(n,(e=>e.dataset&&void 0!==e.dataset.qVsAnchor)).forEach((e=>{delete e.dataset.qVsAnchor}));const o=n[t];o&&o.dataset&&(o.dataset.qVsAnchor="")})))};function S(e,t){return e+t}function k(e,t,n,o,i,r,l,a){const s=e===window?document.scrollingElement||document.documentElement:e,u=!0===i?"offsetWidth":"offsetHeight",c={scrollStart:0,scrollViewSize:-l-a,scrollMaxSize:0,offsetStart:-l,offsetEnd:-a};if(!0===i?(e===window?(c.scrollStart=window.pageXOffset||window.scrollX||document.body.scrollLeft||0,c.scrollViewSize+=document.documentElement.clientWidth):(c.scrollStart=s.scrollLeft,c.scrollViewSize+=s.clientWidth),c.scrollMaxSize=s.scrollWidth,!0===r&&(c.scrollStart=(!0===y?c.scrollMaxSize-c.scrollViewSize:0)-c.scrollStart)):(e===window?(c.scrollStart=window.pageYOffset||window.scrollY||document.body.scrollTop||0,c.scrollViewSize+=document.documentElement.clientHeight):(c.scrollStart=s.scrollTop,c.scrollViewSize+=s.clientHeight),c.scrollMaxSize=s.scrollHeight),null!==n)for(let d=n.previousElementSibling;null!==d;d=d.previousElementSibling)!1===d.classList.contains("q-virtual-scroll--skip")&&(c.offsetStart+=d[u]);if(null!==o)for(let d=o.nextElementSibling;null!==d;d=d.nextElementSibling)!1===d.classList.contains("q-virtual-scroll--skip")&&(c.offsetEnd+=d[u]);if(t!==e){const n=s.getBoundingClientRect(),o=t.getBoundingClientRect();!0===i?(c.offsetStart+=o.left-n.left,c.offsetEnd-=o.width):(c.offsetStart+=o.top-n.top,c.offsetEnd-=o.height),e!==window&&(c.offsetStart+=c.scrollStart),c.offsetEnd+=c.scrollMaxSize-c.offsetStart}return c}function C(e,t,n,o){"end"===t&&(t=(e===window?document.body:e)[!0===n?"scrollWidth":"scrollHeight"]),e===window?!0===n?(!0===o&&(t=(!0===y?document.body.scrollWidth-document.documentElement.clientWidth:0)-t),window.scrollTo(t,window.pageYOffset||window.scrollY||document.body.scrollTop||0)):window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,t):!0===n?(!0===o&&(t=(!0===y?e.scrollWidth-e.offsetWidth:0)-t),e.scrollLeft=t):e.scrollTop=t}function q(e,t,n,o){if(n>=o)return 0;const i=t.length,r=Math.floor(n/b),l=Math.floor((o-1)/b)+1;let a=e.slice(r,l).reduce(S,0);return n%b!==0&&(a-=t.slice(r*b,n).reduce(S,0)),o%b!==0&&o!==i&&(a-=t.slice(o,l*b).reduce(S,0)),a}const F={virtualScrollSliceSize:{type:[Number,String],default:null},virtualScrollSliceRatioBefore:{type:[Number,String],default:1},virtualScrollSliceRatioAfter:{type:[Number,String],default:1},virtualScrollItemSize:{type:[Number,String],default:24},virtualScrollStickySizeStart:{type:[Number,String],default:0},virtualScrollStickySizeEnd:{type:[Number,String],default:0},tableColspan:[Number,String]},O=(Object.keys(F),{virtualScrollHorizontal:Boolean,onVirtualScroll:Function,...F});function E({virtualScrollLength:e,getVirtualScrollTarget:t,getVirtualScrollEl:n,virtualScrollItemSizeComputed:r}){const l=(0,o.FN)(),{props:a,emit:s,proxy:u}=l,{$q:c}=u;let d,f,p,v,h=[];const g=(0,i.iH)(0),y=(0,i.iH)(0),F=(0,i.iH)({}),O=(0,i.iH)(null),E=(0,i.iH)(null),T=(0,i.iH)(null),A=(0,i.iH)({from:0,to:0}),$=(0,o.Fl)((()=>void 0!==a.tableColspan?a.tableColspan:100));void 0===r&&(r=(0,o.Fl)((()=>a.virtualScrollItemSize)));const L=(0,o.Fl)((()=>r.value+";"+a.virtualScrollHorizontal)),P=(0,o.Fl)((()=>L.value+";"+a.virtualScrollSliceRatioBefore+";"+a.virtualScrollSliceRatioAfter));function R(){H(f,!0)}function M(e){H(void 0===e?f:e)}function j(o,i){const r=t();if(void 0===r||null===r||8===r.nodeType)return;const l=k(r,n(),O.value,E.value,a.virtualScrollHorizontal,c.lang.rtl,a.virtualScrollStickySizeStart,a.virtualScrollStickySizeEnd);p!==l.scrollViewSize&&z(l.scrollViewSize),B(r,l,Math.min(e.value-1,Math.max(0,parseInt(o,10)||0)),0,_.indexOf(i)>-1?i:f>-1&&o>f?"end":"start")}function V(){const o=t();if(void 0===o||null===o||8===o.nodeType)return;const i=k(o,n(),O.value,E.value,a.virtualScrollHorizontal,c.lang.rtl,a.virtualScrollStickySizeStart,a.virtualScrollStickySizeEnd),r=e.value-1,l=i.scrollMaxSize-i.offsetStart-i.offsetEnd-y.value;if(d===i.scrollStart)return;if(i.scrollMaxSize<=0)return void B(o,i,0,0);p!==i.scrollViewSize&&z(i.scrollViewSize),N(A.value.from);const s=Math.floor(i.scrollMaxSize-Math.max(i.scrollViewSize,i.offsetEnd)-Math.min(v[r],i.scrollViewSize/2));if(s>0&&Math.ceil(i.scrollStart)>=s)return void B(o,i,r,i.scrollMaxSize-i.offsetEnd-h.reduce(S,0));let u=0,f=i.scrollStart-i.offsetStart,m=f;if(f<=l&&f+i.scrollViewSize>=g.value)f-=g.value,u=A.value.from,m=f;else for(let e=0;f>=h[e]&&u0&&u-i.scrollViewSize?(u++,m=f):m=v[u]+f;B(o,i,u,m)}function B(t,n,o,i,r){const l="string"===typeof r&&r.indexOf("-force")>-1,s=!0===l?r.replace("-force",""):r,u=void 0!==s?s:"start";let f=Math.max(0,o-F.value[u]),p=f+F.value.total;p>e.value&&(p=e.value,f=Math.max(0,p-F.value.total)),d=n.scrollStart;const m=f!==A.value.from||p!==A.value.to;if(!1===m&&void 0===s)return void Z(o);const{activeElement:b}=document,_=T.value;!0===m&&null!==_&&_!==b&&!0===_.contains(b)&&(_.addEventListener("focusout",I),setTimeout((()=>{null!==_&&_.removeEventListener("focusout",I)}))),x(_,o-f);const w=void 0!==s?v.slice(f,o).reduce(S,0):0;if(!0===m){const t=p>=A.value.from&&f<=A.value.to?A.value.to:p;A.value={from:f,to:t},g.value=q(h,v,0,f),y.value=q(h,v,p,e.value),requestAnimationFrame((()=>{A.value.to!==p&&d===n.scrollStart&&(A.value={from:A.value.from,to:p},y.value=q(h,v,p,e.value))}))}requestAnimationFrame((()=>{if(d!==n.scrollStart)return;!0===m&&N(f);const e=v.slice(f,o).reduce(S,0),r=e+n.offsetStart+g.value,u=r+v[o];let p=r+i;if(void 0!==s){const t=e-w,i=n.scrollStart+t;p=!0!==l&&ie.classList&&!1===e.classList.contains("q-virtual-scroll--skip"))),o=n.length,i=!0===a.virtualScrollHorizontal?e=>e.getBoundingClientRect().width:e=>e.offsetHeight;let r,l,s=e;for(let e=0;e=l;o--)v[o]=i;const a=Math.floor((e.value-1)/b);h=[];for(let o=0;o<=a;o++){let t=0;const n=Math.min((o+1)*b,e.value);for(let e=o*b;e=0?(N(A.value.from),(0,o.Y3)((()=>{j(t)}))):U()}function z(e){if(void 0===e&&"undefined"!==typeof window){const o=t();void 0!==o&&null!==o&&8!==o.nodeType&&(e=k(o,n(),O.value,E.value,a.virtualScrollHorizontal,c.lang.rtl,a.virtualScrollStickySizeStart,a.virtualScrollStickySizeEnd).scrollViewSize)}p=e;const o=parseFloat(a.virtualScrollSliceRatioBefore)||0,i=parseFloat(a.virtualScrollSliceRatioAfter)||0,l=1+o+i,s=void 0===e||e<=0?1:Math.ceil(e/r.value),u=Math.max(1,s,Math.ceil((a.virtualScrollSliceSize>0?a.virtualScrollSliceSize:10)/l));F.value={total:Math.ceil(u*l),start:Math.ceil(u*o),center:Math.ceil(u*(.5+o)),end:Math.ceil(u*(1+o)),view:s}}function D(e,t){const n=!0===a.virtualScrollHorizontal?"width":"height",i={["--q-virtual-scroll-item-"+n]:r.value+"px"};return["tbody"===e?(0,o.h)(e,{class:"q-virtual-scroll__padding",key:"before",ref:O},[(0,o.h)("tr",[(0,o.h)("td",{style:{[n]:`${g.value}px`,...i},colspan:$.value})])]):(0,o.h)(e,{class:"q-virtual-scroll__padding",key:"before",ref:O,style:{[n]:`${g.value}px`,...i}}),(0,o.h)(e,{class:"q-virtual-scroll__content",key:"content",ref:T,tabindex:-1},t.flat()),"tbody"===e?(0,o.h)(e,{class:"q-virtual-scroll__padding",key:"after",ref:E},[(0,o.h)("tr",[(0,o.h)("td",{style:{[n]:`${y.value}px`,...i},colspan:$.value})])]):(0,o.h)(e,{class:"q-virtual-scroll__padding",key:"after",ref:E,style:{[n]:`${y.value}px`,...i}})]}function Z(e){f!==e&&(void 0!==a.onVirtualScroll&&s("virtualScroll",{index:e,from:A.value.from,to:A.value.to-1,direction:e{z()})),(0,o.YP)(L,R),z();const U=(0,m.Z)(V,!0===c.platform.is.ios?120:35);(0,o.wF)((()=>{z()}));let K=!1;return(0,o.se)((()=>{K=!0})),(0,o.dl)((()=>{if(!0!==K)return;const e=t();void 0!==d&&void 0!==e&&null!==e&&8!==e.nodeType?C(e,d,a.virtualScrollHorizontal,c.lang.rtl):j(f)})),(0,o.Jd)((()=>{U.cancel()})),Object.assign(u,{scrollTo:j,reset:R,refresh:M}),{virtualScrollSliceRange:A,virtualScrollSliceSizeComputed:F,setVirtualScrollSize:z,onVirtualScrollEvt:U,localResetVirtualScroll:H,padVirtualScroll:D,scrollTo:j,reset:R,refresh:M}}var T=n(9724),A=n(447),$=n(3704),L=n(7328),P=n(6809);const R=e=>["add","add-unique","toggle"].includes(e),M=".*+?^${}()|[]\\",j=Object.keys(r.Cl);var V=(0,l.L)({name:"QSelect",inheritAttrs:!1,props:{...O,...T.Fz,...r.Cl,modelValue:{required:!0},multiple:Boolean,displayValue:[String,Number],displayValueHtml:Boolean,dropdownIcon:String,options:{type:Array,default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],hideSelected:Boolean,hideDropdownIcon:Boolean,fillInput:Boolean,maxValues:[Number,String],optionsDense:Boolean,optionsDark:{type:Boolean,default:null},optionsSelectedClass:String,optionsHtml:Boolean,optionsCover:Boolean,menuShrink:Boolean,menuAnchor:String,menuSelf:String,menuOffset:Array,popupContentClass:String,popupContentStyle:[String,Array,Object],useInput:Boolean,useChips:Boolean,newValueMode:{type:String,validator:R},mapOptions:Boolean,emitValue:Boolean,inputDebounce:{type:[Number,String],default:500},inputClass:[Array,String,Object],inputStyle:[Array,String,Object],tabindex:{type:[String,Number],default:0},autocomplete:String,transitionShow:String,transitionHide:String,transitionDuration:[String,Number],behavior:{type:String,validator:e=>["default","menu","dialog"].includes(e),default:"default"},virtualScrollItemSize:{type:[Number,String],default:void 0},onNewValue:Function,onFilter:Function},emits:[...r.HJ,"add","remove","inputValue","newValue","keyup","keypress","keydown","filterAbort"],setup(e,{slots:t,emit:n}){const{proxy:l}=(0,o.FN)(),{$q:m}=l,y=(0,i.iH)(!1),b=(0,i.iH)(!1),_=(0,i.iH)(-1),w=(0,i.iH)(""),x=(0,i.iH)(!1),S=(0,i.iH)(!1);let k,C,q,F,O,V,B,N=null,I=null,H=null;const z=(0,i.iH)(null),D=(0,i.iH)(null),Z=(0,i.iH)(null),U=(0,i.iH)(null),K=(0,i.iH)(null),Y=(0,T.Do)(e),W=(0,A.Z)(Je),J=(0,o.Fl)((()=>Array.isArray(e.options)?e.options.length:0)),Q=(0,o.Fl)((()=>void 0===e.virtualScrollItemSize?!0===e.optionsDense?24:48:e.virtualScrollItemSize)),{virtualScrollSliceRange:X,virtualScrollSliceSizeComputed:G,localResetVirtualScroll:ee,padVirtualScroll:te,onVirtualScrollEvt:ne,scrollTo:oe,setVirtualScrollSize:ie}=E({virtualScrollLength:J,getVirtualScrollTarget:Ue,getVirtualScrollEl:Ze,virtualScrollItemSizeComputed:Q}),re=(0,r.tL)(),le=(0,o.Fl)((()=>{const t=!0===e.mapOptions&&!0!==e.multiple,n=void 0===e.modelValue||null===e.modelValue&&!0!==t?[]:!0===e.multiple&&Array.isArray(e.modelValue)?e.modelValue:[e.modelValue];if(!0===e.mapOptions&&!0===Array.isArray(e.options)){const o=!0===e.mapOptions&&void 0!==k?k:[],i=n.map((e=>je(e,o)));return null===e.modelValue&&!0===t?i.filter((e=>null!==e)):i}return n})),ae=(0,o.Fl)((()=>{const t={};return j.forEach((n=>{const o=e[n];void 0!==o&&(t[n]=o)})),t})),se=(0,o.Fl)((()=>null===e.optionsDark?re.isDark.value:e.optionsDark)),ue=(0,o.Fl)((()=>(0,r.yV)(le.value))),ce=(0,o.Fl)((()=>{let t="q-field__input q-placeholder col";return!0===e.hideSelected||0===le.value.length?[t,e.inputClass]:(t+=" q-field__input--padding",void 0===e.inputClass?t:[t,e.inputClass])})),de=(0,o.Fl)((()=>(!0===e.virtualScrollHorizontal?"q-virtual-scroll--horizontal":"")+(e.popupContentClass?" "+e.popupContentClass:""))),fe=(0,o.Fl)((()=>0===J.value)),pe=(0,o.Fl)((()=>le.value.map((e=>qe.value(e))).join(", "))),ve=(0,o.Fl)((()=>void 0!==e.displayValue?e.displayValue:pe.value)),he=(0,o.Fl)((()=>!0===e.optionsHtml?()=>!0:e=>void 0!==e&&null!==e&&!0===e.html)),me=(0,o.Fl)((()=>!0===e.displayValueHtml||void 0===e.displayValue&&(!0===e.optionsHtml||le.value.some(he.value)))),ge=(0,o.Fl)((()=>!0===re.focused.value?e.tabindex:-1)),ye=(0,o.Fl)((()=>{const t={tabindex:e.tabindex,role:"combobox","aria-label":e.label,"aria-readonly":!0===e.readonly?"true":"false","aria-autocomplete":!0===e.useInput?"list":"none","aria-expanded":!0===y.value?"true":"false","aria-controls":`${re.targetUid.value}_lb`};return _.value>=0&&(t["aria-activedescendant"]=`${re.targetUid.value}_${_.value}`),t})),be=(0,o.Fl)((()=>({id:`${re.targetUid.value}_lb`,role:"listbox","aria-multiselectable":!0===e.multiple?"true":"false"}))),_e=(0,o.Fl)((()=>le.value.map(((e,t)=>({index:t,opt:e,html:he.value(e),selected:!0,removeAtIndex:$e,toggleOption:Pe,tabindex:ge.value}))))),we=(0,o.Fl)((()=>{if(0===J.value)return[];const{from:t,to:n}=X.value;return e.options.slice(t,n).map(((n,o)=>{const i=!0===Fe.value(n),r=!0===Be(n),l=t+o,a={clickable:!0,active:r,activeClass:ke.value,manualFocus:!0,focused:!1,disable:i,tabindex:-1,dense:e.optionsDense,dark:se.value,role:"option","aria-selected":!0===r?"true":"false",id:`${re.targetUid.value}_${l}`,onClick:()=>{Pe(n)}};return!0!==i&&(_.value===l&&(a.focused=!0),!0===m.platform.is.desktop&&(a.onMousemove=()=>{!0===y.value&&Re(l)})),{index:l,opt:n,html:he.value(n),label:qe.value(n),selected:a.active,focused:a.focused,toggleOption:Pe,setOptionIndex:Re,itemProps:a}}))})),xe=(0,o.Fl)((()=>void 0!==e.dropdownIcon?e.dropdownIcon:m.iconSet.arrow.dropdown)),Se=(0,o.Fl)((()=>!1===e.optionsCover&&!0!==e.outlined&&!0!==e.standout&&!0!==e.borderless&&!0!==e.rounded)),ke=(0,o.Fl)((()=>void 0!==e.optionsSelectedClass?e.optionsSelectedClass:void 0!==e.color?`text-${e.color}`:"")),Ce=(0,o.Fl)((()=>Ve(e.optionValue,"value"))),qe=(0,o.Fl)((()=>Ve(e.optionLabel,"label"))),Fe=(0,o.Fl)((()=>Ve(e.optionDisable,"disable"))),Oe=(0,o.Fl)((()=>le.value.map((e=>Ce.value(e))))),Ee=(0,o.Fl)((()=>{const e={onInput:Je,onChange:W,onKeydown:De,onKeyup:He,onKeypress:ze,onFocus:Ne,onClick(e){!0===C&&(0,g.sT)(e)}};return e.onCompositionstart=e.onCompositionupdate=e.onCompositionend=W,e}));function Te(t){return!0===e.emitValue?Ce.value(t):t}function Ae(t){if(t>-1&&t=e.maxValues)return;const r=e.modelValue.slice();n("add",{index:r.length,value:i}),r.push(i),n("update:modelValue",r)}function Pe(t,o){if(!0!==re.editable.value||void 0===t||!0===Fe.value(t))return;const i=Ce.value(t);if(!0!==e.multiple)return!0!==o&&(Xe(!0===e.fillInput?qe.value(t):"",!0,!0),dt()),null!==D.value&&D.value.focus(),void(0!==le.value.length&&!0===(0,$.xb)(Ce.value(le.value[0]),i)||n("update:modelValue",!0===e.emitValue?i:t));if((!0!==C||!0===x.value)&&re.focus(),Ne(),0===le.value.length){const o=!0===e.emitValue?i:t;return n("add",{index:0,value:o}),void n("update:modelValue",!0===e.multiple?[o]:o)}const r=e.modelValue.slice(),l=Oe.value.findIndex((e=>(0,$.xb)(e,i)));if(l>-1)n("remove",{index:l,value:r.splice(l,1)[0]});else{if(void 0!==e.maxValues&&r.length>=e.maxValues)return;const o=!0===e.emitValue?i:t;n("add",{index:r.length,value:o}),r.push(o)}n("update:modelValue",r)}function Re(e){if(!0!==m.platform.is.desktop)return;const t=e>-1&&e=0?qe.value(e.options[o]):F,!0))}}function je(t,n){const o=e=>(0,$.xb)(Ce.value(e),t);return e.options.find(o)||n.find(o)||t}function Ve(e,t){const n=void 0!==e?e:t;return"function"===typeof n?n:e=>null!==e&&"object"===typeof e&&n in e?e[n]:e}function Be(e){const t=Ce.value(e);return void 0!==Oe.value.find((e=>(0,$.xb)(e,t)))}function Ne(t){!0===e.useInput&&null!==D.value&&(void 0===t||D.value===t.target&&t.target.value===pe.value)&&D.value.select()}function Ie(e){!0===(0,P.So)(e,27)&&!0===y.value&&((0,g.sT)(e),dt(),ft()),n("keyup",e)}function He(t){const{value:n}=t.target;if(void 0===t.keyCode)if(t.target.value="",null!==N&&(clearTimeout(N),N=null),null!==I&&(clearTimeout(I),I=null),ft(),"string"===typeof n&&0!==n.length){const t=n.toLocaleLowerCase(),o=n=>{const o=e.options.find((e=>n.value(e).toLocaleLowerCase()===t));return void 0!==o&&(-1===le.value.indexOf(o)?Pe(o):dt(),!0)},i=e=>{!0!==o(Ce)&&!0!==o(qe)&&!0!==e&&Ge(n,!0,(()=>i(!0)))};i()}else re.clearValue(t);else Ie(t)}function ze(e){n("keypress",e)}function De(t){if(n("keydown",t),!0===(0,P.Wm)(t))return;const i=0!==w.value.length&&(void 0!==e.newValueMode||void 0!==e.onNewValue),r=!0!==t.shiftKey&&!0!==e.multiple&&(_.value>-1||!0===i);if(27===t.keyCode)return void(0,g.X$)(t);if(9===t.keyCode&&!1===r)return void ut();if(void 0===t.target||t.target.id!==re.targetUid.value||!0!==re.editable.value)return;if(40===t.keyCode&&!0!==re.innerLoading.value&&!1===y.value)return(0,g.NS)(t),void ct();if(8===t.keyCode&&(!0===e.useChips||!0===e.clearable)&&!0!==e.hideSelected&&0===w.value.length)return void(!0===e.multiple&&!0===Array.isArray(e.modelValue)?Ae(e.modelValue.length-1):!0!==e.multiple&&null!==e.modelValue&&n("update:modelValue",null));35!==t.keyCode&&36!==t.keyCode||"string"===typeof w.value&&0!==w.value.length||((0,g.NS)(t),_.value=-1,Me(36===t.keyCode?1:-1,e.multiple)),33!==t.keyCode&&34!==t.keyCode||void 0===G.value||((0,g.NS)(t),_.value=Math.max(-1,Math.min(J.value,_.value+(33===t.keyCode?-1:1)*G.value.view)),Me(33===t.keyCode?1:-1,e.multiple)),38!==t.keyCode&&40!==t.keyCode||((0,g.NS)(t),Me(38===t.keyCode?-1:1,e.multiple));const l=J.value;if((void 0===V||B0&&!0!==e.useInput&&void 0!==t.key&&1===t.key.length&&!1===t.altKey&&!1===t.ctrlKey&&!1===t.metaKey&&(32!==t.keyCode||0!==V.length)){!0!==y.value&&ct(t);const n=t.key.toLocaleLowerCase(),i=1===V.length&&V[0]===n;B=Date.now()+1500,!1===i&&((0,g.NS)(t),V+=n);const r=new RegExp("^"+V.split("").map((e=>M.indexOf(e)>-1?"\\"+e:e)).join(".*"),"i");let a=_.value;if(!0===i||a<0||!0!==r.test(qe.value(e.options[a])))do{a=(0,L.Uz)(a+1,-1,l-1)}while(a!==_.value&&(!0===Fe.value(e.options[a])||!0!==r.test(qe.value(e.options[a]))));_.value!==a&&(0,o.Y3)((()=>{Re(a),oe(a),a>=0&&!0===e.useInput&&!0===e.fillInput&&Qe(qe.value(e.options[a]),!0)}))}else if(13===t.keyCode||32===t.keyCode&&!0!==e.useInput&&""===V||9===t.keyCode&&!1!==r)if(9!==t.keyCode&&(0,g.NS)(t),_.value>-1&&_.value{if(n){if(!0!==R(n))return}else n=e.newValueMode;if(Xe("",!0!==e.multiple,!0),void 0===t||null===t)return;const o="toggle"===n?Pe:Le;o(t,"add-unique"===n),!0!==e.multiple&&(null!==D.value&&D.value.focus(),dt())};if(void 0!==e.onNewValue?n("newValue",w.value,t):t(w.value),!0!==e.multiple)return}!0===y.value?ut():!0!==re.innerLoading.value&&ct()}}function Ze(){return!0===C?K.value:null!==Z.value&&null!==Z.value.contentEl?Z.value.contentEl:void 0}function Ue(){return Ze()}function Ke(){return!0===e.hideSelected?[]:void 0!==t["selected-item"]?_e.value.map((e=>t["selected-item"](e))).slice():void 0!==t.selected?[].concat(t.selected()):!0===e.useChips?_e.value.map(((t,n)=>(0,o.h)(u.Z,{key:"option-"+n,removable:!0===re.editable.value&&!0!==Fe.value(t.opt),dense:!0,textColor:e.color,tabindex:ge.value,onRemove(){t.removeAtIndex(n)}},(()=>(0,o.h)("span",{class:"ellipsis",[!0===t.html?"innerHTML":"textContent"]:qe.value(t.opt)}))))):[(0,o.h)("span",{[!0===me.value?"innerHTML":"textContent"]:ve.value})]}function Ye(){if(!0===fe.value)return void 0!==t["no-option"]?t["no-option"]({inputValue:w.value}):void 0;const e=void 0!==t.option?t.option:e=>(0,o.h)(c.Z,{key:e.index,...e.itemProps},(()=>(0,o.h)(d.Z,(()=>(0,o.h)(p,(()=>(0,o.h)("span",{[!0===e.html?"innerHTML":"textContent"]:e.label})))))));let n=te("div",we.value.map(e));return void 0!==t["before-options"]&&(n=t["before-options"]().concat(n)),(0,f.vs)(t["after-options"],n)}function We(t,n){const i=!0===n?{...ye.value,...re.splitAttrs.attributes.value}:void 0,r={ref:!0===n?D:void 0,key:"i_t",class:ce.value,style:e.inputStyle,value:void 0!==w.value?w.value:"",type:"search",...i,id:!0===n?re.targetUid.value:void 0,maxlength:e.maxlength,autocomplete:e.autocomplete,"data-autofocus":!0===t||!0===e.autofocus||void 0,disabled:!0===e.disable,readonly:!0===e.readonly,...Ee.value};return!0!==t&&!0===C&&(!0===Array.isArray(r.class)?r.class=[...r.class,"no-pointer-events"]:r.class+=" no-pointer-events"),(0,o.h)("input",r)}function Je(t){null!==N&&(clearTimeout(N),N=null),null!==I&&(clearTimeout(I),I=null),t&&t.target&&!0===t.target.qComposing||(Qe(t.target.value||""),q=!0,F=w.value,!0===re.focused.value||!0===C&&!0!==x.value||re.focus(),void 0!==e.onFilter&&(N=setTimeout((()=>{N=null,Ge(w.value)}),e.inputDebounce)))}function Qe(t,o){w.value!==t&&(w.value=t,!0===o||0===e.inputDebounce||"0"===e.inputDebounce?n("inputValue",t):I=setTimeout((()=>{I=null,n("inputValue",t)}),e.inputDebounce))}function Xe(t,n,o){q=!0!==o,!0===e.useInput&&(Qe(t,!0),!0!==n&&!0===o||(F=t),!0!==n&&Ge(t))}function Ge(t,i,r){if(void 0===e.onFilter||!0!==i&&!0!==re.focused.value)return;!0===re.innerLoading.value?n("filterAbort"):(re.innerLoading.value=!0,S.value=!0),""!==t&&!0!==e.multiple&&0!==le.value.length&&!0!==q&&t===qe.value(le.value[0])&&(t="");const a=setTimeout((()=>{!0===y.value&&(y.value=!1)}),10);null!==H&&clearTimeout(H),H=a,n("filter",t,((e,t)=>{!0!==i&&!0!==re.focused.value||H!==a||(clearTimeout(H),"function"===typeof e&&e(),S.value=!1,(0,o.Y3)((()=>{re.innerLoading.value=!1,!0===re.editable.value&&(!0===i?!0===y.value&&dt():!0===y.value?pt(!0):y.value=!0),"function"===typeof t&&(0,o.Y3)((()=>{t(l)})),"function"===typeof r&&(0,o.Y3)((()=>{r(l)}))})))}),(()=>{!0===re.focused.value&&H===a&&(clearTimeout(H),re.innerLoading.value=!1,S.value=!1),!0===y.value&&(y.value=!1)}))}function et(){return(0,o.h)(v.Z,{ref:Z,class:de.value,style:e.popupContentStyle,modelValue:y.value,fit:!0!==e.menuShrink,cover:!0===e.optionsCover&&!0!==fe.value&&!0!==e.useInput,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,dark:se.value,noParentEvent:!0,noRefocus:!0,noFocus:!0,square:Se.value,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,separateClosePopup:!0,...be.value,onScrollPassive:ne,onBeforeShow:mt,onBeforeHide:tt,onShow:nt},Ye)}function tt(e){gt(e),ut()}function nt(){ie()}function ot(e){(0,g.sT)(e),null!==D.value&&D.value.focus(),x.value=!0,window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,0)}function it(e){(0,g.sT)(e),(0,o.Y3)((()=>{x.value=!1}))}function rt(){const n=[(0,o.h)(a,{class:`col-auto ${re.fieldClass.value}`,...ae.value,for:re.targetUid.value,dark:se.value,square:!0,loading:S.value,itemAligned:!1,filled:!0,stackLabel:0!==w.value.length,...re.splitAttrs.listeners.value,onFocus:ot,onBlur:it},{...t,rawControl:()=>re.getControl(!0),before:void 0,after:void 0})];return!0===y.value&&n.push((0,o.h)("div",{ref:K,class:de.value+" scroll",style:e.popupContentStyle,...be.value,onClick:g.X$,onScrollPassive:ne},Ye())),(0,o.h)(h.Z,{ref:U,modelValue:b.value,position:!0===e.useInput?"top":void 0,transitionShow:O,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,onBeforeShow:mt,onBeforeHide:lt,onHide:at,onShow:st},(()=>(0,o.h)("div",{class:"q-select__dialog"+(!0===se.value?" q-select__dialog--dark q-dark":"")+(!0===x.value?" q-select__dialog--focused":"")},n)))}function lt(e){gt(e),null!==U.value&&U.value.__updateRefocusTarget(re.rootRef.value.querySelector(".q-field__native > [tabindex]:last-child")),re.focused.value=!1}function at(e){dt(),!1===re.focused.value&&n("blur",e),ft()}function st(){const e=document.activeElement;null!==e&&e.id===re.targetUid.value||null===D.value||D.value===e||D.value.focus(),ie()}function ut(){!0!==b.value&&(_.value=-1,!0===y.value&&(y.value=!1),!1===re.focused.value&&(null!==H&&(clearTimeout(H),H=null),!0===re.innerLoading.value&&(n("filterAbort"),re.innerLoading.value=!1,S.value=!1)))}function ct(n){!0===re.editable.value&&(!0===C?(re.onControlFocusin(n),b.value=!0,(0,o.Y3)((()=>{re.focus()}))):re.focus(),void 0!==e.onFilter?Ge(w.value):!0===fe.value&&void 0===t["no-option"]||(y.value=!0))}function dt(){b.value=!1,ut()}function ft(){!0===e.useInput&&Xe(!0!==e.multiple&&!0===e.fillInput&&0!==le.value.length&&qe.value(le.value[0])||"",!0,!0)}function pt(t){let n=-1;if(!0===t){if(0!==le.value.length){const t=Ce.value(le.value[0]);n=e.options.findIndex((e=>(0,$.xb)(Ce.value(e),t)))}ee(n)}Re(n)}function vt(e,t){!0===y.value&&!1===re.innerLoading.value&&(ee(-1,!0),(0,o.Y3)((()=>{!0===y.value&&!1===re.innerLoading.value&&(e>t?ee():pt(!0))})))}function ht(){!1===b.value&&null!==Z.value&&Z.value.updatePosition()}function mt(e){void 0!==e&&(0,g.sT)(e),n("popupShow",e),re.hasPopupOpen=!0,re.onControlFocusin(e)}function gt(e){void 0!==e&&(0,g.sT)(e),n("popupHide",e),re.hasPopupOpen=!1,re.onControlFocusout(e)}function yt(){C=(!0===m.platform.is.mobile||"dialog"===e.behavior)&&("menu"!==e.behavior&&(!0!==e.useInput||(void 0!==t["no-option"]||void 0!==e.onFilter||!1===fe.value))),O=!0===m.platform.is.ios&&!0===C&&!0===e.useInput?"fade":e.transitionShow}return(0,o.YP)(le,(t=>{k=t,!0===e.useInput&&!0===e.fillInput&&!0!==e.multiple&&!0!==re.innerLoading.value&&(!0!==b.value&&!0!==y.value||!0!==ue.value)&&(!0!==q&&ft(),!0!==b.value&&!0!==y.value||Ge(""))}),{immediate:!0}),(0,o.YP)((()=>e.fillInput),ft),(0,o.YP)(y,pt),(0,o.YP)(J,vt),(0,o.Xn)(yt),(0,o.ic)(ht),yt(),(0,o.Jd)((()=>{null!==N&&clearTimeout(N),null!==I&&clearTimeout(I)})),Object.assign(l,{showPopup:ct,hidePopup:dt,removeAtIndex:Ae,add:Le,toggleOption:Pe,getOptionIndex:()=>_.value,setOptionIndex:Re,moveOptionSelection:Me,filter:Ge,updateMenuPosition:ht,updateInputValue:Xe,isOptionSelected:Be,getEmittingOptionValue:Te,isOptionDisabled:(...e)=>!0===Fe.value.apply(null,e),getOptionValue:(...e)=>Ce.value.apply(null,e),getOptionLabel:(...e)=>qe.value.apply(null,e)}),Object.assign(re,{innerValue:le,fieldClass:(0,o.Fl)((()=>`q-select q-field--auto-height q-select--with${!0!==e.useInput?"out":""}-input q-select--with${!0!==e.useChips?"out":""}-chips q-select--`+(!0===e.multiple?"multiple":"single"))),inputRef:z,targetRef:D,hasValue:ue,showPopup:ct,floatingLabel:(0,o.Fl)((()=>!0!==e.hideSelected&&!0===ue.value||"number"===typeof w.value||0!==w.value.length||(0,r.yV)(e.displayValue))),getControlChild:()=>{if(!1!==re.editable.value&&(!0===b.value||!0!==fe.value||void 0!==t["no-option"]))return!0===C?rt():et();!0===re.hasPopupOpen&&(re.hasPopupOpen=!1)},controlEvents:{onFocusin(e){re.onControlFocusin(e)},onFocusout(e){re.onControlFocusout(e,(()=>{ft(),ut()}))},onClick(e){if((0,g.X$)(e),!0!==C&&!0===y.value)return ut(),void(null!==D.value&&D.value.focus());ct(e)}},getControl:t=>{const n=Ke(),i=!0===t||!0!==b.value||!0!==C;if(!0===e.useInput)n.push(We(t,i));else if(!0===re.editable.value){const r=!0===i?ye.value:void 0;n.push((0,o.h)("input",{ref:!0===i?D:void 0,key:"d_t",class:"q-select__focus-target",id:!0===i?re.targetUid.value:void 0,value:ve.value,readonly:!0,"data-autofocus":!0===t||!0===e.autofocus||void 0,...r,onKeydown:De,onKeyup:Ie,onKeypress:ze})),!0===i&&"string"===typeof e.autocomplete&&0!==e.autocomplete.length&&n.push((0,o.h)("input",{class:"q-select__autocomplete-input",autocomplete:e.autocomplete,tabindex:-1,onKeyup:He}))}if(void 0!==Y.value&&!0!==e.disable&&0!==Oe.value.length){const t=Oe.value.map((e=>(0,o.h)("option",{value:e,selected:!0})));n.push((0,o.h)("select",{class:"hidden",name:Y.value,multiple:e.multiple},t))}const r=!0===e.useInput||!0!==i?void 0:re.splitAttrs.attributes.value;return(0,o.h)("div",{class:"q-field__native row items-center",...r,...re.splitAttrs.listeners.value},n)},getInnerAppend:()=>!0!==e.loading&&!0!==S.value&&!0!==e.hideDropdownIcon?[(0,o.h)(s.Z,{class:"q-select__dropdown-icon"+(!0===y.value?" rotate-180":""),name:xe.value})]:null}),(0,r.ZP)(re)}})},4492:function(e,t,n){"use strict";var o=n(9269),i=n(6597),r=n(3856);const l={true:"inset",item:"item-inset","item-thumbnail":"item-thumbnail-inset"},a={xs:2,sm:4,md:8,lg:16,xl:24};t.Z=(0,r.L)({name:"QSeparator",props:{...i.S,spaced:[Boolean,String],inset:[Boolean,String],vertical:Boolean,color:String,size:String},setup(e){const t=(0,o.FN)(),n=(0,i.Z)(e,t.proxy.$q),r=(0,o.Fl)((()=>!0===e.vertical?"vertical":"horizontal")),s=(0,o.Fl)((()=>` q-separator--${r.value}`)),u=(0,o.Fl)((()=>!1!==e.inset?`${s.value}-${l[e.inset]}`:"")),c=(0,o.Fl)((()=>`q-separator${s.value}${u.value}`+(void 0!==e.color?` bg-${e.color}`:"")+(!0===n.value?" q-separator--dark":""))),d=(0,o.Fl)((()=>{const t={};if(void 0!==e.size&&(t[!0===e.vertical?"width":"height"]=e.size),!1!==e.spaced){const n=!0===e.spaced?`${a.md}px`:e.spaced in a?`${a[e.spaced]}px`:e.spaced,o=!0===e.vertical?["Left","Right"]:["Top","Bottom"];t[`margin${o[0]}`]=t[`margin${o[1]}`]=n}return t}));return()=>(0,o.h)("hr",{class:c.value,style:d.value,"aria-orientation":r.value})}})},3139:function(e,t,n){"use strict";var o=n(9269),i=n(3856);const r=(0,o.h)("div",{class:"q-space"});t.Z=(0,i.L)({name:"QSpace",setup(){return()=>r}})},2605:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var o=n(9269),i=n(505);const r={size:{type:[Number,String],default:"1em"},color:String};function l(e){return{cSize:(0,o.Fl)((()=>e.size in i.Ok?`${i.Ok[e.size]}px`:e.size)),classes:(0,o.Fl)((()=>"q-spinner"+(e.color?` text-${e.color}`:"")))}}var a=n(3856),s=(0,a.L)({name:"QSpinner",props:{...r,thickness:{type:Number,default:5}},setup(e){const{cSize:t,classes:n}=l(e);return()=>(0,o.h)("svg",{class:n.value+" q-spinner-mat",width:t.value,height:t.value,viewBox:"25 25 50 50"},[(0,o.h)("circle",{class:"path",cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":e.thickness,"stroke-miterlimit":"10"})])}})},8173:function(e,t,n){"use strict";var o=n(9269),i=n(6597),r=n(3856),l=n(64),a=n(4300);t.Z=(0,r.L)({name:"QTimeline",props:{...i.S,color:{type:String,default:"primary"},side:{type:String,default:"right",validator:e=>["left","right"].includes(e)},layout:{type:String,default:"dense",validator:e=>["dense","comfortable","loose"].includes(e)}},setup(e,{slots:t}){const n=(0,o.FN)(),r=(0,i.Z)(e,n.proxy.$q);(0,o.JJ)(a.xP,e);const s=(0,o.Fl)((()=>`q-timeline q-timeline--${e.layout} q-timeline--${e.layout}--${e.side}`+(!0===r.value?" q-timeline--dark":"")));return()=>(0,o.h)("ul",{class:s.value},(0,l.KR)(t.default))}})},3884:function(e,t,n){"use strict";var o=n(9269),i=n(4633),r=n(3856),l=n(64),a=n(4300);t.Z=(0,r.L)({name:"QTimelineEntry",props:{heading:Boolean,tag:{type:String,default:"h3"},side:{type:String,default:"right",validator:e=>["left","right"].includes(e)},icon:String,avatar:String,color:String,title:String,subtitle:String,body:String},setup(e,{slots:t}){const n=(0,o.f3)(a.xP,a.qO);if(n===a.qO)return console.error("QTimelineEntry needs to be child of QTimeline"),a.qO;const r=(0,o.Fl)((()=>`q-timeline__entry q-timeline__entry--${e.side}`+(void 0!==e.icon||void 0!==e.avatar?" q-timeline__entry--icon":""))),s=(0,o.Fl)((()=>`q-timeline__dot text-${e.color||n.color}`)),u=(0,o.Fl)((()=>"comfortable"===n.layout&&"left"===n.side));return()=>{const n=(0,l.Bl)(t.default,[]);if(void 0!==e.body&&n.unshift(e.body),!0===e.heading){const t=[(0,o.h)("div"),(0,o.h)("div"),(0,o.h)(e.tag,{class:"q-timeline__heading-title"},n)];return(0,o.h)("div",{class:"q-timeline__heading"},!0===u.value?t.reverse():t)}let a;void 0!==e.icon?a=[(0,o.h)(i.Z,{class:"row items-center justify-center",name:e.icon})]:void 0!==e.avatar&&(a=[(0,o.h)("img",{class:"q-timeline__dot-img",src:e.avatar})]);const c=[(0,o.h)("div",{class:"q-timeline__subtitle"},[(0,o.h)("span",{},(0,l.KR)(t.subtitle,[e.subtitle]))]),(0,o.h)("div",{class:s.value},a),(0,o.h)("div",{class:"q-timeline__content"},[(0,o.h)("h6",{class:"q-timeline__title"},(0,l.KR)(t.title,[e.title]))].concat(n))];return(0,o.h)("li",{class:r.value},!0===u.value?c.reverse():c)}}})},8299:function(e,t,n){"use strict";n.d(t,{Z:function(){return g}});var o=n(9269),i=n(4633),r=(n(121),n(6237)),l=n(6597),a=n(505);function s(e,t){const n=(0,r.iH)(null),i=(0,o.Fl)((()=>!0===e.disable?null:(0,o.h)("span",{ref:n,class:"no-outline",tabindex:-1})));function l(e){const o=t.value;void 0!==e&&0===e.type.indexOf("key")?null!==o&&document.activeElement!==o&&!0===o.contains(document.activeElement)&&o.focus():null!==n.value&&(void 0===e||null!==o&&!0===o.contains(e.target))&&n.value.focus()}return{refocusTargetEl:i,refocusTarget:l}}var u=n(9724),c={xs:30,sm:35,md:40,lg:50,xl:60},d=n(3027),f=n(64);const p={...l.S,...a.LU,...u.Fz,modelValue:{required:!0,default:null},val:{},trueValue:{default:!0},falseValue:{default:!1},indeterminateValue:{default:null},checkedIcon:String,uncheckedIcon:String,indeterminateIcon:String,toggleOrder:{type:String,validator:e=>"tf"===e||"ft"===e},toggleIndeterminate:Boolean,label:String,leftLabel:Boolean,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},v=["update:modelValue"];function h(e,t){const{props:n,slots:i,emit:p,proxy:v}=(0,o.FN)(),{$q:h}=v,m=(0,l.Z)(n,h),g=(0,r.iH)(null),{refocusTargetEl:y,refocusTarget:b}=s(n,g),_=(0,a.ZP)(n,c),w=(0,o.Fl)((()=>void 0!==n.val&&Array.isArray(n.modelValue))),x=(0,o.Fl)((()=>{const e=(0,r.IU)(n.val);return!0===w.value?n.modelValue.findIndex((t=>(0,r.IU)(t)===e)):-1})),S=(0,o.Fl)((()=>!0===w.value?x.value>-1:(0,r.IU)(n.modelValue)===(0,r.IU)(n.trueValue))),k=(0,o.Fl)((()=>!0===w.value?-1===x.value:(0,r.IU)(n.modelValue)===(0,r.IU)(n.falseValue))),C=(0,o.Fl)((()=>!1===S.value&&!1===k.value)),q=(0,o.Fl)((()=>!0===n.disable?-1:n.tabindex||0)),F=(0,o.Fl)((()=>`q-${e} cursor-pointer no-outline row inline no-wrap items-center`+(!0===n.disable?" disabled":"")+(!0===m.value?` q-${e}--dark`:"")+(!0===n.dense?` q-${e}--dense`:"")+(!0===n.leftLabel?" reverse":""))),O=(0,o.Fl)((()=>{const t=!0===S.value?"truthy":!0===k.value?"falsy":"indet",o=void 0===n.color||!0!==n.keepColor&&("toggle"===e?!0!==S.value:!0===k.value)?"":` text-${n.color}`;return`q-${e}__inner relative-position non-selectable q-${e}__inner--${t}${o}`})),E=(0,o.Fl)((()=>{const e={type:"checkbox"};return void 0!==n.name&&Object.assign(e,{".checked":S.value,"^checked":!0===S.value?"checked":void 0,name:n.name,value:!0===w.value?n.val:n.trueValue}),e})),T=(0,u.eX)(E),A=(0,o.Fl)((()=>{const t={tabindex:q.value,role:"toggle"===e?"switch":"checkbox","aria-label":n.label,"aria-checked":!0===C.value?"mixed":!0===S.value?"true":"false"};return!0===n.disable&&(t["aria-disabled"]="true"),t}));function $(e){void 0!==e&&((0,d.NS)(e),b(e)),!0!==n.disable&&p("update:modelValue",L(),e)}function L(){if(!0===w.value){if(!0===S.value){const e=n.modelValue.slice();return e.splice(x.value,1),e}return n.modelValue.concat([n.val])}if(!0===S.value){if("ft"!==n.toggleOrder||!1===n.toggleIndeterminate)return n.falseValue}else{if(!0!==k.value)return"ft"!==n.toggleOrder?n.trueValue:n.falseValue;if("ft"===n.toggleOrder||!1===n.toggleIndeterminate)return n.trueValue}return n.indeterminateValue}function P(e){13!==e.keyCode&&32!==e.keyCode||(0,d.NS)(e)}function R(e){13!==e.keyCode&&32!==e.keyCode||$(e)}const M=t(S,C);return Object.assign(v,{toggle:$}),()=>{const t=M();!0!==n.disable&&T(t,"unshift",` q-${e}__native absolute q-ma-none q-pa-none`);const r=[(0,o.h)("div",{class:O.value,style:_.value,"aria-hidden":"true"},t)];null!==y.value&&r.push(y.value);const l=void 0!==n.label?(0,f.vs)(i.default,[n.label]):(0,f.KR)(i.default);return void 0!==l&&r.push((0,o.h)("div",{class:`q-${e}__label q-anchor--skip`},l)),(0,o.h)("div",{ref:g,class:F.value,...A.value,onClick:$,onKeydown:P,onKeyup:R},r)}}var m=n(3856),g=(0,m.L)({name:"QToggle",props:{...p,icon:String,iconColor:String},emits:v,setup(e){function t(t,n){const r=(0,o.Fl)((()=>(!0===t.value?e.checkedIcon:!0===n.value?e.indeterminateIcon:e.uncheckedIcon)||e.icon)),l=(0,o.Fl)((()=>!0===t.value?e.iconColor:null));return()=>[(0,o.h)("div",{class:"q-toggle__track"}),(0,o.h)("div",{class:"q-toggle__thumb absolute flex flex-center no-wrap"},void 0!==r.value?[(0,o.h)(i.Z,{name:r.value,color:l.value})]:void 0)]}return h("toggle",t)}})},3994:function(e,t,n){"use strict";n.d(t,{ZP:function(){return a},jO:function(){return l}});var o=n(9269);const i={left:"start",center:"center",right:"end",between:"between",around:"around",evenly:"evenly",stretch:"stretch"},r=Object.keys(i),l={align:{type:String,validator:e=>r.includes(e)}};function a(e){return(0,o.Fl)((()=>{const t=void 0===e.align?!0===e.vertical?"stretch":"left":e.align;return`${!0===e.vertical?"items":"justify"}-${i[t]}`}))}},6597:function(e,t,n){"use strict";n.d(t,{S:function(){return i},Z:function(){return r}});var o=n(9269);const i={dark:{type:Boolean,default:null}};function r(e,t){return(0,o.Fl)((()=>null===e.dark?t.dark.isActive:e.dark))}},2019:function(e,t,n){"use strict";n.d(t,{ZP:function(){return B},yV:function(){return R},HJ:function(){return j},Cl:function(){return M},tL:function(){return V}});n(121);var o=n(9269),i=n(6237),r=n(5102),l=n(1013),a=n(4633),s=n(2605),u=n(6597),c=n(4300);function d({validate:e,resetValidation:t,requiresQForm:n}){const i=(0,o.f3)(c.vh,!1);if(!1!==i){const{props:n,proxy:r}=(0,o.FN)();Object.assign(r,{validate:e,resetValidation:t}),(0,o.YP)((()=>n.disable),(e=>{!0===e?("function"===typeof t&&t(),i.unbindComponent(r)):i.bindComponent(r)})),(0,o.bv)((()=>{!0!==n.disable&&i.bindComponent(r)})),(0,o.Jd)((()=>{!0!==n.disable&&i.unbindComponent(r)}))}else!0===n&&console.error("Parent QForm not found on useFormChild()!")}const f=/^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/,p=/^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/,v=/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,h=/^rgb\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5])\)$/,m=/^rgba\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/,g={date:e=>/^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(e),time:e=>/^([0-1]?\d|2[0-3]):[0-5]\d$/.test(e),fulltime:e=>/^([0-1]?\d|2[0-3]):[0-5]\d:[0-5]\d$/.test(e),timeOrFulltime:e=>/^([0-1]?\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/.test(e),email:e=>/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e),hexColor:e=>f.test(e),hexaColor:e=>p.test(e),hexOrHexaColor:e=>v.test(e),rgbColor:e=>h.test(e),rgbaColor:e=>m.test(e),rgbOrRgbaColor:e=>h.test(e)||m.test(e),hexOrRgbColor:e=>f.test(e)||h.test(e),hexaOrRgbaColor:e=>p.test(e)||m.test(e),anyColor:e=>v.test(e)||h.test(e)||m.test(e)};var y=n(7265),b=n(3613);const _=[!0,!1,"ondemand"],w={modelValue:{},error:{type:Boolean,default:null},errorMessage:String,noErrorIcon:Boolean,rules:Array,reactiveRules:Boolean,lazyRules:{type:[Boolean,String],validator:e=>_.includes(e)}};function x(e,t){const{props:n,proxy:r}=(0,o.FN)(),l=(0,i.iH)(!1),a=(0,i.iH)(null),s=(0,i.iH)(null);d({validate:_,resetValidation:m});let u,c=0;const f=(0,o.Fl)((()=>void 0!==n.rules&&null!==n.rules&&0!==n.rules.length)),p=(0,o.Fl)((()=>!0!==n.disable&&!0===f.value)),v=(0,o.Fl)((()=>!0===n.error||!0===l.value)),h=(0,o.Fl)((()=>"string"===typeof n.errorMessage&&0!==n.errorMessage.length?n.errorMessage:a.value));function m(){c++,t.value=!1,s.value=null,l.value=!1,a.value=null,x.cancel()}function _(e=n.modelValue){if(!0!==p.value)return!0;const o=++c,i=!0!==t.value?()=>{s.value=!0}:()=>{},r=(e,n)=>{!0===e&&i(),l.value=e,a.value=n||null,t.value=!1},u=[];for(let t=0;t{if(void 0===e||!1===Array.isArray(e)||0===e.length)return o===c&&r(!1),!0;const t=e.find((e=>!1===e||"string"===typeof e));return o===c&&r(void 0!==t,t),void 0===t}),(e=>(o===c&&(console.error(e),r(!0)),!1))))}function w(e){!0===p.value&&"ondemand"!==n.lazyRules&&(!0===s.value||!0!==n.lazyRules&&!0!==e)&&x()}(0,o.YP)((()=>n.modelValue),(()=>{w()})),(0,o.YP)((()=>n.reactiveRules),(e=>{!0===e?void 0===u&&(u=(0,o.YP)((()=>n.rules),(()=>{w(!0)}))):void 0!==u&&(u(),u=void 0)}),{immediate:!0}),(0,o.YP)(e,(e=>{!0===e?null===s.value&&(s.value=!1):!1===s.value&&(s.value=!0,!0===p.value&&"ondemand"!==n.lazyRules&&!1===t.value&&x())}));const x=(0,y.Z)(_,0);return(0,o.Jd)((()=>{void 0!==u&&u(),x.cancel()})),Object.assign(r,{resetValidation:m,validate:_}),(0,b.g)(r,"hasError",(()=>v.value)),{isDirtyModel:s,hasRules:f,hasError:v,errorMessage:h,validate:_,resetValidation:m}}const S=/^on[A-Z]/;function k(e,t){const n={listeners:(0,i.iH)({}),attributes:(0,i.iH)({})};function r(){const o={},i={};for(const t in e)"class"!==t&&"style"!==t&&!1===S.test(t)&&(o[t]=e[t]);for(const e in t.props)!0===S.test(e)&&(i[e]=t.props[e]);n.attributes.value=o,n.listeners.value=i}return(0,o.Xn)(r),r(),n}var C=n(64);n(8358),n(3681),n(7973);let q,F=0;const O=new Array(256);for(let N=0;N<256;N++)O[N]=(N+256).toString(16).substring(1);const E=(()=>{const e="undefined"!==typeof crypto?crypto:"undefined"!==typeof window?window.crypto||window.msCrypto:void 0;if(void 0!==e){if(void 0!==e.randomBytes)return e.randomBytes;if(void 0!==e.getRandomValues)return t=>{const n=new Uint8Array(t);return e.getRandomValues(n),n}}return e=>{const t=[];for(let n=e;n>0;n--)t.push(Math.floor(256*Math.random()));return t}})(),T=4096;function A(){(void 0===q||F+16>T)&&(F=0,q=E(T));const e=Array.prototype.slice.call(q,F,F+=16);return e[6]=15&e[6]|64,e[8]=63&e[8]|128,O[e[0]]+O[e[1]]+O[e[2]]+O[e[3]]+"-"+O[e[4]]+O[e[5]]+"-"+O[e[6]]+O[e[7]]+"-"+O[e[8]]+O[e[9]]+"-"+O[e[10]]+O[e[11]]+O[e[12]]+O[e[13]]+O[e[14]]+O[e[15]]}var $=n(3027),L=n(6146);function P(e,t){return void 0===e?!0===t?`f_${A()}`:void 0:e}function R(e){return void 0!==e&&null!==e&&0!==(""+e).length}const M={...u.S,...w,label:String,stackLabel:Boolean,hint:String,hideHint:Boolean,prefix:String,suffix:String,labelColor:String,color:String,bgColor:String,filled:Boolean,outlined:Boolean,borderless:Boolean,standout:[Boolean,String],square:Boolean,loading:Boolean,labelSlot:Boolean,bottomSlots:Boolean,hideBottomSpace:Boolean,rounded:Boolean,dense:Boolean,itemAligned:Boolean,counter:Boolean,clearable:Boolean,clearIcon:String,disable:Boolean,readonly:Boolean,autofocus:Boolean,for:String,maxlength:[Number,String]},j=["update:modelValue","clear","focus","blur","popupShow","popupHide"];function V({requiredForAttr:e=!0,tagProp:t}={}){const{props:n,attrs:r,proxy:l,vnode:a}=(0,o.FN)(),s=(0,u.Z)(n,l.$q);return{requiredForAttr:e,tag:!0===t?(0,o.Fl)((()=>n.tag)):{value:"label"},isDark:s,editable:(0,o.Fl)((()=>!0!==n.disable&&!0!==n.readonly)),innerLoading:(0,i.iH)(!1),focused:(0,i.iH)(!1),hasPopupOpen:!1,splitAttrs:k(r,a),targetUid:(0,i.iH)(P(n.for,e)),rootRef:(0,i.iH)(null),targetRef:(0,i.iH)(null),controlRef:(0,i.iH)(null)}}function B(e){const{props:t,emit:n,slots:i,attrs:u,proxy:c}=(0,o.FN)(),{$q:d}=c;let f=null;void 0===e.hasValue&&(e.hasValue=(0,o.Fl)((()=>R(t.modelValue)))),void 0===e.emitValue&&(e.emitValue=e=>{n("update:modelValue",e)}),void 0===e.controlEvents&&(e.controlEvents={onFocusin:j,onFocusout:V}),Object.assign(e,{clearValue:B,onControlFocusin:j,onControlFocusout:V,focus:T}),void 0===e.computedCounter&&(e.computedCounter=(0,o.Fl)((()=>{if(!1!==t.counter){const e="string"===typeof t.modelValue||"number"===typeof t.modelValue?(""+t.modelValue).length:!0===Array.isArray(t.modelValue)?t.modelValue.length:0,n=void 0!==t.maxlength?t.maxlength:t.maxValues;return e+(void 0!==n?" / "+n:"")}})));const{isDirtyModel:p,hasRules:v,hasError:h,errorMessage:m,resetValidation:g}=x(e.focused,e.innerLoading),y=void 0!==e.floatingLabel?(0,o.Fl)((()=>!0===t.stackLabel||!0===e.focused.value||!0===e.floatingLabel.value)):(0,o.Fl)((()=>!0===t.stackLabel||!0===e.focused.value||!0===e.hasValue.value)),b=(0,o.Fl)((()=>!0===t.bottomSlots||void 0!==t.hint||!0===v.value||!0===t.counter||null!==t.error)),_=(0,o.Fl)((()=>!0===t.filled?"filled":!0===t.outlined?"outlined":!0===t.borderless?"borderless":t.standout?"standout":"standard")),w=(0,o.Fl)((()=>`q-field row no-wrap items-start q-field--${_.value}`+(void 0!==e.fieldClass?` ${e.fieldClass.value}`:"")+(!0===t.rounded?" q-field--rounded":"")+(!0===t.square?" q-field--square":"")+(!0===y.value?" q-field--float":"")+(!0===k.value?" q-field--labeled":"")+(!0===t.dense?" q-field--dense":"")+(!0===t.itemAligned?" q-field--item-aligned q-item-type":"")+(!0===e.isDark.value?" q-field--dark":"")+(void 0===e.getControl?" q-field--auto-height":"")+(!0===e.focused.value?" q-field--focused":"")+(!0===h.value?" q-field--error":"")+(!0===h.value||!0===e.focused.value?" q-field--highlighted":"")+(!0!==t.hideBottomSpace&&!0===b.value?" q-field--with-bottom":"")+(!0===t.disable?" q-field--disabled":!0===t.readonly?" q-field--readonly":""))),S=(0,o.Fl)((()=>"q-field__control relative-position row no-wrap"+(void 0!==t.bgColor?` bg-${t.bgColor}`:"")+(!0===h.value?" text-negative":"string"===typeof t.standout&&0!==t.standout.length&&!0===e.focused.value?` ${t.standout}`:void 0!==t.color?` text-${t.color}`:""))),k=(0,o.Fl)((()=>!0===t.labelSlot||void 0!==t.label)),q=(0,o.Fl)((()=>"q-field__label no-pointer-events absolute ellipsis"+(void 0!==t.labelColor&&!0!==h.value?` text-${t.labelColor}`:""))),F=(0,o.Fl)((()=>({id:e.targetUid.value,editable:e.editable.value,focused:e.focused.value,floatingLabel:y.value,modelValue:t.modelValue,emitValue:e.emitValue}))),O=(0,o.Fl)((()=>{const n={for:e.targetUid.value};return!0===t.disable?n["aria-disabled"]="true":!0===t.readonly&&(n["aria-readonly"]="true"),n}));function E(){const t=document.activeElement;let n=void 0!==e.targetRef&&e.targetRef.value;!n||null!==t&&t.id===e.targetUid.value||(!0===n.hasAttribute("tabindex")||(n=n.querySelector("[tabindex]")),n&&n!==t&&n.focus({preventScroll:!0}))}function T(){(0,L.jd)(E)}function M(){(0,L.fP)(E);const t=document.activeElement;null!==t&&e.rootRef.value.contains(t)&&t.blur()}function j(t){null!==f&&(clearTimeout(f),f=null),!0===e.editable.value&&!1===e.focused.value&&(e.focused.value=!0,n("focus",t))}function V(t,o){null!==f&&clearTimeout(f),f=setTimeout((()=>{f=null,(!0!==document.hasFocus()||!0!==e.hasPopupOpen&&void 0!==e.controlRef&&null!==e.controlRef.value&&!1===e.controlRef.value.contains(document.activeElement))&&(!0===e.focused.value&&(e.focused.value=!1,n("blur",t)),void 0!==o&&o())}))}function B(i){if((0,$.NS)(i),!0!==d.platform.is.mobile){const t=void 0!==e.targetRef&&e.targetRef.value||e.rootRef.value;t.focus()}else!0===e.rootRef.value.contains(document.activeElement)&&document.activeElement.blur();"file"===t.type&&(e.inputRef.value.value=null),n("update:modelValue",null),n("clear",t.modelValue),(0,o.Y3)((()=>{g(),!0!==d.platform.is.mobile&&(p.value=!1)}))}function N(){const n=[];return void 0!==i.prepend&&n.push((0,o.h)("div",{class:"q-field__prepend q-field__marginal row no-wrap items-center",key:"prepend",onClick:$.X$},i.prepend())),n.push((0,o.h)("div",{class:"q-field__control-container col relative-position row no-wrap q-anchor--skip"},I())),!0===h.value&&!1===t.noErrorIcon&&n.push(z("error",[(0,o.h)(a.Z,{name:d.iconSet.field.error,color:"negative"})])),!0===t.loading||!0===e.innerLoading.value?n.push(z("inner-loading-append",void 0!==i.loading?i.loading():[(0,o.h)(s.Z,{color:t.color})])):!0===t.clearable&&!0===e.hasValue.value&&!0===e.editable.value&&n.push(z("inner-clearable-append",[(0,o.h)(a.Z,{class:"q-field__focusable-action",tag:"button",name:t.clearIcon||d.iconSet.field.clear,tabindex:0,type:"button","aria-hidden":null,role:null,onClick:B})])),void 0!==i.append&&n.push((0,o.h)("div",{class:"q-field__append q-field__marginal row no-wrap items-center",key:"append",onClick:$.X$},i.append())),void 0!==e.getInnerAppend&&n.push(z("inner-append",e.getInnerAppend())),void 0!==e.getControlChild&&n.push(e.getControlChild()),n}function I(){const n=[];return void 0!==t.prefix&&null!==t.prefix&&n.push((0,o.h)("div",{class:"q-field__prefix no-pointer-events row items-center"},t.prefix)),void 0!==e.getShadowControl&&!0===e.hasShadow.value&&n.push(e.getShadowControl()),void 0!==e.getControl?n.push(e.getControl()):void 0!==i.rawControl?n.push(i.rawControl()):void 0!==i.control&&n.push((0,o.h)("div",{ref:e.targetRef,class:"q-field__native row",tabindex:-1,...e.splitAttrs.attributes.value,"data-autofocus":!0===t.autofocus||void 0},i.control(F.value))),!0===k.value&&n.push((0,o.h)("div",{class:q.value},(0,C.KR)(i.label,t.label))),void 0!==t.suffix&&null!==t.suffix&&n.push((0,o.h)("div",{class:"q-field__suffix no-pointer-events row items-center"},t.suffix)),n.concat((0,C.KR)(i.default))}function H(){let n,l;!0===h.value?null!==m.value?(n=[(0,o.h)("div",{role:"alert"},m.value)],l=`q--slot-error-${m.value}`):(n=(0,C.KR)(i.error),l="q--slot-error"):!0===t.hideHint&&!0!==e.focused.value||(void 0!==t.hint?(n=[(0,o.h)("div",t.hint)],l=`q--slot-hint-${t.hint}`):(n=(0,C.KR)(i.hint),l="q--slot-hint"));const a=!0===t.counter||void 0!==i.counter;if(!0===t.hideBottomSpace&&!1===a&&void 0===n)return;const s=(0,o.h)("div",{key:l,class:"q-field__messages col"},n);return(0,o.h)("div",{class:"q-field__bottom row items-start q-field__bottom--"+(!0!==t.hideBottomSpace?"animated":"stale"),onClick:$.X$},[!0===t.hideBottomSpace?s:(0,o.h)(r.uT,{name:"q-transition--field-message"},(()=>s)),!0===a?(0,o.h)("div",{class:"q-field__counter"},void 0!==i.counter?i.counter():e.computedCounter.value):null])}function z(e,t){return null===t?null:(0,o.h)("div",{key:e,class:"q-field__append q-field__marginal row no-wrap items-center q-anchor--skip"},t)}(0,o.YP)((()=>t.for),(t=>{e.targetUid.value=P(t,e.requiredForAttr)}));let D=!1;return(0,o.se)((()=>{D=!0})),(0,o.dl)((()=>{!0===D&&!0===t.autofocus&&c.focus()})),(0,o.bv)((()=>{!0===l.uX.value&&!0===e.requiredForAttr&&void 0===t.for&&(e.targetUid.value=`f_${A()}`),!0===t.autofocus&&c.focus()})),(0,o.Jd)((()=>{null!==f&&clearTimeout(f)})),Object.assign(c,{focus:T,blur:M}),function(){const n=void 0===e.getControl&&void 0===i.control?{...e.splitAttrs.attributes.value,"data-autofocus":!0===t.autofocus||void 0,...O.value}:O.value;return(0,o.h)(e.tag.value,{ref:e.rootRef,class:[w.value,u.class],style:u.style,...n},[void 0!==i.before?(0,o.h)("div",{class:"q-field__before q-field__marginal row no-wrap items-center",onClick:$.X$},i.before()):null,(0,o.h)("div",{class:"q-field__inner relative-position col self-stretch"},[(0,o.h)("div",{ref:e.controlRef,class:S.value,tabindex:-1,...e.controlEvents},N()),!0===b.value?H():null]),void 0!==i.after?(0,o.h)("div",{class:"q-field__after q-field__marginal row no-wrap items-center",onClick:$.X$},i.after()):null])}}},9976:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var o=n(9269);function i(e,t){function n(){const t=e.modelValue;try{const e="DataTransfer"in window?new DataTransfer:"ClipboardEvent"in window?new ClipboardEvent("").clipboardData:void 0;return Object(t)===t&&("length"in t?Array.from(t):[t]).forEach((t=>{e.items.add(t)})),{files:e.files}}catch(n){return{files:void 0}}}return!0===t?(0,o.Fl)((()=>{if("file"===e.type)return n()})):(0,o.Fl)(n)}},9724:function(e,t,n){"use strict";n.d(t,{Do:function(){return l},Fz:function(){return i},eX:function(){return r}});var o=n(9269);const i={name:String};function r(e={}){return(t,n,i)=>{t[n]((0,o.h)("input",{class:"hidden"+(i||""),...e.value}))}}function l(e){return(0,o.Fl)((()=>e.name||e.for))}},5573:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});var o=n(9269),i=n(6114);function r(e,t,n){let r;function l(){void 0!==r&&(i.Z.remove(r),r=void 0)}return(0,o.Jd)((()=>{!0===e.value&&l()})),{removeFromHistory:l,addToHistory(){r={condition:()=>!0===n.value,handler:t},i.Z.add(r)}}}},447:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var o=n(1013);const i=/[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/,r=/[\u4e00-\u9fff\u3400-\u4dbf\u{20000}-\u{2a6df}\u{2a700}-\u{2b73f}\u{2b740}-\u{2b81f}\u{2b820}-\u{2ceaf}\uf900-\ufaff\u3300-\u33ff\ufe30-\ufe4f\uf900-\ufaff\u{2f800}-\u{2fa1f}]/u,l=/[\u3131-\u314e\u314f-\u3163\uac00-\ud7a3]/,a=/[a-z0-9_ -]$/i;function s(e){return function(t){if("compositionend"===t.type||"change"===t.type){if(!0!==t.target.qComposing)return;t.target.qComposing=!1,e(t)}else if("compositionupdate"===t.type&&!0!==t.target.qComposing&&"string"===typeof t.data){const e=!0===o.client.is.firefox?!1===a.test(t.data):!0===i.test(t.data)||!0===r.test(t.data)||!0===l.test(t.data);!0===e&&(t.target.qComposing=!0)}}}},9216:function(e,t,n){"use strict";n.d(t,{ZP:function(){return a},gH:function(){return l},vr:function(){return r}});var o=n(9269),i=n(6380);const r={modelValue:{type:Boolean,default:null},"onUpdate:modelValue":[Function,Array]},l=["beforeShow","show","beforeHide","hide"];function a({showing:e,canShow:t,hideOnRouteChange:n,handleShow:r,handleHide:l,processOnMount:a}){const s=(0,o.FN)(),{props:u,emit:c,proxy:d}=s;let f;function p(t){!0===e.value?m(t):v(t)}function v(e){if(!0===u.disable||void 0!==e&&!0===e.qAnchorHandled||void 0!==t&&!0!==t(e))return;const n=void 0!==u["onUpdate:modelValue"];!0===n&&(c("update:modelValue",!0),f=e,(0,o.Y3)((()=>{f===e&&(f=void 0)}))),null!==u.modelValue&&!1!==n||h(e)}function h(t){!0!==e.value&&(e.value=!0,c("beforeShow",t),void 0!==r?r(t):c("show",t))}function m(e){if(!0===u.disable)return;const t=void 0!==u["onUpdate:modelValue"];!0===t&&(c("update:modelValue",!1),f=e,(0,o.Y3)((()=>{f===e&&(f=void 0)}))),null!==u.modelValue&&!1!==t||g(e)}function g(t){!1!==e.value&&(e.value=!1,c("beforeHide",t),void 0!==l?l(t):c("hide",t))}function y(t){if(!0===u.disable&&!0===t)void 0!==u["onUpdate:modelValue"]&&c("update:modelValue",!1);else if(!0===t!==e.value){const e=!0===t?h:g;e(f)}}(0,o.YP)((()=>u.modelValue),y),void 0!==n&&!0===(0,i.Rb)(s)&&(0,o.YP)((()=>d.$route.fullPath),(()=>{!0===n.value&&!0===e.value&&m()})),!0===a&&(0,o.bv)((()=>{y(u.modelValue)}));const b={show:v,hide:m,toggle:p};return Object.assign(d,b),b}},3852:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});n(121);var o=n(6237),i=n(9269),r=(n(3027),n(6146)),l=n(3205),a=n(1761),s=n(3613);function u(e){e=e.parent;while(void 0!==e&&null!==e){if("QGlobalDialog"===e.type.name)return!0;if("QDialog"===e.type.name||"QMenu"===e.type.name)return!1;e=e.parent}return!1}function c(e,t,n,c){const d=(0,o.iH)(!1),f=(0,o.iH)(!1);let p=null;const v={},h="dialog"===c&&u(e);function m(t){if(!0===t)return(0,r.xF)(v),void(f.value=!0);f.value=!1,!1===d.value&&(!1===h&&null===p&&(p=(0,l.q_)(!1,c)),d.value=!0,a.Q$.push(e.proxy),(0,r.YX)(v))}function g(t){if(f.value=!1,!0!==t)return;(0,r.xF)(v),d.value=!1;const n=a.Q$.indexOf(e.proxy);-1!==n&&a.Q$.splice(n,1),null!==p&&((0,l.pB)(p),p=null)}return(0,i.Ah)((()=>{g(!0)})),e.proxy.__qPortal=!0,(0,s.g)(e.proxy,"contentEl",(()=>t.value)),{showPortal:m,hidePortal:g,portalIsActive:d,portalIsAccessible:f,renderPortal:()=>!0===h?n():!0===d.value?[(0,i.h)(i.lR,{to:p},n())]:void 0}}},5296:function(e,t,n){"use strict";n.d(t,{Z:function(){return w}});var o=n(3027),i=n(7336),r=n(1013);let l,a,s,u,c,d,f=0,p=!1,v=null;function h(e){m(e)&&(0,o.NS)(e)}function m(e){if(e.target===document.body||e.target.classList.contains("q-layout__backdrop"))return!0;const t=(0,o.AZ)(e),n=e.shiftKey&&!e.deltaX,r=!n&&Math.abs(e.deltaX)<=Math.abs(e.deltaY),l=n||r?e.deltaY:e.deltaX;for(let o=0;o0&&e.scrollTop+e.clientHeight===e.scrollHeight:l<0&&0===e.scrollLeft||l>0&&e.scrollLeft+e.clientWidth===e.scrollWidth}return!0}function g(e){e.target===document&&(document.scrollingElement.scrollTop=document.scrollingElement.scrollTop)}function y(e){!0!==p&&(p=!0,requestAnimationFrame((()=>{p=!1;const{height:t}=e.target,{clientHeight:n,scrollTop:o}=document.scrollingElement;void 0!==s&&t===window.innerHeight||(s=n-t,document.scrollingElement.scrollTop=o),o>s&&(document.scrollingElement.scrollTop-=Math.ceil((o-s)/8))})))}function b(e){const t=document.body,n=void 0!==window.visualViewport;if("add"===e){const{overflowY:e,overflowX:s}=window.getComputedStyle(t);l=(0,i.OI)(window),a=(0,i.u3)(window),u=t.style.left,c=t.style.top,d=window.location.href,t.style.left=`-${l}px`,t.style.top=`-${a}px`,"hidden"!==s&&("scroll"===s||t.scrollWidth>window.innerWidth)&&t.classList.add("q-body--force-scrollbar-x"),"hidden"!==e&&("scroll"===e||t.scrollHeight>window.innerHeight)&&t.classList.add("q-body--force-scrollbar-y"),t.classList.add("q-body--prevent-scroll"),document.qScrollPrevented=!0,!0===r.client.is.ios&&(!0===n?(window.scrollTo(0,0),window.visualViewport.addEventListener("resize",y,o.listenOpts.passiveCapture),window.visualViewport.addEventListener("scroll",y,o.listenOpts.passiveCapture),window.scrollTo(0,0)):window.addEventListener("scroll",g,o.listenOpts.passiveCapture))}!0===r.client.is.desktop&&!0===r.client.is.mac&&window[`${e}EventListener`]("wheel",h,o.listenOpts.notPassive),"remove"===e&&(!0===r.client.is.ios&&(!0===n?(window.visualViewport.removeEventListener("resize",y,o.listenOpts.passiveCapture),window.visualViewport.removeEventListener("scroll",y,o.listenOpts.passiveCapture)):window.removeEventListener("scroll",g,o.listenOpts.passiveCapture)),t.classList.remove("q-body--prevent-scroll"),t.classList.remove("q-body--force-scrollbar-x"),t.classList.remove("q-body--force-scrollbar-y"),document.qScrollPrevented=!1,t.style.left=u,t.style.top=c,window.location.href===d&&window.scrollTo(l,a),s=void 0)}function _(e){let t="add";if(!0===e){if(f++,null!==v)return clearTimeout(v),void(v=null);if(f>1)return}else{if(0===f)return;if(f--,f>0)return;if(t="remove",!0===r.client.is.ios&&!0===r.client.is.nativeMobile)return null!==v&&clearTimeout(v),void(v=setTimeout((()=>{b(t),v=null}),100))}b(t)}function w(){let e;return{preventBodyScroll(t){t===e||void 0===e&&!0!==t||(e=t,_(t))}}}},2453:function(e,t,n){"use strict";n.d(t,{$:function(){return d},Z:function(){return f}});var o=n(9269),i=n(6380);function r(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}function l(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function a(e,t){for(const n in t){const o=t[n],i=e[n];if("string"===typeof o){if(o!==i)return!1}else if(!1===Array.isArray(i)||i.length!==o.length||o.some(((e,t)=>e!==i[t])))return!1}return!0}function s(e,t){return!0===Array.isArray(t)?e.length===t.length&&e.every(((e,n)=>e===t[n])):1===e.length&&e[0]===t}function u(e,t){return!0===Array.isArray(e)?s(e,t):!0===Array.isArray(t)?s(t,e):e===t}function c(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!1===u(e[n],t[n]))return!1;return!0}const d={to:[String,Object],replace:Boolean,exact:Boolean,activeClass:{type:String,default:"q-router-link--active"},exactActiveClass:{type:String,default:"q-router-link--exact-active"},href:String,target:String,disable:Boolean};function f({fallbackTag:e,useDisableForRouterLinkProps:t=!0}={}){const n=(0,o.FN)(),{props:s,proxy:u,emit:d}=n,f=(0,i.Rb)(n),p=(0,o.Fl)((()=>!0!==s.disable&&void 0!==s.href)),v=!0===t?(0,o.Fl)((()=>!0===f&&!0!==s.disable&&!0!==p.value&&void 0!==s.to&&null!==s.to&&""!==s.to)):(0,o.Fl)((()=>!0===f&&!0!==p.value&&void 0!==s.to&&null!==s.to&&""!==s.to)),h=(0,o.Fl)((()=>!0===v.value?k(s.to):null)),m=(0,o.Fl)((()=>null!==h.value)),g=(0,o.Fl)((()=>!0===p.value||!0===m.value)),y=(0,o.Fl)((()=>"a"===s.type||!0===g.value?"a":s.tag||e||"div")),b=(0,o.Fl)((()=>!0===p.value?{href:s.href,target:s.target}:!0===m.value?{href:h.value.href,target:s.target}:{})),_=(0,o.Fl)((()=>{if(!1===m.value)return-1;const{matched:e}=h.value,{length:t}=e,n=e[t-1];if(void 0===n)return-1;const o=u.$route.matched;if(0===o.length)return-1;const i=o.findIndex(l.bind(null,n));if(i>-1)return i;const a=r(e[t-2]);return t>1&&r(n)===a&&o[o.length-1].path!==a?o.findIndex(l.bind(null,e[t-2])):i})),w=(0,o.Fl)((()=>!0===m.value&&-1!==_.value&&a(u.$route.params,h.value.params))),x=(0,o.Fl)((()=>!0===w.value&&_.value===u.$route.matched.length-1&&c(u.$route.params,h.value.params))),S=(0,o.Fl)((()=>!0===m.value?!0===x.value?` ${s.exactActiveClass} ${s.activeClass}`:!0===s.exact?"":!0===w.value?` ${s.activeClass}`:"":""));function k(e){try{return u.$router.resolve(e)}catch(t){}return null}function C(e,{returnRouterError:t,to:n=s.to,replace:o=s.replace}={}){if(!0===s.disable)return e.preventDefault(),Promise.resolve(!1);if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||void 0!==e.button&&0!==e.button||"_blank"===s.target)return Promise.resolve(!1);e.preventDefault();const i=u.$router[!0===o?"replace":"push"](n);return!0===t?i:i.then((()=>{})).catch((()=>{}))}function q(e){if(!0===m.value){const t=t=>C(e,t);d("click",e,t),!0!==e.defaultPrevented&&t()}else d("click",e)}return{hasRouterLink:m,hasHrefLink:p,hasLink:g,linkTag:y,resolvedLink:h,linkIsActive:w,linkIsExactActive:x,linkClass:S,linkAttrs:b,getLink:k,navigateToRouterLink:C,navigateOnClick:q}}},505:function(e,t,n){"use strict";n.d(t,{LU:function(){return r},Ok:function(){return i},ZP:function(){return l}});var o=n(9269);const i={xs:18,sm:24,md:32,lg:38,xl:46},r={size:String};function l(e,t=i){return(0,o.Fl)((()=>void 0!==e.size?{fontSize:e.size in t?`${t[e.size]}px`:e.size}:null))}},6775:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});var o=n(9269),i=n(6380);function r(){let e;const t=(0,o.FN)();function n(){e=void 0}return(0,o.se)(n),(0,o.Jd)(n),{removeTick:n,registerTick(n){e=n,(0,o.Y3)((()=>{e===n&&(!1===(0,i.$D)(t)&&e(),e=void 0)}))}}}},7933:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});var o=n(9269),i=n(6380);function r(){let e=null;const t=(0,o.FN)();function n(){null!==e&&(clearTimeout(e),e=null)}return(0,o.se)(n),(0,o.Jd)(n),{removeTimeout:n,registerTimeout(o,r){n(e),!1===(0,i.$D)(t)&&(e=setTimeout(o,r))}}}},959:function(e,t,n){"use strict";n.d(t,{D:function(){return i},Z:function(){return r}});var o=n(9269);const i={transitionShow:{type:String,default:"fade"},transitionHide:{type:String,default:"fade"},transitionDuration:{type:[String,Number],default:300}};function r(e,t=(()=>{}),n=(()=>{})){return{transitionProps:(0,o.Fl)((()=>{const o=`q-transition--${e.transitionShow||t()}`,i=`q-transition--${e.transitionHide||n()}`;return{appear:!0,enterFromClass:`${o}-enter-from`,enterActiveClass:`${o}-enter-active`,enterToClass:`${o}-enter-to`,leaveFromClass:`${i}-leave-from`,leaveActiveClass:`${i}-leave-active`,leaveToClass:`${i}-leave-to`}})),transitionStyle:(0,o.Fl)((()=>`--q-transition-duration: ${e.transitionDuration}ms`))}}},5999:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});var o=n(9269),i=n(4300);function r(){return(0,o.f3)(i.Ng)}},8819:function(e,t,n){"use strict";var o=n(3856),i=n(1761),r=n(6809);function l(e){if(!1===e)return 0;if(!0===e||void 0===e)return 1;const t=parseInt(e,10);return isNaN(t)?0:t}t.Z=(0,o.f)({name:"close-popup",beforeMount(e,{value:t}){const n={depth:l(t),handler(t){0!==n.depth&&setTimeout((()=>{const o=(0,i.je)(e);void 0!==o&&(0,i.S7)(o,t,n.depth)}))},handlerKey(e){!0===(0,r.So)(e,13)&&n.handler(e)}};e.__qclosepopup=n,e.addEventListener("click",n.handler),e.addEventListener("keyup",n.handlerKey)},updated(e,{value:t,oldValue:n}){t!==n&&(e.__qclosepopup.depth=l(t))},beforeUnmount(e){const t=e.__qclosepopup;e.removeEventListener("click",t.handler),e.removeEventListener("keyup",t.handlerKey),delete e.__qclosepopup}})},8108:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});n(121);var o=n(3856),i=n(6145),r=n(3027),l=n(6809);function a(e,t=250){let n,o=!1;return function(){return!1===o&&(o=!0,setTimeout((()=>{o=!1}),t),n=e.apply(this,arguments)),n}}function s(e,t,n,o){!0===n.modifiers.stop&&(0,r.sT)(e);const l=n.modifiers.color;let a=n.modifiers.center;a=!0===a||!0===o;const s=document.createElement("span"),u=document.createElement("span"),c=(0,r.FK)(e),{left:d,top:f,width:p,height:v}=t.getBoundingClientRect(),h=Math.sqrt(p*p+v*v),m=h/2,g=(p-h)/2+"px",y=a?g:c.left-d-m+"px",b=(v-h)/2+"px",_=a?b:c.top-f-m+"px";u.className="q-ripple__inner",(0,i.iv)(u,{height:`${h}px`,width:`${h}px`,transform:`translate3d(${y},${_},0) scale3d(.2,.2,1)`,opacity:0}),s.className="q-ripple"+(l?" text-"+l:""),s.setAttribute("dir","ltr"),s.appendChild(u),t.appendChild(s);const w=()=>{s.remove(),clearTimeout(x)};n.abort.push(w);let x=setTimeout((()=>{u.classList.add("q-ripple__inner--enter"),u.style.transform=`translate3d(${g},${b},0) scale3d(1,1,1)`,u.style.opacity=.2,x=setTimeout((()=>{u.classList.remove("q-ripple__inner--enter"),u.classList.add("q-ripple__inner--leave"),u.style.opacity=0,x=setTimeout((()=>{s.remove(),n.abort.splice(n.abort.indexOf(w),1)}),275)}),250)}),50)}function u(e,{modifiers:t,value:n,arg:o}){const i=Object.assign({},e.cfg.ripple,t,n);e.modifiers={early:!0===i.early,stop:!0===i.stop,center:!0===i.center,color:i.color||o,keyCodes:[].concat(i.keyCodes||13)}}var c=(0,o.f)({name:"ripple",beforeMount(e,t){const n=t.instance.$.appContext.config.globalProperties.$q.config||{};if(!1===n.ripple)return;const o={cfg:n,enabled:!1!==t.value,modifiers:{},abort:[],start(t){!0===o.enabled&&!0!==t.qSkipRipple&&t.type===(!0===o.modifiers.early?"pointerdown":"click")&&s(t,e,o,!0===t.qKeyEvent)},keystart:a((t=>{!0===o.enabled&&!0!==t.qSkipRipple&&!0===(0,l.So)(t,o.modifiers.keyCodes)&&t.type==="key"+(!0===o.modifiers.early?"down":"up")&&s(t,e,o,!0)}),300)};u(o,t),e.__qripple=o,(0,r.M0)(o,"main",[[e,"pointerdown","start","passive"],[e,"click","start","passive"],[e,"keydown","keystart","passive"],[e,"keyup","keystart","passive"]])},updated(e,t){if(t.oldValue!==t.value){const n=e.__qripple;void 0!==n&&(n.enabled=!1!==t.value,!0===n.enabled&&Object(t.value)===t.value&&u(n,t))}},beforeUnmount(e){const t=e.__qripple;void 0!==t&&(t.abort.forEach((e=>{e()})),(0,r.ul)(t,"main"),delete e._qripple)}})},6114:function(e,t,n){"use strict";n(121);var o=n(1013),i=n(3027);const r=()=>!0;function l(e){return"string"===typeof e&&""!==e&&"/"!==e&&"#/"!==e}function a(e){return!0===e.startsWith("#")&&(e=e.substring(1)),!1===e.startsWith("/")&&(e="/"+e),!0===e.endsWith("/")&&(e=e.substring(0,e.length-1)),"#"+e}function s(e){if(!1===e.backButtonExit)return()=>!1;if("*"===e.backButtonExit)return r;const t=["#/"];return!0===Array.isArray(e.backButtonExit)&&t.push(...e.backButtonExit.filter(l).map(a)),()=>t.includes(window.location.hash)}t.Z={__history:[],add:i.ZT,remove:i.ZT,install({$q:e}){if(!0===this.__installed)return;const{cordova:t,capacitor:n}=o.client.is;if(!0!==t&&!0!==n)return;const i=e.config[!0===t?"cordova":"capacitor"];if(void 0!==i&&!1===i.backButton)return;if(!0===n&&(void 0===window.Capacitor||void 0===window.Capacitor.Plugins.App))return;this.add=e=>{void 0===e.condition&&(e.condition=r),this.__history.push(e)},this.remove=e=>{const t=this.__history.indexOf(e);t>=0&&this.__history.splice(t,1)};const l=s(Object.assign({backButtonExit:!0},i)),a=()=>{if(this.__history.length){const e=this.__history[this.__history.length-1];!0===e.condition()&&(this.__history.pop(),e.handler())}else!0===l()?navigator.app.exitApp():window.history.back()};!0===t?document.addEventListener("deviceready",(()=>{document.addEventListener("backbutton",a,!1)})):window.Capacitor.Plugins.App.addListener("backButton",a)}}},1428:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var o=n(4792),i=n(3613),r={name:"material-icons",type:{positive:"check_circle",negative:"warning",info:"info",warning:"priority_high"},arrow:{up:"arrow_upward",right:"arrow_forward",down:"arrow_downward",left:"arrow_back",dropdown:"arrow_drop_down"},chevron:{left:"chevron_left",right:"chevron_right"},colorPicker:{spectrum:"gradient",tune:"tune",palette:"style"},pullToRefresh:{icon:"refresh"},carousel:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down",navigationIcon:"lens"},chip:{remove:"cancel",selected:"check"},datetime:{arrowLeft:"chevron_left",arrowRight:"chevron_right",now:"access_time",today:"today"},editor:{bold:"format_bold",italic:"format_italic",strikethrough:"strikethrough_s",underline:"format_underlined",unorderedList:"format_list_bulleted",orderedList:"format_list_numbered",subscript:"vertical_align_bottom",superscript:"vertical_align_top",hyperlink:"link",toggleFullscreen:"fullscreen",quote:"format_quote",left:"format_align_left",center:"format_align_center",right:"format_align_right",justify:"format_align_justify",print:"print",outdent:"format_indent_decrease",indent:"format_indent_increase",removeFormat:"format_clear",formatting:"text_format",fontSize:"format_size",align:"format_align_left",hr:"remove",undo:"undo",redo:"redo",heading:"format_size",code:"code",size:"format_size",font:"font_download",viewSource:"code"},expansionItem:{icon:"keyboard_arrow_down",denseIcon:"arrow_drop_down"},fab:{icon:"add",activeIcon:"close"},field:{clear:"cancel",error:"error"},pagination:{first:"first_page",prev:"keyboard_arrow_left",next:"keyboard_arrow_right",last:"last_page"},rating:{icon:"grade"},stepper:{done:"check",active:"edit",error:"warning"},tabs:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down"},table:{arrowUp:"arrow_upward",warning:"warning",firstPage:"first_page",prevPage:"chevron_left",nextPage:"chevron_right",lastPage:"last_page"},tree:{icon:"play_arrow"},uploader:{done:"done",clear:"clear",add:"add_box",upload:"cloud_upload",removeQueue:"clear_all",removeUploaded:"done_all"}};const l=(0,o.Z)({iconMapFn:null,__icons:{}},{set(e,t){const n={...e,rtl:!0===e.rtl};n.set=l.set,Object.assign(l.__icons,n)},install({$q:e,iconSet:t,ssrContext:n}){void 0!==e.config.iconMapFn&&(this.iconMapFn=e.config.iconMapFn),e.iconSet=this.__icons,(0,i.g)(e,"iconMapFn",(()=>this.iconMapFn),(e=>{this.iconMapFn=e})),!0===this.__installed?void 0!==t&&this.set(t):this.set(t||r)}});var a=l},6120:function(e,t,n){"use strict";n.d(t,{$:function(){return F},Z:function(){return T}});var o=n(5102),i=n(1013),r=(n(121),n(4792)),l=n(3027),a=n(7265);const s=["sm","md","lg","xl"],{passive:u}=l.listenOpts;var c=(0,r.Z)({width:0,height:0,name:"xs",sizes:{sm:600,md:1024,lg:1440,xl:1920},lt:{sm:!0,md:!0,lg:!0,xl:!0},gt:{xs:!1,sm:!1,md:!1,lg:!1},xs:!0,sm:!1,md:!1,lg:!1,xl:!1},{setSizes:l.ZT,setDebounce:l.ZT,install({$q:e,onSSRHydrated:t}){if(e.screen=this,!0===this.__installed)return void(void 0!==e.config.screen&&(!1===e.config.screen.bodyClasses?document.body.classList.remove(`screen--${this.name}`):this.__update(!0)));const{visualViewport:n}=window,o=n||window,r=document.scrollingElement||document.documentElement,l=void 0===n||!0===i.client.is.mobile?()=>[Math.max(window.innerWidth,r.clientWidth),Math.max(window.innerHeight,r.clientHeight)]:()=>[n.width*n.scale+window.innerWidth-r.clientWidth,n.height*n.scale+window.innerHeight-r.clientHeight],c=void 0!==e.config.screen&&!0===e.config.screen.bodyClasses;this.__update=e=>{const[t,n]=l();if(n!==this.height&&(this.height=n),t!==this.width)this.width=t;else if(!0!==e)return;let o=this.sizes;this.gt.xs=t>=o.sm,this.gt.sm=t>=o.md,this.gt.md=t>=o.lg,this.gt.lg=t>=o.xl,this.lt.sm=t{s.forEach((t=>{void 0!==e[t]&&(f[t]=e[t])}))},this.setDebounce=e=>{p=e};const v=()=>{const e=getComputedStyle(document.body);e.getPropertyValue("--q-size-sm")&&s.forEach((t=>{this.sizes[t]=parseInt(e.getPropertyValue(`--q-size-${t}`),10)})),this.setSizes=e=>{s.forEach((t=>{e[t]&&(this.sizes[t]=e[t])})),this.__update(!0)},this.setDebounce=e=>{void 0!==d&&o.removeEventListener("resize",d,u),d=e>0?(0,a.Z)(this.__update,e):this.__update,o.addEventListener("resize",d,u)},this.setDebounce(p),0!==Object.keys(f).length?(this.setSizes(f),f=void 0):this.__update(),!0===c&&"xs"===this.name&&document.body.classList.add("screen--xs")};!0===i.uX.value?t.push(v):v()}});const d=(0,r.Z)({isActive:!1,mode:!1},{__media:void 0,set(e){d.mode=e,"auto"===e?(void 0===d.__media&&(d.__media=window.matchMedia("(prefers-color-scheme: dark)"),d.__updateMedia=()=>{d.set("auto")},d.__media.addListener(d.__updateMedia)),e=d.__media.matches):void 0!==d.__media&&(d.__media.removeListener(d.__updateMedia),d.__media=void 0),d.isActive=!0===e,document.body.classList.remove("body--"+(!0===e?"light":"dark")),document.body.classList.add("body--"+(!0===e?"dark":"light"))},toggle(){d.set(!1===d.isActive)},install({$q:e,onSSRHydrated:t,ssrContext:n}){const{dark:o}=e.config;if(e.dark=this,!0===this.__installed&&void 0===o)return;this.isActive=!0===o;const r=void 0!==o&&o;if(!0===i.uX.value){const e=e=>{this.__fromSSR=e},n=this.set;this.set=e,e(r),t.push((()=>{this.set=n,this.set(this.__fromSSR)}))}else this.set(r)}});var f=d,p=n(6114),v=n(6235);function h(e,t,n=document.body){if("string"!==typeof e)throw new TypeError("Expected a string as propName");if("string"!==typeof t)throw new TypeError("Expected a string as value");if(!(n instanceof Element))throw new TypeError("Expected a DOM element");n.style.setProperty(`--q-${e}`,t)}var m=n(6809);function g(e){return!0===e.ios?"ios":!0===e.android?"android":void 0}function y({is:e,has:t,within:n},o){const i=[!0===e.desktop?"desktop":"mobile",(!1===t.touch?"no-":"")+"touch"];if(!0===e.mobile){const t=g(e);void 0!==t&&i.push("platform-"+t)}if(!0===e.nativeMobile){const t=e.nativeMobileWrapper;i.push(t),i.push("native-mobile"),!0!==e.ios||void 0!==o[t]&&!1===o[t].iosStatusBarPadding||i.push("q-ios-padding")}else!0===e.electron?i.push("electron"):!0===e.bex&&i.push("bex");return!0===n.iframe&&i.push("within-iframe"),i}function b(){const{is:e}=i.client,t=document.body.className,n=new Set(t.replace(/ {2}/g," ").split(" "));if(void 0!==i.aG)n.delete("desktop"),n.add("platform-ios"),n.add("mobile");else if(!0!==e.nativeMobile&&!0!==e.electron&&!0!==e.bex)if(!0===e.desktop)n.delete("mobile"),n.delete("platform-ios"),n.delete("platform-android"),n.add("desktop");else if(!0===e.mobile){n.delete("desktop"),n.add("mobile");const t=g(e);void 0!==t?(n.add(`platform-${t}`),n.delete("platform-"+("ios"===t?"android":"ios"))):(n.delete("platform-ios"),n.delete("platform-android"))}!0===i.client.has.touch&&(n.delete("no-touch"),n.add("touch")),!0===i.client.within.iframe&&n.add("within-iframe");const o=Array.from(n).join(" ");t!==o&&(document.body.className=o)}function _(e){for(const t in e)h(t,e[t])}var w={install(e){if(!0!==this.__installed){if(!0===i.uX.value)b();else{const{$q:t}=e;void 0!==t.config.brand&&_(t.config.brand);const n=y(i.client,t.config);document.body.classList.add.apply(document.body.classList,n)}!0===i.client.is.ios&&document.body.addEventListener("touchstart",l.ZT),window.addEventListener("keydown",m.ZK,!0)}}},x=n(1428),S=n(4300),k=n(4233),C=n(3704);const q=[i.ZP,w,f,c,p.Z,v.Z,x.Z];function F(e,t){const n=(0,o.ri)(e);n.config.globalProperties=t.config.globalProperties;const{reload:i,...r}=t._context;return Object.assign(n._context,r),n}function O(e,t){t.forEach((t=>{t.install(e),t.__installed=!0}))}function E(e,t,n){e.config.globalProperties.$q=n.$q,e.provide(S.Ng,n.$q),O(n,q),void 0!==t.components&&Object.values(t.components).forEach((t=>{!0===(0,C.Kn)(t)&&void 0!==t.name&&e.component(t.name,t)})),void 0!==t.directives&&Object.values(t.directives).forEach((t=>{!0===(0,C.Kn)(t)&&void 0!==t.name&&e.directive(t.name,t)})),void 0!==t.plugins&&O(n,Object.values(t.plugins).filter((e=>"function"===typeof e.install&&!1===q.includes(e)))),!0===i.uX.value&&(n.$q.onSSRHydrated=()=>{n.onSSRHydrated.forEach((e=>{e()})),n.$q.onSSRHydrated=()=>{}})}var T=function(e,t={}){const n={version:"2.14.1"};!1===k.Uf?(void 0!==t.config&&Object.assign(k.w6,t.config),n.config={...k.w6},(0,k.tP)()):n.config=t.config||{},E(e,t,{parentApp:e,$q:n,lang:t.lang,iconSet:t.iconSet,onSSRHydrated:[]})}},6235:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var o=n(4792),i={isoName:"en-US",nativeName:"English (US)",label:{clear:"Clear",ok:"OK",cancel:"Cancel",close:"Close",set:"Set",select:"Select",reset:"Reset",remove:"Remove",update:"Update",create:"Create",search:"Search",filter:"Filter",refresh:"Refresh",expand:e=>e?`Expand "${e}"`:"Expand",collapse:e=>e?`Collapse "${e}"`:"Collapse"},date:{days:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),daysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),firstDayOfWeek:0,format24h:!1,pluralDay:"days"},table:{noData:"No data available",noResults:"No matching records found",loading:"Loading...",selectedRecords:e=>1===e?"1 record selected.":(0===e?"No":e)+" records selected.",recordsPerPage:"Records per page:",allRows:"All",pagination:(e,t,n)=>e+"-"+t+" of "+n,columns:"Columns"},editor:{url:"URL",bold:"Bold",italic:"Italic",strikethrough:"Strikethrough",underline:"Underline",unorderedList:"Unordered List",orderedList:"Ordered List",subscript:"Subscript",superscript:"Superscript",hyperlink:"Hyperlink",toggleFullscreen:"Toggle Fullscreen",quote:"Quote",left:"Left align",center:"Center align",right:"Right align",justify:"Justify align",print:"Print",outdent:"Decrease indentation",indent:"Increase indentation",removeFormat:"Remove formatting",formatting:"Formatting",fontSize:"Font Size",align:"Align",hr:"Insert Horizontal Rule",undo:"Undo",redo:"Redo",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",heading4:"Heading 4",heading5:"Heading 5",heading6:"Heading 6",paragraph:"Paragraph",code:"Code",size1:"Very small",size2:"A bit small",size3:"Normal",size4:"Medium-large",size5:"Big",size6:"Very big",size7:"Maximum",defaultFont:"Default Font",viewSource:"View Source"},tree:{noNodes:"No nodes available",noResults:"No matching nodes found"}};function r(){const e=!0===Array.isArray(navigator.languages)&&0!==navigator.languages.length?navigator.languages[0]:navigator.language;if("string"===typeof e)return e.split(/[-_]/).map(((e,t)=>0===t?e.toLowerCase():t>1||e.length<4?e.toUpperCase():e[0].toUpperCase()+e.slice(1).toLowerCase())).join("-")}const l=(0,o.Z)({__langPack:{}},{getLocale:r,set(e=i,t){const n={...e,rtl:!0===e.rtl,getLocale:r};if(n.set=l.set,void 0===l.__langConfig||!0!==l.__langConfig.noHtmlAttrs){const e=document.documentElement;e.setAttribute("dir",!0===n.rtl?"rtl":"ltr"),e.setAttribute("lang",n.isoName)}Object.assign(l.__langPack,n),l.props=n,l.isoName=n.isoName,l.nativeName=n.nativeName},install({$q:e,lang:t,ssrContext:n}){e.lang=l.__langPack,l.__langConfig=e.config.lang,!0===this.__installed?void 0!==t&&this.set(t):this.set(t||i)}});var a=l},853:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var o=n(1013),i=(n(121),n(3027)),r=n(3704);function l(e){return!0===(0,r.J_)(e)?"__q_date|"+e.toUTCString():!0===(0,r.Gf)(e)?"__q_expr|"+e.source:"number"===typeof e?"__q_numb|"+e:"boolean"===typeof e?"__q_bool|"+(e?"1":"0"):"string"===typeof e?"__q_strn|"+e:"function"===typeof e?"__q_strn|"+e.toString():e===Object(e)?"__q_objt|"+JSON.stringify(e):e}function a(e){const t=e.length;if(t<9)return e;const n=e.substring(0,8),o=e.substring(9);switch(n){case"__q_date":return new Date(o);case"__q_expr":return new RegExp(o);case"__q_numb":return Number(o);case"__q_bool":return Boolean("1"===o);case"__q_strn":return""+o;case"__q_objt":return JSON.parse(o);default:return e}}function s(){const e=()=>null;return{has:()=>!1,getLength:()=>0,getItem:e,getIndex:e,getKey:e,getAll:()=>{},getAllKeys:()=>[],set:i.ZT,remove:i.ZT,clear:i.ZT,isEmpty:()=>!0}}function u(e){const t=window[e+"Storage"],n=e=>{const n=t.getItem(e);return n?a(n):null};return{has:e=>null!==t.getItem(e),getLength:()=>t.length,getItem:n,getIndex:e=>ee{let e;const o={},i=t.length;for(let r=0;r{const e=[],n=t.length;for(let o=0;o{t.setItem(e,l(n))},remove:e=>{t.removeItem(e)},clear:()=>{t.clear()},isEmpty:()=>0===t.length}}const c=!1===o.client.has.webStorage?s():u("local"),d={install({$q:e}){e.localStorage=c}};Object.assign(d,c);var f=d},9797:function(e,t,n){"use strict";n(121);var o=n(6237),i=n(9269),r=n(5102),l=n(9393),a=n(4633),s=n(4686),u=n(2605),c=n(3856),d=(n(3027),n(3205)),f=n(6120),p=n(3704);let v=0;const h={},m={},g={},y={},b=/^\s*$/,_=[],w=["top-left","top-right","bottom-left","bottom-right","top","bottom","left","right","center"],x=["top-left","top-right","bottom-left","bottom-right"],S={positive:{icon:e=>e.iconSet.type.positive,color:"positive"},negative:{icon:e=>e.iconSet.type.negative,color:"negative"},warning:{icon:e=>e.iconSet.type.warning,color:"warning",textColor:"dark"},info:{icon:e=>e.iconSet.type.info,color:"info"},ongoing:{group:!1,timeout:0,spinner:!0,color:"grey-8"}};function k(e,t,n){if(!e)return F("parameter required");let i;const r={textColor:"white"};if(!0!==e.ignoreDefaults&&Object.assign(r,h),!1===(0,p.Kn)(e)&&(r.type&&Object.assign(r,S[r.type]),e={message:e}),Object.assign(r,S[e.type||r.type],e),"function"===typeof r.icon&&(r.icon=r.icon(t)),r.spinner?(!0===r.spinner&&(r.spinner=u.Z),r.spinner=(0,o.Xl)(r.spinner)):r.spinner=!1,r.meta={hasMedia:Boolean(!1!==r.spinner||r.icon||r.avatar),hasText:q(r.message)||q(r.caption)},r.position){if(!1===w.includes(r.position))return F("wrong position",e)}else r.position="bottom";if(void 0===r.timeout)r.timeout=5e3;else{const t=parseInt(r.timeout,10);if(isNaN(t)||t<0)return F("wrong timeout",e);r.timeout=t}0===r.timeout?r.progress=!1:!0===r.progress&&(r.meta.progressClass="q-notification__progress"+(r.progressClass?` ${r.progressClass}`:""),r.meta.progressStyle={animationDuration:`${r.timeout+1e3}ms`});const l=(!0===Array.isArray(e.actions)?e.actions:[]).concat(!0!==e.ignoreDefaults&&!0===Array.isArray(h.actions)?h.actions:[]).concat(void 0!==S[e.type]&&!0===Array.isArray(S[e.type].actions)?S[e.type].actions:[]),{closeBtn:a}=r;if(a&&l.push({label:"string"===typeof a?a:t.lang.label.close}),r.actions=l.map((({handler:e,noDismiss:t,...n})=>({flat:!0,...n,onClick:"function"===typeof e?()=>{e(),!0!==t&&s()}:()=>{s()}}))),void 0===r.multiLine&&(r.multiLine=r.actions.length>1),Object.assign(r.meta,{class:"q-notification row items-stretch q-notification--"+(!0===r.multiLine?"multi-line":"standard")+(void 0!==r.color?` bg-${r.color}`:"")+(void 0!==r.textColor?` text-${r.textColor}`:"")+(void 0!==r.classes?` ${r.classes}`:""),wrapperClass:"q-notification__wrapper col relative-position border-radius-inherit "+(!0===r.multiLine?"column no-wrap justify-center":"row items-center"),contentClass:"q-notification__content row items-center"+(!0===r.multiLine?"":" col"),leftClass:!0===r.meta.hasText?"additional":"single",attrs:{role:"alert",...r.attrs}}),!1===r.group?(r.group=void 0,r.meta.group=void 0):(void 0!==r.group&&!0!==r.group||(r.group=[r.message,r.caption,r.multiline].concat(r.actions.map((e=>`${e.label}*${e.icon}`))).join("|")),r.meta.group=r.group+"|"+r.position),0===r.actions.length?r.actions=void 0:r.meta.actionsClass="q-notification__actions row items-center "+(!0===r.multiLine?"justify-end":"col-auto")+(!0===r.meta.hasMedia?" q-notification__actions--with-media":""),void 0!==n){n.notif.meta.timer&&(clearTimeout(n.notif.meta.timer),n.notif.meta.timer=void 0),r.meta.uid=n.notif.meta.uid;const e=g[r.position].value.indexOf(n.notif);g[r.position].value[e]=r}else{const t=m[r.meta.group];if(void 0===t){if(r.meta.uid=v++,r.meta.badge=1,-1!==["left","right","center"].indexOf(r.position))g[r.position].value.splice(Math.floor(g[r.position].value.length/2),0,r);else{const e=r.position.indexOf("top")>-1?"unshift":"push";g[r.position].value[e](r)}void 0!==r.group&&(m[r.meta.group]=r)}else{if(t.meta.timer&&(clearTimeout(t.meta.timer),t.meta.timer=void 0),void 0!==r.badgePosition){if(!1===x.includes(r.badgePosition))return F("wrong badgePosition",e)}else r.badgePosition="top-"+(r.position.indexOf("left")>-1?"right":"left");r.meta.uid=t.meta.uid,r.meta.badge=t.meta.badge+1,r.meta.badgeClass=`q-notification__badge q-notification__badge--${r.badgePosition}`+(void 0!==r.badgeColor?` bg-${r.badgeColor}`:"")+(void 0!==r.badgeTextColor?` text-${r.badgeTextColor}`:"")+(r.badgeClass?` ${r.badgeClass}`:"");const n=g[r.position].value.indexOf(t);g[r.position].value[n]=m[r.meta.group]=r}}const s=()=>{C(r),i=void 0};return r.timeout>0&&(r.meta.timer=setTimeout((()=>{r.meta.timer=void 0,s()}),r.timeout+1e3)),void 0!==r.group?t=>{void 0!==t?F("trying to update a grouped one which is forbidden",e):s()}:(i={dismiss:s,config:e,notif:r},void 0===n?e=>{if(void 0!==i)if(void 0===e)i.dismiss();else{const n=Object.assign({},i.config,e,{group:!1,position:r.position});k(n,t,i)}}:void Object.assign(n,i))}function C(e){e.meta.timer&&(clearTimeout(e.meta.timer),e.meta.timer=void 0);const t=g[e.position].value.indexOf(e);if(-1!==t){void 0!==e.group&&delete m[e.meta.group];const n=_[""+e.meta.uid];if(n){const{width:e,height:t}=getComputedStyle(n);n.style.left=`${n.offsetLeft}px`,n.style.width=e,n.style.height=t}g[e.position].value.splice(t,1),"function"===typeof e.onDismiss&&e.onDismiss()}}function q(e){return void 0!==e&&null!==e&&!0!==b.test(e)}function F(e,t){return console.error(`Notify: ${e}`,t),!1}function O(){return(0,c.L)({name:"QNotifications",devtools:{hide:!0},setup(){return()=>(0,i.h)("div",{class:"q-notifications"},w.map((e=>(0,i.h)(r.W3,{key:e,class:y[e],tag:"div",name:`q-notification--${e}`},(()=>g[e].value.map((e=>{const t=e.meta,n=[];if(!0===t.hasMedia&&(!1!==e.spinner?n.push((0,i.h)(e.spinner,{class:"q-notification__spinner q-notification__spinner--"+t.leftClass,color:e.spinnerColor,size:e.spinnerSize})):e.icon?n.push((0,i.h)(a.Z,{class:"q-notification__icon q-notification__icon--"+t.leftClass,name:e.icon,color:e.iconColor,size:e.iconSize,role:"img"})):e.avatar&&n.push((0,i.h)(l.Z,{class:"q-notification__avatar q-notification__avatar--"+t.leftClass},(()=>(0,i.h)("img",{src:e.avatar,"aria-hidden":"true"}))))),!0===t.hasText){let t;const o={class:"q-notification__message col"};if(!0===e.html)o.innerHTML=e.caption?`${e.message}
${e.caption}
`:e.message;else{const n=[e.message];t=e.caption?[(0,i.h)("div",n),(0,i.h)("div",{class:"q-notification__caption"},[e.caption])]:n}n.push((0,i.h)("div",o,t))}const o=[(0,i.h)("div",{class:t.contentClass},n)];return!0===e.progress&&o.push((0,i.h)("div",{key:`${t.uid}|p|${t.badge}`,class:t.progressClass,style:t.progressStyle})),void 0!==e.actions&&o.push((0,i.h)("div",{class:t.actionsClass},e.actions.map((e=>(0,i.h)(s.Z,e))))),t.badge>1&&o.push((0,i.h)("div",{key:`${t.uid}|${t.badge}`,class:e.meta.badgeClass,style:e.badgeStyle},[t.badge])),(0,i.h)("div",{ref:e=>{_[""+t.uid]=e},key:t.uid,class:t.class,...t.attrs},[(0,i.h)("div",{class:t.wrapperClass},o)])})))))))}})}t.Z={setDefaults(e){!0===(0,p.Kn)(e)&&Object.assign(h,e)},registerType(e,t){!0===(0,p.Kn)(t)&&(S[e]=t)},install({$q:e,parentApp:t}){if(e.notify=this.create=t=>k(t,e),e.notify.setDefaults=this.setDefaults,e.notify.registerType=this.registerType,void 0!==e.config.notify&&this.setDefaults(e.config.notify),!0!==this.__installed){w.forEach((e=>{g[e]=(0,o.iH)([]);const t=!0===["left","center","right"].includes(e)?"center":e.indexOf("top")>-1?"top":"bottom",n=e.indexOf("left")>-1?"start":e.indexOf("right")>-1?"end":"center",i=["left","right"].includes(e)?`items-${"left"===e?"start":"end"} justify-center`:"center"===e?"flex-center":`items-${n}`;y[e]=`q-notifications__list q-notifications__list--${t} fixed column no-wrap ${i}`}));const e=(0,d.q_)("q-notify");(0,f.$)(O(),t).mount(e)}}}},1013:function(e,t,n){"use strict";n.d(t,{aG:function(){return l},client:function(){return h},uX:function(){return r}});n(121);var o=n(6237),i=n(3613);const r=(0,o.iH)(!1);let l,a=!1;function s(e,t){const n=/(edg|edge|edga|edgios)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(vivaldi)[\/]([\w.]+)/.exec(e)||/(chrome|crios)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(firefox|fxios)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[\/]([\w.]+)/.exec(e)||[];return{browser:n[5]||n[3]||n[1]||"",version:n[2]||n[4]||"0",versionNumber:n[4]||n[2]||"0",platform:t[0]||""}}function u(e){return/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(silk)/.exec(e)||/(android)/.exec(e)||/(win)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||/(playbook)/.exec(e)||/(bb)/.exec(e)||/(blackberry)/.exec(e)||[]}const c="ontouchstart"in window||window.navigator.maxTouchPoints>0;function d(e){l={is:{...e}},delete e.mac,delete e.desktop;const t=Math.min(window.innerHeight,window.innerWidth)>414?"ipad":"iphone";Object.assign(e,{mobile:!0,ios:!0,platform:t,[t]:!0})}function f(e){const t=e.toLowerCase(),n=u(t),o=s(t,n),i={};o.browser&&(i[o.browser]=!0,i.version=o.version,i.versionNumber=parseInt(o.versionNumber,10)),o.platform&&(i[o.platform]=!0);const r=i.android||i.ios||i.bb||i.blackberry||i.ipad||i.iphone||i.ipod||i.kindle||i.playbook||i.silk||i["windows phone"];return!0===r||t.indexOf("mobile")>-1?(i.mobile=!0,i.edga||i.edgios?(i.edge=!0,o.browser="edge"):i.crios?(i.chrome=!0,o.browser="chrome"):i.fxios&&(i.firefox=!0,o.browser="firefox")):i.desktop=!0,(i.ipod||i.ipad||i.iphone)&&(i.ios=!0),i["windows phone"]&&(i.winphone=!0,delete i["windows phone"]),(i.chrome||i.opr||i.safari||i.vivaldi||!0===i.mobile&&!0!==i.ios&&!0!==r)&&(i.webkit=!0),i.edg&&(o.browser="edgechromium",i.edgeChromium=!0),(i.safari&&i.blackberry||i.bb)&&(o.browser="blackberry",i.blackberry=!0),i.safari&&i.playbook&&(o.browser="playbook",i.playbook=!0),i.opr&&(o.browser="opera",i.opera=!0),i.safari&&i.android&&(o.browser="android",i.android=!0),i.safari&&i.kindle&&(o.browser="kindle",i.kindle=!0),i.safari&&i.silk&&(o.browser="silk",i.silk=!0),i.vivaldi&&(o.browser="vivaldi",i.vivaldi=!0),i.name=o.browser,i.platform=o.platform,t.indexOf("electron")>-1?i.electron=!0:document.location.href.indexOf("-extension://")>-1?i.bex=!0:(void 0!==window.Capacitor?(i.capacitor=!0,i.nativeMobile=!0,i.nativeMobileWrapper="capacitor"):void 0===window._cordovaNative&&void 0===window.cordova||(i.cordova=!0,i.nativeMobile=!0,i.nativeMobileWrapper="cordova"),!0===c&&!0===i.mac&&(!0===i.desktop&&!0===i.safari||!0===i.nativeMobile&&!0!==i.android&&!0!==i.ios&&!0!==i.ipad)&&d(i)),i}const p=navigator.userAgent||navigator.vendor||window.opera,v={has:{touch:!1,webStorage:!1},within:{iframe:!1}},h={userAgent:p,is:f(p),has:{touch:c},within:{iframe:window.self!==window.top}},m={install(e){const{$q:t}=e;!0===r.value?(e.onSSRHydrated.push((()=>{Object.assign(t.platform,h),r.value=!1,l=void 0})),t.platform=(0,o.qj)(this)):t.platform=this}};{let e;(0,i.g)(h.has,"webStorage",(()=>{if(void 0!==e)return e;try{if(window.localStorage)return e=!0,!0}catch(t){}return e=!1,!1})),a=!0===h.is.ios&&-1===window.navigator.vendor.toLowerCase().indexOf("apple"),!0===r.value?Object.assign(m,h,l,v):Object.assign(m,h)}t.ZP=m},7265:function(e,t,n){"use strict";function o(e,t=250,n){let o=null;function i(){const i=arguments,r=()=>{o=null,!0!==n&&e.apply(this,i)};null!==o?clearTimeout(o):!0===n&&e.apply(this,i),o=setTimeout(r,t)}return i.cancel=()=>{null!==o&&clearTimeout(o)},i}n.d(t,{Z:function(){return o}})},6145:function(e,t,n){"use strict";n.d(t,{iv:function(){return i},mY:function(){return l},sb:function(){return r}});var o=n(6237);function i(e,t){const n=e.style;for(const o in t)n[o]=t[o]}function r(e){if(void 0===e||null===e)return;if("string"===typeof e)try{return document.querySelector(e)||void 0}catch(n){return}const t=(0,o.SU)(e);return t?t.$el||t:void 0}function l(e,t){if(void 0===e||null===e||!0===e.contains(t))return!0;for(let n=e.nextElementSibling;null!==n;n=n.nextElementSibling)if(n.contains(t))return!0;return!1}},3027:function(e,t,n){"use strict";n.d(t,{AZ:function(){return a},FK:function(){return l},Jf:function(){return d},M0:function(){return f},NS:function(){return c},X$:function(){return u},ZT:function(){return i},du:function(){return r},listenOpts:function(){return o},sT:function(){return s},ul:function(){return p}});n(121);const o={hasPassive:!1,passiveCapture:!0,notPassiveCapture:!0};try{const e=Object.defineProperty({},"passive",{get(){Object.assign(o,{hasPassive:!0,passive:{passive:!0},notPassive:{passive:!1},passiveCapture:{passive:!0,capture:!0},notPassiveCapture:{passive:!1,capture:!0}})}});window.addEventListener("qtest",null,e),window.removeEventListener("qtest",null,e)}catch(v){}function i(){}function r(e){return 0===e.button}function l(e){return e.touches&&e.touches[0]?e=e.touches[0]:e.changedTouches&&e.changedTouches[0]?e=e.changedTouches[0]:e.targetTouches&&e.targetTouches[0]&&(e=e.targetTouches[0]),{top:e.clientY,left:e.clientX}}function a(e){if(e.path)return e.path;if(e.composedPath)return e.composedPath();const t=[];let n=e.target;while(n){if(t.push(n),"HTML"===n.tagName)return t.push(document),t.push(window),t;n=n.parentElement}}function s(e){e.stopPropagation()}function u(e){!1!==e.cancelable&&e.preventDefault()}function c(e){!1!==e.cancelable&&e.preventDefault(),e.stopPropagation()}function d(e,t){if(void 0===e||!0===t&&!0===e.__dragPrevented)return;const n=!0===t?e=>{e.__dragPrevented=!0,e.addEventListener("dragstart",u,o.notPassiveCapture)}:e=>{delete e.__dragPrevented,e.removeEventListener("dragstart",u,o.notPassiveCapture)};e.querySelectorAll("a, img").forEach(n)}function f(e,t,n){const i=`__q_${t}_evt`;e[i]=void 0!==e[i]?e[i].concat(n):n,n.forEach((t=>{t[0].addEventListener(t[1],e[t[2]],o[t[3]])}))}function p(e,t){const n=`__q_${t}_evt`;void 0!==e[n]&&(e[n].forEach((t=>{t[0].removeEventListener(t[1],e[t[2]],o[t[3]])})),e[n]=void 0)}},7328:function(e,t,n){"use strict";n.d(t,{Uz:function(){return l},rB:function(){return i},vX:function(){return r}});const o=["B","KB","MB","GB","TB","PB"];function i(e){let t=0;while(parseInt(e,10)>=1024&&tvoid 0!==e[t]));if(n=r.length,n!==Object.keys(t).filter((e=>void 0!==t[e])).length)return!1;for(i=n;0!==i--;){const n=r[i];if(!0!==o(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function i(e){return null!==e&&"object"===typeof e&&!0!==Array.isArray(e)}function r(e){return"[object Date]"===Object.prototype.toString.call(e)}function l(e){return"[object RegExp]"===Object.prototype.toString.call(e)}},3856:function(e,t,n){"use strict";n.d(t,{L:function(){return r},f:function(){return l}});var o=n(6237),i=n(9269);const r=e=>(0,o.Xl)((0,i.aZ)(e)),l=e=>(0,o.Xl)(e)},4792:function(e,t,n){"use strict";var o=n(6237),i=n(3613);t.Z=(e,t)=>{const n=(0,o.qj)(e);for(const o in e)(0,i.g)(t,o,(()=>n[o]),(e=>{n[o]=e}));return t}},1135:function(e,t,n){"use strict";n.d(t,{c:function(){return d},k:function(){return f}});n(121);var o=n(1013),i=n(6809);const r=[];let l;function a(e){l=27===e.keyCode}function s(){!0===l&&(l=!1)}function u(e){!0===l&&(l=!1,!0===(0,i.So)(e,27)&&r[r.length-1](e))}function c(e){window[e]("keydown",a),window[e]("blur",s),window[e]("keyup",u),l=!1}function d(e){!0===o.client.is.desktop&&(r.push(e),1===r.length&&c("addEventListener"))}function f(e){const t=r.indexOf(e);t>-1&&(r.splice(t,1),0===r.length&&c("removeEventListener"))}},6146:function(e,t,n){"use strict";n.d(t,{YX:function(){return l},fP:function(){return u},jd:function(){return s},xF:function(){return a}});n(121);let o=[],i=[];function r(e){i=i.filter((t=>t!==e))}function l(e){r(e),i.push(e)}function a(e){r(e),0===i.length&&0!==o.length&&(o[o.length-1](),o=[])}function s(e){0===i.length?e():o.push(e)}function u(e){o=o.filter((t=>t!==e))}},7001:function(e,t,n){"use strict";n.d(t,{H:function(){return a},i:function(){return l}});n(121);var o=n(1013);const i=[];function r(e){i[i.length-1](e)}function l(e){!0===o.client.is.desktop&&(i.push(e),1===i.length&&document.body.addEventListener("focusin",r))}function a(e){const t=i.indexOf(e);t>-1&&(i.splice(t,1),0===i.length&&document.body.removeEventListener("focusin",r))}},4233:function(e,t,n){"use strict";n.d(t,{Uf:function(){return i},tP:function(){return r},w6:function(){return o}});const o={};let i=!1;function r(){i=!0}},3205:function(e,t,n){"use strict";n.d(t,{pB:function(){return u},q_:function(){return s}});n(121);var o=n(4233);const i=[],r=[];let l=1,a=document.body;function s(e,t){const n=document.createElement("div");if(n.id=void 0!==t?`q-portal--${t}--${l++}`:e,void 0!==o.w6.globalNodes){const e=o.w6.globalNodes.class;void 0!==e&&(n.className=e)}return a.appendChild(n),i.push(n),r.push(t),n}function u(e){const t=i.indexOf(e);i.splice(t,1),r.splice(t,1),e.remove()}},3613:function(e,t,n){"use strict";function o(e,t,n,o){return Object.defineProperty(e,t,{get:n,set:o,enumerable:!0}),e}n.d(t,{g:function(){return o}})},6809:function(e,t,n){"use strict";n.d(t,{So:function(){return l},Wm:function(){return r},ZK:function(){return i}});let o=!1;function i(e){o=!0===e.isComposing}function r(e){return!0===o||e!==Object(e)||!0===e.isComposing||!0===e.qKeyEvent}function l(e,t){return!0!==r(e)&&[].concat(t).includes(e.keyCode)}},1761:function(e,t,n){"use strict";n.d(t,{AH:function(){return l},Q$:function(){return i},S7:function(){return a},je:function(){return r}});var o=n(6380);const i=[];function r(e){return i.find((t=>null!==t.contentEl&&t.contentEl.contains(e)))}function l(e,t){do{if("QMenu"===e.$options.name){if(e.hide(t),!0===e.$props.separateClosePopup)return(0,o.O2)(e)}else if(!0===e.__qPortal){const n=(0,o.O2)(e);return void 0!==n&&"QPopupProxy"===n.$options.name?(e.hide(t),n):e}e=(0,o.O2)(e)}while(void 0!==e&&null!==e)}function a(e,t,n){while(0!==n&&void 0!==e&&null!==e){if(!0===e.__qPortal){if(n--,"QMenu"===e.$options.name){e=l(e,t);continue}e.hide(t)}e=(0,o.O2)(e)}}},64:function(e,t,n){"use strict";n.d(t,{Bl:function(){return r},Jl:function(){return s},KR:function(){return i},pf:function(){return a},vs:function(){return l}});var o=n(9269);function i(e,t){return void 0!==e&&e()||t}function r(e,t){if(void 0!==e){const t=e();if(void 0!==t&&null!==t)return t.slice()}return t}function l(e,t){return void 0!==e?t.concat(e()):t}function a(e,t){return void 0===e?t:void 0!==t?t.concat(e()):e()}function s(e,t,n,i,r,l){t.key=i+r;const a=(0,o.h)(e,t,n);return!0===r?(0,o.wy)(a,l()):a}},1307:function(e,t,n){"use strict";n.d(t,{M:function(){return i}});var o=n(1013);function i(){if(void 0!==window.getSelection){const e=window.getSelection();void 0!==e.empty?e.empty():void 0!==e.removeAllRanges&&(e.removeAllRanges(),!0!==o.ZP.is.mobile&&e.addRange(document.createRange()))}else void 0!==document.selection&&document.selection.empty()}},4300:function(e,t,n){"use strict";n.d(t,{Mw:function(){return l},Ng:function(){return o},YE:function(){return r},qO:function(){return s},vh:function(){return a},xP:function(){return i}});const o="_q_",i="_q_t_",r="_q_l_",l="_q_pc_",a="_q_fo_",s=()=>{}},6380:function(e,t,n){"use strict";function o(e){if(Object(e.$parent)===e.$parent)return e.$parent;let{parent:t}=e.$;while(Object(t)===t){if(Object(t.proxy)===t.proxy)return t.proxy;t=t.parent}}function i(e){return void 0!==e.appContext.config.globalProperties.$router}function r(e){return!0===e.isUnmounted||!0===e.isDeactivated}n.d(t,{$D:function(){return r},O2:function(){return o},Rb:function(){return i}})},7336:function(e,t,n){"use strict";n.d(t,{OI:function(){return a},QA:function(){return c},b0:function(){return r},np:function(){return u},u3:function(){return l}});var o=n(6145);const i=[null,document,document.body,document.scrollingElement,document.documentElement];function r(e,t){let n=(0,o.sb)(t);if(void 0===n){if(void 0===e||null===e)return window;n=e.closest(".scroll,.scroll-y,.overflow-auto")}return i.includes(n)?window:n}function l(e){return e===window?window.pageYOffset||window.scrollY||document.body.scrollTop||0:e.scrollTop}function a(e){return e===window?window.pageXOffset||window.scrollX||document.body.scrollLeft||0:e.scrollLeft}let s;function u(){if(void 0!==s)return s;const e=document.createElement("p"),t=document.createElement("div");(0,o.iv)(e,{width:"100%",height:"200px"}),(0,o.iv)(t,{position:"absolute",top:"0px",left:"0px",visibility:"hidden",width:"200px",height:"150px",overflow:"hidden"}),t.appendChild(e),document.body.appendChild(t);const n=e.offsetWidth;t.style.overflow="scroll";let i=e.offsetWidth;return n===i&&(i=t.clientWidth),t.remove(),s=n-i,s}function c(e,t=!0){return!(!e||e.nodeType!==Node.ELEMENT_NODE)&&(t?e.scrollHeight>e.clientHeight&&(e.classList.contains("scroll")||e.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(e)["overflow-y"])):e.scrollWidth>e.clientWidth&&(e.classList.contains("scroll")||e.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(e)["overflow-x"])))}},8029:function(e,t,n){"use strict";var o=n(6120),i=n(6235),r=n(1428);t.Z={version:"2.14.1",install:o.Z,lang:i.Z,iconSet:r.Z}},6237:function(e,t,n){"use strict";n.d(t,{B:function(){return l},Bj:function(){return r},Fl:function(){return Ve},IU:function(){return ke},Jd:function(){return C},PG:function(){return _e},SU:function(){return Pe},Um:function(){return ge},WL:function(){return Me},X$:function(){return E},X3:function(){return Se},Xl:function(){return Ce},dq:function(){return Te},iH:function(){return Ae},j:function(){return F},lk:function(){return q},nZ:function(){return s},qj:function(){return me},qq:function(){return w},yT:function(){return xe}});var o=n(3201);let i;class r{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=i,!e&&i&&(this.index=(i.scopes||(i.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=i;try{return i=this,e()}finally{i=t}}else 0}on(){i=this}off(){i=this.parent}stop(e){if(this._active){let t,n;for(t=0,n=this.effects.length;t{const t=new Set(e);return t.w=0,t.n=0,t},c=e=>(e.w&m)>0,d=e=>(e.n&m)>0,f=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let o=0;o{("length"===n||!(0,o.yk)(n)&&n>=e)&&s.push(t)}))}else switch(void 0!==n&&s.push(a.get(n)),t){case"add":(0,o.kJ)(e)?(0,o.S0)(n)&&s.push(a.get("length")):(s.push(a.get(b)),(0,o._N)(e)&&s.push(a.get(_)));break;case"delete":(0,o.kJ)(e)||(s.push(a.get(b)),(0,o._N)(e)&&s.push(a.get(_)));break;case"set":(0,o._N)(e)&&s.push(a.get(b));break}if(1===s.length)s[0]&&T(s[0]);else{const e=[];for(const t of s)t&&e.push(...t);T(u(e))}}function T(e,t){const n=(0,o.kJ)(e)?e:[...e];for(const o of n)o.computed&&A(o,t);for(const o of n)o.computed||A(o,t)}function A(e,t){(e!==y||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const $=(0,o.fY)("__proto__,__v_isRef,__isVue"),L=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(o.yk)),P=R();function R(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=ke(this);for(let t=0,i=this.length;t{e[t]=function(...e){C();const n=ke(this)[t].apply(this,e);return q(),n}})),e}function M(e){const t=ke(this);return F(t,"has",e),t.hasOwnProperty(e)}class j{constructor(e=!1,t=!1){this._isReadonly=e,this._shallow=t}get(e,t,n){const i=this._isReadonly,r=this._shallow;if("__v_isReactive"===t)return!i;if("__v_isReadonly"===t)return i;if("__v_isShallow"===t)return r;if("__v_raw"===t)return n===(i?r?pe:fe:r?de:ce).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const l=(0,o.kJ)(e);if(!i){if(l&&(0,o.RI)(P,t))return Reflect.get(P,t,n);if("hasOwnProperty"===t)return M}const a=Reflect.get(e,t,n);return((0,o.yk)(t)?L.has(t):$(t))?a:(i||F(e,"get",t),r?a:Te(a)?l&&(0,o.S0)(t)?a:a.value:(0,o.Kn)(a)?i?ye(a):me(a):a)}}class V extends j{constructor(e=!1){super(!1,e)}set(e,t,n,i){let r=e[t];if(we(r)&&Te(r)&&!Te(n))return!1;if(!this._shallow&&(xe(n)||we(n)||(r=ke(r),n=ke(n)),!(0,o.kJ)(e)&&Te(r)&&!Te(n)))return r.value=n,!0;const l=(0,o.kJ)(e)&&(0,o.S0)(t)?Number(t)e,D=e=>Reflect.getPrototypeOf(e);function Z(e,t,n=!1,i=!1){e=e["__v_raw"];const r=ke(e),l=ke(t);n||((0,o.aU)(t,l)&&F(r,"get",t),F(r,"get",l));const{has:a}=D(r),s=i?z:n?Fe:qe;return a.call(r,t)?s(e.get(t)):a.call(r,l)?s(e.get(l)):void(e!==r&&e.get(t))}function U(e,t=!1){const n=this["__v_raw"],i=ke(n),r=ke(e);return t||((0,o.aU)(e,r)&&F(i,"has",e),F(i,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function K(e,t=!1){return e=e["__v_raw"],!t&&F(ke(e),"iterate",b),Reflect.get(e,"size",e)}function Y(e){e=ke(e);const t=ke(this),n=D(t),o=n.has.call(t,e);return o||(t.add(e),E(t,"add",e,e)),this}function W(e,t){t=ke(t);const n=ke(this),{has:i,get:r}=D(n);let l=i.call(n,e);l||(e=ke(e),l=i.call(n,e));const a=r.call(n,e);return n.set(e,t),l?(0,o.aU)(t,a)&&E(n,"set",e,t,a):E(n,"add",e,t),this}function J(e){const t=ke(this),{has:n,get:o}=D(t);let i=n.call(t,e);i||(e=ke(e),i=n.call(t,e));const r=o?o.call(t,e):void 0,l=t.delete(e);return i&&E(t,"delete",e,void 0,r),l}function Q(){const e=ke(this),t=0!==e.size,n=void 0,o=e.clear();return t&&E(e,"clear",void 0,void 0,n),o}function X(e,t){return function(n,o){const i=this,r=i["__v_raw"],l=ke(r),a=t?z:e?Fe:qe;return!e&&F(l,"iterate",b),r.forEach(((e,t)=>n.call(o,a(e),a(t),i)))}}function G(e,t,n){return function(...i){const r=this["__v_raw"],l=ke(r),a=(0,o._N)(l),s="entries"===e||e===Symbol.iterator&&a,u="keys"===e&&a,c=r[e](...i),d=n?z:t?Fe:qe;return!t&&F(l,"iterate",u?_:b),{next(){const{value:e,done:t}=c.next();return t?{value:e,done:t}:{value:s?[d(e[0]),d(e[1])]:d(e),done:t}},[Symbol.iterator](){return this}}}}function ee(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function te(){const e={get(e){return Z(this,e)},get size(){return K(this)},has:U,add:Y,set:W,delete:J,clear:Q,forEach:X(!1,!1)},t={get(e){return Z(this,e,!1,!0)},get size(){return K(this)},has:U,add:Y,set:W,delete:J,clear:Q,forEach:X(!1,!0)},n={get(e){return Z(this,e,!0)},get size(){return K(this,!0)},has(e){return U.call(this,e,!0)},add:ee("add"),set:ee("set"),delete:ee("delete"),clear:ee("clear"),forEach:X(!0,!1)},o={get(e){return Z(this,e,!0,!0)},get size(){return K(this,!0)},has(e){return U.call(this,e,!0)},add:ee("add"),set:ee("set"),delete:ee("delete"),clear:ee("clear"),forEach:X(!0,!0)},i=["keys","values","entries",Symbol.iterator];return i.forEach((i=>{e[i]=G(i,!1,!1),n[i]=G(i,!0,!1),t[i]=G(i,!1,!0),o[i]=G(i,!0,!0)})),[e,n,t,o]}const[ne,oe,ie,re]=te();function le(e,t){const n=t?e?re:ie:e?oe:ne;return(t,i,r)=>"__v_isReactive"===i?!e:"__v_isReadonly"===i?e:"__v_raw"===i?t:Reflect.get((0,o.RI)(n,i)&&i in t?n:t,i,r)}const ae={get:le(!1,!1)},se={get:le(!1,!0)},ue={get:le(!0,!1)};const ce=new WeakMap,de=new WeakMap,fe=new WeakMap,pe=new WeakMap;function ve(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function he(e){return e["__v_skip"]||!Object.isExtensible(e)?0:ve((0,o.W7)(e))}function me(e){return we(e)?e:be(e,!1,N,ae,ce)}function ge(e){return be(e,!1,H,se,de)}function ye(e){return be(e,!0,I,ue,fe)}function be(e,t,n,i,r){if(!(0,o.Kn)(e))return e;if(e["__v_raw"]&&(!t||!e["__v_isReactive"]))return e;const l=r.get(e);if(l)return l;const a=he(e);if(0===a)return e;const s=new Proxy(e,2===a?i:n);return r.set(e,s),s}function _e(e){return we(e)?_e(e["__v_raw"]):!(!e||!e["__v_isReactive"])}function we(e){return!(!e||!e["__v_isReadonly"])}function xe(e){return!(!e||!e["__v_isShallow"])}function Se(e){return _e(e)||we(e)}function ke(e){const t=e&&e["__v_raw"];return t?ke(t):e}function Ce(e){return(0,o.Nj)(e,"__v_skip",!0),e}const qe=e=>(0,o.Kn)(e)?me(e):e,Fe=e=>(0,o.Kn)(e)?ye(e):e;function Oe(e){S&&y&&(e=ke(e),O(e.dep||(e.dep=u())))}function Ee(e,t){e=ke(e);const n=e.dep;n&&T(n)}function Te(e){return!(!e||!0!==e.__v_isRef)}function Ae(e){return $e(e,!1)}function $e(e,t){return Te(e)?e:new Le(e,t)}class Le{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:ke(e),this._value=t?e:qe(e)}get value(){return Oe(this),this._value}set value(e){const t=this.__v_isShallow||xe(e)||we(e);e=t?e:ke(e),(0,o.aU)(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:qe(e),Ee(this,e))}}function Pe(e){return Te(e)?e.value:e}const Re={get:(e,t,n)=>Pe(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const i=e[t];return Te(i)&&!Te(n)?(i.value=n,!0):Reflect.set(e,t,n,o)}};function Me(e){return _e(e)?e:new Proxy(e,Re)}class je{constructor(e,t,n,o){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this["__v_isReadonly"]=!1,this._dirty=!0,this.effect=new w(e,(()=>{this._dirty||(this._dirty=!0,Ee(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!o,this["__v_isReadonly"]=n}get value(){const e=ke(this);return Oe(e),!e._dirty&&e._cacheable||(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function Ve(e,t,n=!1){let i,r;const l=(0,o.mf)(e);l?(i=e,r=o.dG):(i=e.get,r=e.set);const a=new je(i,r,l||!r,n);return a}},9269:function(e,t,n){"use strict";n.d(t,{$d:function(){return l},Ah:function(){return Me},FN:function(){return En},Fl:function(){return Yn},HY:function(){return Yt},JJ:function(){return ft},Jd:function(){return Re},Ko:function(){return Ie},LL:function(){return U},P$:function(){return fe},Q2:function(){return K},Q6:function(){return ye},U2:function(){return ve},Uk:function(){return yn},Us:function(){return Lt},Wm:function(){return vn},Xn:function(){return Le},Y3:function(){return y},Y8:function(){return se},YP:function(){return G},_:function(){return pn},aZ:function(){return be},bv:function(){return $e},dl:function(){return Se},f3:function(){return pt},h:function(){return Wn},iD:function(){return ln},ic:function(){return Pe},j4:function(){return an},kq:function(){return bn},lR:function(){return Ut},nJ:function(){return ce},nK:function(){return ge},se:function(){return ke},up:function(){return D},w5:function(){return R},wF:function(){return Ae},wg:function(){return en},wy:function(){return ie}});var o=n(6237),i=n(3201);function r(e,t,n,o){let i;try{i=o?e(...o):e()}catch(r){a(r,t,n)}return i}function l(e,t,n,o){if((0,i.mf)(e)){const l=r(e,t,n,o);return l&&(0,i.tI)(l)&&l.catch((e=>{a(e,t,n)})),l}const s=[];for(let i=0;i>>1,i=d[o],r=q(i);rf&&d.splice(t,1)}function S(e){(0,i.kJ)(e)?p.push(...e):v&&v.includes(e,e.allowRecurse?h+1:h)||p.push(e),w()}function k(e,t,n=(u?f+1:0)){for(0;nq(e)-q(t))),h=0;hnull==e.id?1/0:e.id,F=(e,t)=>{const n=q(e)-q(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function O(e){c=!1,u=!0,d.sort(F);i.dG;try{for(f=0;f(0,i.HD)(e)?e.trim():e))),t&&(r=n.map(i.h5))}let u;let c=o[u=(0,i.hR)(t)]||o[u=(0,i.hR)((0,i._A)(t))];!c&&a&&(c=o[u=(0,i.hR)((0,i.rs)(t))]),c&&l(c,e,6,r);const d=o[u+"Once"];if(d){if(e.emitted){if(e.emitted[u])return}else e.emitted={};e.emitted[u]=!0,l(d,e,6,r)}}function T(e,t,n=!1){const o=t.emitsCache,r=o.get(e);if(void 0!==r)return r;const l=e.emits;let a={},s=!1;if(!(0,i.mf)(e)){const o=e=>{const n=T(e,t,!0);n&&(s=!0,(0,i.l7)(a,n))};!n&&t.mixins.length&&t.mixins.forEach(o),e.extends&&o(e.extends),e.mixins&&e.mixins.forEach(o)}return l||s?((0,i.kJ)(l)?l.forEach((e=>a[e]=null)):(0,i.l7)(a,l),(0,i.Kn)(e)&&o.set(e,a),a):((0,i.Kn)(e)&&o.set(e,null),null)}function A(e,t){return!(!e||!(0,i.F7)(t))&&(t=t.slice(2).replace(/Once$/,""),(0,i.RI)(e,t[0].toLowerCase()+t.slice(1))||(0,i.RI)(e,(0,i.rs)(t))||(0,i.RI)(e,t))}let $=null,L=null;function P(e){const t=$;return $=e,L=e&&e.type.__scopeId||null,t}function R(e,t=$,n){if(!t)return e;if(e._n)return e;const o=(...n)=>{o._d&&on(-1);const i=P(t);let r;try{r=e(...n)}finally{P(i),o._d&&on(1)}return r};return o._n=!0,o._c=!0,o._d=!0,o}function M(e){const{type:t,vnode:n,proxy:o,withProxy:r,props:l,propsOptions:[s],slots:u,attrs:c,emit:d,render:f,renderCache:p,data:v,setupState:h,ctx:m,inheritAttrs:g}=e;let y,b;const _=P(e);try{if(4&n.shapeFlag){const e=r||o,t=e;y=_n(f.call(t,e,p,l,h,v,m)),b=c}else{const e=t;0,y=_n(e.length>1?e(l,{attrs:c,slots:u,emit:d}):e(l,null)),b=t.props?c:j(c)}}catch(x){Xt.length=0,a(x,e,1),y=vn(Jt)}let w=y;if(b&&!1!==g){const e=Object.keys(b),{shapeFlag:t}=w;e.length&&7&t&&(s&&e.some(i.tR)&&(b=V(b,s)),w=gn(w,b))}return n.dirs&&(w=gn(w),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition&&(w.transition=n.transition),y=w,P(_),y}const j=e=>{let t;for(const n in e)("class"===n||"style"===n||(0,i.F7)(n))&&((t||(t={}))[n]=e[n]);return t},V=(e,t)=>{const n={};for(const o in e)(0,i.tR)(o)&&o.slice(9)in t||(n[o]=e[o]);return n};function B(e,t,n){const{props:o,children:i,component:r}=e,{props:l,children:a,patchFlag:s}=t,u=r.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&s>=0))return!(!i&&!a||a&&a.$stable)||o!==l&&(o?!l||N(o,l,u):!!l);if(1024&s)return!0;if(16&s)return o?N(o,l,u):!!l;if(8&s){const e=t.dynamicProps;for(let t=0;te.__isSuspense;function Q(e,t){t&&t.pendingBranch?(0,i.kJ)(e)?t.effects.push(...e):t.effects.push(e):S(e)}const X={};function G(e,t,n){return ee(e,t,n)}function ee(e,t,{immediate:n,deep:a,flush:s,onTrack:u,onTrigger:c}=i.kT){var d;const f=(0,o.nZ)()===(null==(d=On)?void 0:d.scope)?On:null;let p,v,h=!1,m=!1;if((0,o.dq)(e)?(p=()=>e.value,h=(0,o.yT)(e)):(0,o.PG)(e)?(p=()=>e,a=!0):(0,i.kJ)(e)?(m=!0,h=e.some((e=>(0,o.PG)(e)||(0,o.yT)(e))),p=()=>e.map((e=>(0,o.dq)(e)?e.value:(0,o.PG)(e)?oe(e):(0,i.mf)(e)?r(e,f,2):void 0))):p=(0,i.mf)(e)?t?()=>r(e,f,2):()=>{if(!f||!f.isUnmounted)return v&&v(),l(e,f,3,[y])}:i.dG,t&&a){const e=p;p=()=>oe(e())}let g,y=e=>{v=S.onStop=()=>{r(e,f,4),v=S.onStop=void 0}};if(Vn){if(y=i.dG,t?n&&l(t,f,3,[p(),m?[]:void 0,y]):p(),"sync"!==s)return i.dG;{const e=Qn();g=e.__watcherHandles||(e.__watcherHandles=[])}}let b=m?new Array(e.length).fill(X):X;const w=()=>{if(S.active)if(t){const e=S.run();(a||h||(m?e.some(((e,t)=>(0,i.aU)(e,b[t]))):(0,i.aU)(e,b)))&&(v&&v(),l(t,f,3,[e,b===X?void 0:m&&b[0]===X?[]:b,y]),b=e)}else S.run()};let x;w.allowRecurse=!!t,"sync"===s?x=w:"post"===s?x=()=>$t(w,f&&f.suspense):(w.pre=!0,f&&(w.id=f.uid),x=()=>_(w));const S=new o.qq(p,x);t?n?w():b=S.run():"post"===s?$t(S.run.bind(S),f&&f.suspense):S.run();const k=()=>{S.stop(),f&&f.scope&&(0,i.Od)(f.scope.effects,S)};return g&&g.push(k),k}function te(e,t,n){const o=this.proxy,r=(0,i.HD)(e)?e.includes(".")?ne(o,e):()=>o[e]:e.bind(o,o);let l;(0,i.mf)(t)?l=t:(l=t.handler,n=t);const a=On;Ln(this);const s=ee(r,l.bind(o),n);return a?Ln(a):Pn(),s}function ne(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{oe(e,t)}));else if((0,i.PO)(e))for(const n in e)oe(e[n],t);return e}function ie(e,t){const n=$;if(null===n)return e;const o=Zn(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let l=0;l{e.isMounted=!0})),Re((()=>{e.isUnmounting=!0})),e}const ue=[Function,Array],ce={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ue,onEnter:ue,onAfterEnter:ue,onEnterCancelled:ue,onBeforeLeave:ue,onLeave:ue,onAfterLeave:ue,onLeaveCancelled:ue,onBeforeAppear:ue,onAppear:ue,onAfterAppear:ue,onAppearCancelled:ue},de={name:"BaseTransition",props:ce,setup(e,{slots:t}){const n=En(),i=se();let r;return()=>{const l=t.default&&ye(t.default(),!0);if(!l||!l.length)return;let a=l[0];if(l.length>1){let e=!1;for(const t of l)if(t.type!==Jt){0,a=t,e=!0;break}}const s=(0,o.IU)(e),{mode:u}=s;if(i.isLeaving)return he(a);const c=me(a);if(!c)return he(a);const d=ve(c,s,i,n);ge(c,d);const f=n.subTree,p=f&&me(f);let v=!1;const{getTransitionKey:h}=c.type;if(h){const e=h();void 0===r?r=e:e!==r&&(r=e,v=!0)}if(p&&p.type!==Jt&&(!un(c,p)||v)){const e=ve(p,s,i,n);if(ge(p,e),"out-in"===u)return i.isLeaving=!0,e.afterLeave=()=>{i.isLeaving=!1,!1!==n.update.active&&n.update()},he(a);"in-out"===u&&c.type!==Jt&&(e.delayLeave=(e,t,n)=>{const o=pe(i,p);o[String(p.key)]=p,e[le]=()=>{t(),e[le]=void 0,delete d.delayedLeave},d.delayedLeave=n})}return a}}},fe=de;function pe(e,t){const{leavingVNodes:n}=e;let o=n.get(t.type);return o||(o=Object.create(null),n.set(t.type,o)),o}function ve(e,t,n,o){const{appear:r,mode:a,persisted:s=!1,onBeforeEnter:u,onEnter:c,onAfterEnter:d,onEnterCancelled:f,onBeforeLeave:p,onLeave:v,onAfterLeave:h,onLeaveCancelled:m,onBeforeAppear:g,onAppear:y,onAfterAppear:b,onAppearCancelled:_}=t,w=String(e.key),x=pe(n,e),S=(e,t)=>{e&&l(e,o,9,t)},k=(e,t)=>{const n=t[1];S(e,t),(0,i.kJ)(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},C={mode:a,persisted:s,beforeEnter(t){let o=u;if(!n.isMounted){if(!r)return;o=g||u}t[le]&&t[le](!0);const i=x[w];i&&un(e,i)&&i.el[le]&&i.el[le](),S(o,[t])},enter(e){let t=c,o=d,i=f;if(!n.isMounted){if(!r)return;t=y||c,o=b||d,i=_||f}let l=!1;const a=e[ae]=t=>{l||(l=!0,S(t?i:o,[e]),C.delayedLeave&&C.delayedLeave(),e[ae]=void 0)};t?k(t,[e,a]):a()},leave(t,o){const i=String(e.key);if(t[ae]&&t[ae](!0),n.isUnmounting)return o();S(p,[t]);let r=!1;const l=t[le]=n=>{r||(r=!0,o(),S(n?m:h,[t]),t[le]=void 0,x[i]===e&&delete x[i])};x[i]=e,v?k(v,[t,l]):l()},clone(e){return ve(e,t,n,o)}};return C}function he(e){if(we(e))return e=gn(e),e.children=null,e}function me(e){return we(e)?e.children?e.children[0]:void 0:e}function ge(e,t){6&e.shapeFlag&&e.component?ge(e.component.subTree,t):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ye(e,t=!1,n){let o=[],i=0;for(let r=0;r1)for(let r=0;r(0,i.l7)({name:e.name},t,{setup:e}))():e}const _e=e=>!!e.type.__asyncLoader
-/*! #__NO_SIDE_EFFECTS__ */;const we=e=>e.type.__isKeepAlive;RegExp,RegExp;function xe(e,t){return(0,i.kJ)(e)?e.some((e=>xe(e,t))):(0,i.HD)(e)?e.split(",").includes(t):!!(0,i.Kj)(e)&&e.test(t)}function Se(e,t){Ce(e,"a",t)}function ke(e,t){Ce(e,"da",t)}function Ce(e,t,n=On){const o=e.__wdc||(e.__wdc=()=>{let t=n;while(t){if(t.isDeactivated)return;t=t.parent}return e()});if(Ee(t,o,n),n){let e=n.parent;while(e&&e.parent)we(e.parent.vnode)&&qe(o,t,n,e),e=e.parent}}function qe(e,t,n,o){const r=Ee(t,e,o,!0);Me((()=>{(0,i.Od)(o[t],r)}),n)}function Fe(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Oe(e){return 128&e.shapeFlag?e.ssContent:e}function Ee(e,t,n=On,i=!1){if(n){const r=n[e]||(n[e]=[]),a=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;(0,o.Jd)(),Ln(n);const r=l(t,n,e,i);return Pn(),(0,o.lk)(),r});return i?r.unshift(a):r.push(a),a}}const Te=e=>(t,n=On)=>(!Vn||"sp"===e)&&Ee(e,((...e)=>t(...e)),n),Ae=Te("bm"),$e=Te("m"),Le=Te("bu"),Pe=Te("u"),Re=Te("bum"),Me=Te("um"),je=Te("sp"),Ve=Te("rtg"),Be=Te("rtc");function Ne(e,t=On){Ee("ec",e,t)}function Ie(e,t,n,o){let r;const l=n&&n[o];if((0,i.kJ)(e)||(0,i.HD)(e)){r=new Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,l&&l[n])));else{const n=Object.keys(e);r=new Array(n.length);for(let o=0,i=n.length;oe?Rn(e)?Zn(e)||e.proxy:He(e.parent):null,ze=(0,i.l7)(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>He(e.parent),$root:e=>He(e.root),$emit:e=>e.emit,$options:e=>Xe(e),$forceUpdate:e=>e.f||(e.f=()=>_(e.update)),$nextTick:e=>e.n||(e.n=y.bind(e.proxy)),$watch:e=>te.bind(e)}),De=(e,t)=>e!==i.kT&&!e.__isScriptSetup&&(0,i.RI)(e,t),Ze={get({_:e},t){const{ctx:n,setupState:r,data:l,props:a,accessCache:s,type:u,appContext:c}=e;let d;if("$"!==t[0]){const o=s[t];if(void 0!==o)switch(o){case 1:return r[t];case 2:return l[t];case 4:return n[t];case 3:return a[t]}else{if(De(r,t))return s[t]=1,r[t];if(l!==i.kT&&(0,i.RI)(l,t))return s[t]=2,l[t];if((d=e.propsOptions[0])&&(0,i.RI)(d,t))return s[t]=3,a[t];if(n!==i.kT&&(0,i.RI)(n,t))return s[t]=4,n[t];Ke&&(s[t]=0)}}const f=ze[t];let p,v;return f?("$attrs"===t&&(0,o.j)(e,"get",t),f(e)):(p=u.__cssModules)&&(p=p[t])?p:n!==i.kT&&(0,i.RI)(n,t)?(s[t]=4,n[t]):(v=c.config.globalProperties,(0,i.RI)(v,t)?v[t]:void 0)},set({_:e},t,n){const{data:o,setupState:r,ctx:l}=e;return De(r,t)?(r[t]=n,!0):o!==i.kT&&(0,i.RI)(o,t)?(o[t]=n,!0):!(0,i.RI)(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(l[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:r,propsOptions:l}},a){let s;return!!n[a]||e!==i.kT&&(0,i.RI)(e,a)||De(t,a)||(s=l[0])&&(0,i.RI)(s,a)||(0,i.RI)(o,a)||(0,i.RI)(ze,a)||(0,i.RI)(r.config.globalProperties,a)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:(0,i.RI)(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ue(e){return(0,i.kJ)(e)?e.reduce(((e,t)=>(e[t]=null,e)),{}):e}let Ke=!0;function Ye(e){const t=Xe(e),n=e.proxy,r=e.ctx;Ke=!1,t.beforeCreate&&Je(t.beforeCreate,e,"bc");const{data:l,computed:a,methods:s,watch:u,provide:c,inject:d,created:f,beforeMount:p,mounted:v,beforeUpdate:h,updated:m,activated:g,deactivated:y,beforeDestroy:b,beforeUnmount:_,destroyed:w,unmounted:x,render:S,renderTracked:k,renderTriggered:C,errorCaptured:q,serverPrefetch:F,expose:O,inheritAttrs:E,components:T,directives:A,filters:$}=t,L=null;if(d&&We(d,r,L),s)for(const o in s){const e=s[o];(0,i.mf)(e)&&(r[o]=e.bind(n))}if(l){0;const t=l.call(n,n);0,(0,i.Kn)(t)&&(e.data=(0,o.qj)(t))}if(Ke=!0,a)for(const o in a){const e=a[o],t=(0,i.mf)(e)?e.bind(n,n):(0,i.mf)(e.get)?e.get.bind(n,n):i.dG;0;const l=!(0,i.mf)(e)&&(0,i.mf)(e.set)?e.set.bind(n):i.dG,s=Yn({get:t,set:l});Object.defineProperty(r,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:e=>s.value=e})}if(u)for(const o in u)Qe(u[o],r,n,o);if(c){const e=(0,i.mf)(c)?c.call(n):c;Reflect.ownKeys(e).forEach((t=>{ft(t,e[t])}))}function P(e,t){(0,i.kJ)(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(f&&Je(f,e,"c"),P(Ae,p),P($e,v),P(Le,h),P(Pe,m),P(Se,g),P(ke,y),P(Ne,q),P(Be,k),P(Ve,C),P(Re,_),P(Me,x),P(je,F),(0,i.kJ)(O))if(O.length){const t=e.exposed||(e.exposed={});O.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});S&&e.render===i.dG&&(e.render=S),null!=E&&(e.inheritAttrs=E),T&&(e.components=T),A&&(e.directives=A)}function We(e,t,n=i.dG){(0,i.kJ)(e)&&(e=ot(e));for(const r in e){const n=e[r];let l;l=(0,i.Kn)(n)?"default"in n?pt(n.from||r,n.default,!0):pt(n.from||r):pt(n),(0,o.dq)(l)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>l.value,set:e=>l.value=e}):t[r]=l}}function Je(e,t,n){l((0,i.kJ)(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function Qe(e,t,n,o){const r=o.includes(".")?ne(n,o):()=>n[o];if((0,i.HD)(e)){const n=t[e];(0,i.mf)(n)&&G(r,n)}else if((0,i.mf)(e))G(r,e.bind(n));else if((0,i.Kn)(e))if((0,i.kJ)(e))e.forEach((e=>Qe(e,t,n,o)));else{const o=(0,i.mf)(e.handler)?e.handler.bind(n):t[e.handler];(0,i.mf)(o)&&G(r,o,e)}else 0}function Xe(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:l,config:{optionMergeStrategies:a}}=e.appContext,s=l.get(t);let u;return s?u=s:r.length||n||o?(u={},r.length&&r.forEach((e=>Ge(u,e,a,!0))),Ge(u,t,a)):u=t,(0,i.Kn)(t)&&l.set(t,u),u}function Ge(e,t,n,o=!1){const{mixins:i,extends:r}=t;r&&Ge(e,r,n,!0),i&&i.forEach((t=>Ge(e,t,n,!0)));for(const l in t)if(o&&"expose"===l);else{const o=et[l]||n&&n[l];e[l]=o?o(e[l],t[l]):t[l]}return e}const et={data:tt,props:lt,emits:lt,methods:rt,computed:rt,beforeCreate:it,created:it,beforeMount:it,mounted:it,beforeUpdate:it,updated:it,beforeDestroy:it,beforeUnmount:it,destroyed:it,unmounted:it,activated:it,deactivated:it,errorCaptured:it,serverPrefetch:it,components:rt,directives:rt,watch:at,provide:tt,inject:nt};function tt(e,t){return t?e?function(){return(0,i.l7)((0,i.mf)(e)?e.call(this,this):e,(0,i.mf)(t)?t.call(this,this):t)}:t:e}function nt(e,t){return rt(ot(e),ot(t))}function ot(e){if((0,i.kJ)(e)){const t={};for(let n=0;n1)return n&&(0,i.mf)(t)?t.call(o&&o.proxy):t}else 0}function vt(e,t,n,r=!1){const l={},a={};(0,i.Nj)(a,cn,1),e.propsDefaults=Object.create(null),mt(e,t,l,a);for(const o in e.propsOptions[0])o in l||(l[o]=void 0);n?e.props=r?l:(0,o.Um)(l):e.type.props?e.props=l:e.props=a,e.attrs=a}function ht(e,t,n,r){const{props:l,attrs:a,vnode:{patchFlag:s}}=e,u=(0,o.IU)(l),[c]=e.propsOptions;let d=!1;if(!(r||s>0)||16&s){let o;mt(e,t,l,a)&&(d=!0);for(const r in u)t&&((0,i.RI)(t,r)||(o=(0,i.rs)(r))!==r&&(0,i.RI)(t,o))||(c?!n||void 0===n[r]&&void 0===n[o]||(l[r]=gt(c,u,r,void 0,e,!0)):delete l[r]);if(a!==u)for(const e in a)t&&(0,i.RI)(t,e)||(delete a[e],d=!0)}else if(8&s){const n=e.vnode.dynamicProps;for(let o=0;o{u=!0;const[n,o]=yt(e,t,!0);(0,i.l7)(a,n),o&&s.push(...o)};!n&&t.mixins.length&&t.mixins.forEach(o),e.extends&&o(e.extends),e.mixins&&e.mixins.forEach(o)}if(!l&&!u)return(0,i.Kn)(e)&&o.set(e,i.Z6),i.Z6;if((0,i.kJ)(l))for(let d=0;d-1,o[1]=n<0||e-1||(0,i.RI)(o,"default"))&&s.push(t)}}}}const c=[a,s];return(0,i.Kn)(e)&&o.set(e,c),c}function bt(e){return"$"!==e[0]}function _t(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:null===e?"null":""}function wt(e,t){return _t(e)===_t(t)}function xt(e,t){return(0,i.kJ)(t)?t.findIndex((t=>wt(t,e))):(0,i.mf)(t)&&wt(t,e)?0:-1}const St=e=>"_"===e[0]||"$stable"===e,kt=e=>(0,i.kJ)(e)?e.map(_n):[_n(e)],Ct=(e,t,n)=>{if(t._n)return t;const o=R(((...e)=>kt(t(...e))),n);return o._c=!1,o},qt=(e,t,n)=>{const o=e._ctx;for(const r in e){if(St(r))continue;const n=e[r];if((0,i.mf)(n))t[r]=Ct(r,n,o);else if(null!=n){0;const e=kt(n);t[r]=()=>e}}},Ft=(e,t)=>{const n=kt(t);e.slots.default=()=>n},Ot=(e,t)=>{if(32&e.vnode.shapeFlag){const n=t._;n?(e.slots=(0,o.IU)(t),(0,i.Nj)(t,"_",n)):qt(t,e.slots={})}else e.slots={},t&&Ft(e,t);(0,i.Nj)(e.slots,cn,1)},Et=(e,t,n)=>{const{vnode:o,slots:r}=e;let l=!0,a=i.kT;if(32&o.shapeFlag){const e=t._;e?n&&1===e?l=!1:((0,i.l7)(r,t),n||1!==e||delete r._):(l=!t.$stable,qt(t,r)),a=t}else t&&(Ft(e,t),a={default:1});if(l)for(const i in r)St(i)||null!=a[i]||delete r[i]};function Tt(e,t,n,l,a=!1){if((0,i.kJ)(e))return void e.forEach(((e,o)=>Tt(e,t&&((0,i.kJ)(t)?t[o]:t),n,l,a)));if(_e(l)&&!a)return;const s=4&l.shapeFlag?Zn(l.component)||l.component.proxy:l.el,u=a?null:s,{i:c,r:d}=e;const f=t&&t.r,p=c.refs===i.kT?c.refs={}:c.refs,v=c.setupState;if(null!=f&&f!==d&&((0,i.HD)(f)?(p[f]=null,(0,i.RI)(v,f)&&(v[f]=null)):(0,o.dq)(f)&&(f.value=null)),(0,i.mf)(d))r(d,c,12,[u,p]);else{const t=(0,i.HD)(d),r=(0,o.dq)(d);if(t||r){const o=()=>{if(e.f){const n=t?(0,i.RI)(v,d)?v[d]:p[d]:d.value;a?(0,i.kJ)(n)&&(0,i.Od)(n,s):(0,i.kJ)(n)?n.includes(s)||n.push(s):t?(p[d]=[s],(0,i.RI)(v,d)&&(v[d]=p[d])):(d.value=[s],e.k&&(p[e.k]=d.value))}else t?(p[d]=u,(0,i.RI)(v,d)&&(v[d]=u)):r&&(d.value=u,e.k&&(p[e.k]=u))};u?(o.id=-1,$t(o,n)):o()}else 0}}function At(){}const $t=Q;function Lt(e){return Pt(e)}function Pt(e,t){At();const n=(0,i.E9)();n.__VUE__=!0;const{insert:r,remove:l,patchProp:a,createElement:s,createText:u,createComment:c,setText:d,setElementText:f,parentNode:p,nextSibling:v,setScopeId:h=i.dG,insertStaticContent:m}=e,g=(e,t,n,o=null,i=null,r=null,l=!1,a=null,s=!!t.dynamicChildren)=>{if(e===t)return;e&&!un(e,t)&&(o=X(e),K(e,i,r,!0),e=null),-2===t.patchFlag&&(s=!1,t.dynamicChildren=null);const{type:u,ref:c,shapeFlag:d}=t;switch(u){case Wt:y(e,t,n,o);break;case Jt:b(e,t,n,o);break;case Qt:null==e&&w(t,n,o,l);break;case Yt:P(e,t,n,o,i,r,l,a,s);break;default:1&d?F(e,t,n,o,i,r,l,a,s):6&d?R(e,t,n,o,i,r,l,a,s):(64&d||128&d)&&u.process(e,t,n,o,i,r,l,a,s,ee)}null!=c&&i&&Tt(c,e&&e.ref,r,t||e,!t)},y=(e,t,n,o)=>{if(null==e)r(t.el=u(t.children),n,o);else{const n=t.el=e.el;t.children!==e.children&&d(n,t.children)}},b=(e,t,n,o)=>{null==e?r(t.el=c(t.children||""),n,o):t.el=e.el},w=(e,t,n,o)=>{[e.el,e.anchor]=m(e.children,t,n,o,e.el,e.anchor)},S=({el:e,anchor:t},n,o)=>{let i;while(e&&e!==t)i=v(e),r(e,n,o),e=i;r(t,n,o)},q=({el:e,anchor:t})=>{let n;while(e&&e!==t)n=v(e),l(e),e=n;l(t)},F=(e,t,n,o,i,r,l,a,s)=>{l=l||"svg"===t.type,null==e?O(t,n,o,i,r,l,a,s):A(e,t,i,r,l,a,s)},O=(e,t,n,o,l,u,c,d)=>{let p,v;const{type:h,props:m,shapeFlag:g,transition:y,dirs:b}=e;if(p=e.el=s(e.type,u,m&&m.is,m),8&g?f(p,e.children):16&g&&T(e.children,p,null,o,l,u&&"foreignObject"!==h,c,d),b&&re(e,null,o,"created"),E(p,e,e.scopeId,c,o),m){for(const t in m)"value"===t||(0,i.Gg)(t)||a(p,t,null,m[t],u,e.children,o,l,Q);"value"in m&&a(p,"value",null,m.value),(v=m.onVnodeBeforeMount)&&kn(v,o,e)}b&&re(e,null,o,"beforeMount");const _=Mt(l,y);_&&y.beforeEnter(p),r(p,t,n),((v=m&&m.onVnodeMounted)||_||b)&&$t((()=>{v&&kn(v,o,e),_&&y.enter(p),b&&re(e,null,o,"mounted")}),l)},E=(e,t,n,o,i)=>{if(n&&h(e,n),o)for(let r=0;r{for(let u=s;u{const u=t.el=e.el;let{patchFlag:c,dynamicChildren:d,dirs:p}=t;c|=16&e.patchFlag;const v=e.props||i.kT,h=t.props||i.kT;let m;n&&Rt(n,!1),(m=h.onVnodeBeforeUpdate)&&kn(m,n,t,e),p&&re(t,e,n,"beforeUpdate"),n&&Rt(n,!0);const g=r&&"foreignObject"!==t.type;if(d?$(e.dynamicChildren,d,u,n,o,g,l):s||z(e,t,u,null,n,o,g,l,!1),c>0){if(16&c)L(u,t,v,h,n,o,r);else if(2&c&&v.class!==h.class&&a(u,"class",null,h.class,r),4&c&&a(u,"style",v.style,h.style,r),8&c){const i=t.dynamicProps;for(let t=0;t{m&&kn(m,n,t,e),p&&re(t,e,n,"updated")}),o)},$=(e,t,n,o,i,r,l)=>{for(let a=0;a{if(n!==o){if(n!==i.kT)for(const u in n)(0,i.Gg)(u)||u in o||a(e,u,n[u],null,s,t.children,r,l,Q);for(const u in o){if((0,i.Gg)(u))continue;const c=o[u],d=n[u];c!==d&&"value"!==u&&a(e,u,d,c,s,t.children,r,l,Q)}"value"in o&&a(e,"value",n.value,o.value)}},P=(e,t,n,o,i,l,a,s,c)=>{const d=t.el=e?e.el:u(""),f=t.anchor=e?e.anchor:u("");let{patchFlag:p,dynamicChildren:v,slotScopeIds:h}=t;h&&(s=s?s.concat(h):h),null==e?(r(d,n,o),r(f,n,o),T(t.children,n,f,i,l,a,s,c)):p>0&&64&p&&v&&e.dynamicChildren?($(e.dynamicChildren,v,n,i,l,a,s),(null!=t.key||i&&t===i.subTree)&&jt(e,t,!0)):z(e,t,n,f,i,l,a,s,c)},R=(e,t,n,o,i,r,l,a,s)=>{t.slotScopeIds=a,null==e?512&t.shapeFlag?i.ctx.activate(t,n,o,l,s):j(t,n,o,i,r,l,s):V(e,t,s)},j=(e,t,n,o,i,r,l)=>{const a=e.component=Fn(e,o,i);if(we(e)&&(a.ctx.renderer=ee),Bn(a),a.asyncDep){if(i&&i.registerDep(a,N),!e.el){const e=a.subTree=vn(Jt);b(null,e,t,n)}}else N(a,e,t,n,i,r,l)},V=(e,t,n)=>{const o=t.component=e.component;if(B(e,t,n)){if(o.asyncDep&&!o.asyncResolved)return void H(o,t,n);o.next=t,x(o.update),o.update()}else t.el=e.el,o.vnode=t},N=(e,t,n,r,l,a,s)=>{const u=()=>{if(e.isMounted){let t,{next:n,bu:o,u:r,parent:u,vnode:c}=e,d=n;0,Rt(e,!1),n?(n.el=c.el,H(e,n,s)):n=c,o&&(0,i.ir)(o),(t=n.props&&n.props.onVnodeBeforeUpdate)&&kn(t,u,n,c),Rt(e,!0);const f=M(e);0;const v=e.subTree;e.subTree=f,g(v,f,p(v.el),X(v),e,l,a),n.el=f.el,null===d&&I(e,f.el),r&&$t(r,l),(t=n.props&&n.props.onVnodeUpdated)&&$t((()=>kn(t,u,n,c)),l)}else{let o;const{el:s,props:u}=t,{bm:c,m:d,parent:f}=e,p=_e(t);if(Rt(e,!1),c&&(0,i.ir)(c),!p&&(o=u&&u.onVnodeBeforeMount)&&kn(o,f,t),Rt(e,!0),s&&ne){const n=()=>{e.subTree=M(e),ne(s,e.subTree,e,l,null)};p?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{0;const o=e.subTree=M(e);0,g(null,o,n,r,e,l,a),t.el=o.el}if(d&&$t(d,l),!p&&(o=u&&u.onVnodeMounted)){const e=t;$t((()=>kn(o,f,e)),l)}(256&t.shapeFlag||f&&_e(f.vnode)&&256&f.vnode.shapeFlag)&&e.a&&$t(e.a,l),e.isMounted=!0,t=n=r=null}},c=e.effect=new o.qq(u,(()=>_(d)),e.scope),d=e.update=()=>c.run();d.id=e.uid,Rt(e,!0),d()},H=(e,t,n)=>{t.component=e;const i=e.vnode.props;e.vnode=t,e.next=null,ht(e,t.props,i,n),Et(e,t.children,n),(0,o.Jd)(),k(e),(0,o.lk)()},z=(e,t,n,o,i,r,l,a,s=!1)=>{const u=e&&e.children,c=e?e.shapeFlag:0,d=t.children,{patchFlag:p,shapeFlag:v}=t;if(p>0){if(128&p)return void Z(u,d,n,o,i,r,l,a,s);if(256&p)return void D(u,d,n,o,i,r,l,a,s)}8&v?(16&c&&Q(u,i,r),d!==u&&f(n,d)):16&c?16&v?Z(u,d,n,o,i,r,l,a,s):Q(u,i,r,!0):(8&c&&f(n,""),16&v&&T(d,n,o,i,r,l,a,s))},D=(e,t,n,o,r,l,a,s,u)=>{e=e||i.Z6,t=t||i.Z6;const c=e.length,d=t.length,f=Math.min(c,d);let p;for(p=0;pd?Q(e,r,l,!0,!1,f):T(t,n,o,r,l,a,s,u,f)},Z=(e,t,n,o,r,l,a,s,u)=>{let c=0;const d=t.length;let f=e.length-1,p=d-1;while(c<=f&&c<=p){const o=e[c],i=t[c]=u?wn(t[c]):_n(t[c]);if(!un(o,i))break;g(o,i,n,null,r,l,a,s,u),c++}while(c<=f&&c<=p){const o=e[f],i=t[p]=u?wn(t[p]):_n(t[p]);if(!un(o,i))break;g(o,i,n,null,r,l,a,s,u),f--,p--}if(c>f){if(c<=p){const e=p+1,i=ep)while(c<=f)K(e[c],r,l,!0),c++;else{const v=c,h=c,m=new Map;for(c=h;c<=p;c++){const e=t[c]=u?wn(t[c]):_n(t[c]);null!=e.key&&m.set(e.key,c)}let y,b=0;const _=p-h+1;let w=!1,x=0;const S=new Array(_);for(c=0;c<_;c++)S[c]=0;for(c=v;c<=f;c++){const o=e[c];if(b>=_){K(o,r,l,!0);continue}let i;if(null!=o.key)i=m.get(o.key);else for(y=h;y<=p;y++)if(0===S[y-h]&&un(o,t[y])){i=y;break}void 0===i?K(o,r,l,!0):(S[i-h]=c+1,i>=x?x=i:w=!0,g(o,t[i],n,null,r,l,a,s,u),b++)}const k=w?Vt(S):i.Z6;for(y=k.length-1,c=_-1;c>=0;c--){const e=h+c,i=t[e],f=e+1{const{el:l,type:a,transition:s,children:u,shapeFlag:c}=e;if(6&c)return void U(e.component.subTree,t,n,o);if(128&c)return void e.suspense.move(t,n,o);if(64&c)return void a.move(e,t,n,ee);if(a===Yt){r(l,t,n);for(let e=0;es.enter(l)),i);else{const{leave:e,delayLeave:o,afterLeave:i}=s,a=()=>r(l,t,n),u=()=>{e(l,(()=>{a(),i&&i()}))};o?o(l,a,u):u()}else r(l,t,n)},K=(e,t,n,o=!1,i=!1)=>{const{type:r,props:l,ref:a,children:s,dynamicChildren:u,shapeFlag:c,patchFlag:d,dirs:f}=e;if(null!=a&&Tt(a,null,n,e,!0),256&c)return void t.ctx.deactivate(e);const p=1&c&&f,v=!_e(e);let h;if(v&&(h=l&&l.onVnodeBeforeUnmount)&&kn(h,t,e),6&c)J(e.component,n,o);else{if(128&c)return void e.suspense.unmount(n,o);p&&re(e,null,t,"beforeUnmount"),64&c?e.type.remove(e,t,n,i,ee,o):u&&(r!==Yt||d>0&&64&d)?Q(u,t,n,!1,!0):(r===Yt&&384&d||!i&&16&c)&&Q(s,t,n),o&&Y(e)}(v&&(h=l&&l.onVnodeUnmounted)||p)&&$t((()=>{h&&kn(h,t,e),p&&re(e,null,t,"unmounted")}),n)},Y=e=>{const{type:t,el:n,anchor:o,transition:i}=e;if(t===Yt)return void W(n,o);if(t===Qt)return void q(e);const r=()=>{l(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&e.shapeFlag&&i&&!i.persisted){const{leave:t,delayLeave:o}=i,l=()=>t(n,r);o?o(e.el,r,l):l()}else r()},W=(e,t)=>{let n;while(e!==t)n=v(e),l(e),e=n;l(t)},J=(e,t,n)=>{const{bum:o,scope:r,update:l,subTree:a,um:s}=e;o&&(0,i.ir)(o),r.stop(),l&&(l.active=!1,K(a,e,t,n)),s&&$t(s,t),$t((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},Q=(e,t,n,o=!1,i=!1,r=0)=>{for(let l=r;l6&e.shapeFlag?X(e.component.subTree):128&e.shapeFlag?e.suspense.next():v(e.anchor||e.el),G=(e,t,n)=>{null==e?t._vnode&&K(t._vnode,null,null,!0):g(t._vnode||null,e,t,null,null,null,n),k(),C(),t._vnode=e},ee={p:g,um:K,m:U,r:Y,mt:j,mc:T,pc:z,pbc:$,n:X,o:e};let te,ne;return t&&([te,ne]=t(ee)),{render:G,hydrate:te,createApp:ct(G,te)}}function Rt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Mt(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function jt(e,t,n=!1){const o=e.children,r=t.children;if((0,i.kJ)(o)&&(0,i.kJ)(r))for(let i=0;i>1,e[n[a]]0&&(t[o]=n[r-1]),n[r]=o)}}r=n.length,l=n[r-1];while(r-- >0)n[r]=l,l=t[l];return n}const Bt=e=>e.__isTeleport,Nt=e=>e&&(e.disabled||""===e.disabled),It=e=>"undefined"!==typeof SVGElement&&e instanceof SVGElement,Ht=(e,t)=>{const n=e&&e.to;if((0,i.HD)(n)){if(t){const e=t(n);return e}return null}return n},zt={name:"Teleport",__isTeleport:!0,process(e,t,n,o,i,r,l,a,s,u){const{mc:c,pc:d,pbc:f,o:{insert:p,querySelector:v,createText:h,createComment:m}}=u,g=Nt(t.props);let{shapeFlag:y,children:b,dynamicChildren:_}=t;if(null==e){const e=t.el=h(""),u=t.anchor=h("");p(e,n,o),p(u,n,o);const d=t.target=Ht(t.props,v),f=t.targetAnchor=h("");d&&(p(f,d),l=l||It(d));const m=(e,t)=>{16&y&&c(b,e,t,i,r,l,a,s)};g?m(n,u):d&&m(d,f)}else{t.el=e.el;const o=t.anchor=e.anchor,c=t.target=e.target,p=t.targetAnchor=e.targetAnchor,h=Nt(e.props),m=h?n:c,y=h?o:p;if(l=l||It(c),_?(f(e.dynamicChildren,_,m,i,r,l,a),jt(e,t,!0)):s||d(e,t,m,y,i,r,l,a,!1),g)h?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Dt(t,n,o,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=Ht(t.props,v);e&&Dt(t,e,null,u,0)}else h&&Dt(t,c,p,u,1)}Kt(t)},remove(e,t,n,o,{um:i,o:{remove:r}},l){const{shapeFlag:a,children:s,anchor:u,targetAnchor:c,target:d,props:f}=e;if(d&&r(c),l&&r(u),16&a){const e=l||!Nt(f);for(let o=0;o0?Gt||i.Z6:null,tn(),nn>0&&Gt&&Gt.push(e),e}function ln(e,t,n,o,i,r){return rn(pn(e,t,n,o,i,r,!0))}function an(e,t,n,o,i){return rn(vn(e,t,n,o,i,!0))}function sn(e){return!!e&&!0===e.__v_isVNode}function un(e,t){return e.type===t.type&&e.key===t.key}const cn="__vInternal",dn=({key:e})=>null!=e?e:null,fn=({ref:e,ref_key:t,ref_for:n})=>("number"===typeof e&&(e=""+e),null!=e?(0,i.HD)(e)||(0,o.dq)(e)||(0,i.mf)(e)?{i:$,r:e,k:t,f:!!n}:e:null);function pn(e,t=null,n=null,o=0,r=null,l=(e===Yt?0:1),a=!1,s=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&dn(t),ref:t&&fn(t),scopeId:L,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:$};return s?(xn(u,n),128&l&&e.normalize(u)):n&&(u.shapeFlag|=(0,i.HD)(n)?8:16),nn>0&&!a&&Gt&&(u.patchFlag>0||6&l)&&32!==u.patchFlag&&Gt.push(u),u}const vn=hn;function hn(e,t=null,n=null,r=0,l=null,a=!1){if(e&&e!==Z||(e=Jt),sn(e)){const o=gn(e,t,!0);return n&&xn(o,n),nn>0&&!a&&Gt&&(6&o.shapeFlag?Gt[Gt.indexOf(e)]=o:Gt.push(o)),o.patchFlag|=-2,o}if(Kn(e)&&(e=e.__vccOpts),t){t=mn(t);let{class:e,style:n}=t;e&&!(0,i.HD)(e)&&(t.class=(0,i.C_)(e)),(0,i.Kn)(n)&&((0,o.X3)(n)&&!(0,i.kJ)(n)&&(n=(0,i.l7)({},n)),t.style=(0,i.j5)(n))}const s=(0,i.HD)(e)?1:J(e)?128:Bt(e)?64:(0,i.Kn)(e)?4:(0,i.mf)(e)?2:0;return pn(e,t,n,r,l,s,a,!0)}function mn(e){return e?(0,o.X3)(e)||cn in e?(0,i.l7)({},e):e:null}function gn(e,t,n=!1){const{props:o,ref:r,patchFlag:l,children:a}=e,s=t?Sn(o||{},t):o,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:s,key:s&&dn(s),ref:t&&t.ref?n&&r?(0,i.kJ)(r)?r.concat(fn(t)):[r,fn(t)]:fn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Yt?-1===l?16:16|l:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&gn(e.ssContent),ssFallback:e.ssFallback&&gn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return u}function yn(e=" ",t=0){return vn(Wt,null,e,t)}function bn(e="",t=!1){return t?(en(),an(Jt,null,e)):vn(Jt,null,e)}function _n(e){return null==e||"boolean"===typeof e?vn(Jt):(0,i.kJ)(e)?vn(Yt,null,e.slice()):"object"===typeof e?wn(e):vn(Wt,null,String(e))}function wn(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:gn(e)}function xn(e,t){let n=0;const{shapeFlag:o}=e;if(null==t)t=null;else if((0,i.kJ)(t))n=16;else if("object"===typeof t){if(65&o){const n=t.default;return void(n&&(n._c&&(n._d=!1),xn(e,n()),n._c&&(n._d=!0)))}{n=32;const o=t._;o||cn in t?3===o&&$&&(1===$.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=$}}else(0,i.mf)(t)?(t={default:t,_ctx:$},n=32):(t=String(t),64&o?(n=16,t=[yn(t)]):n=8);e.children=t,e.shapeFlag|=n}function Sn(...e){const t={};for(let n=0;nOn||$;let Tn,An,$n="__VUE_INSTANCE_SETTERS__";(An=(0,i.E9)()[$n])||(An=(0,i.E9)()[$n]=[]),An.push((e=>On=e)),Tn=e=>{An.length>1?An.forEach((t=>t(e))):An[0](e)};const Ln=e=>{Tn(e),e.scope.on()},Pn=()=>{On&&On.scope.off(),Tn(null)};function Rn(e){return 4&e.vnode.shapeFlag}let Mn,jn,Vn=!1;function Bn(e,t=!1){Vn=t;const{props:n,children:o}=e.vnode,i=Rn(e);vt(e,n,i,t),Ot(e,o);const r=i?Nn(e,t):void 0;return Vn=!1,r}function Nn(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=(0,o.Xl)(new Proxy(e.ctx,Ze));const{setup:l}=n;if(l){const n=e.setupContext=l.length>1?Dn(e):null;Ln(e),(0,o.Jd)();const s=r(l,e,0,[e.props,n]);if((0,o.lk)(),Pn(),(0,i.tI)(s)){if(s.then(Pn,Pn),t)return s.then((n=>{In(e,n,t)})).catch((t=>{a(t,e,0)}));e.asyncDep=s}else In(e,s,t)}else Hn(e,t)}function In(e,t,n){(0,i.mf)(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:(0,i.Kn)(t)&&(e.setupState=(0,o.WL)(t)),Hn(e,n)}function Hn(e,t,n){const r=e.type;if(!e.render){if(!t&&Mn&&!r.render){const t=r.template||Xe(e).template;if(t){0;const{isCustomElement:n,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:a}=r,s=(0,i.l7)((0,i.l7)({isCustomElement:n,delimiters:l},o),a);r.render=Mn(t,s)}}e.render=r.render||i.dG,jn&&jn(e)}Ln(e),(0,o.Jd)();try{Ye(e)}finally{(0,o.lk)(),Pn()}}function zn(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return(0,o.j)(e,"get","$attrs"),t[n]}}))}function Dn(e){const t=t=>{e.exposed=t||{}};return{get attrs(){return zn(e)},slots:e.slots,emit:e.emit,expose:t}}function Zn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy((0,o.WL)((0,o.Xl)(e.exposed)),{get(t,n){return n in t?t[n]:n in ze?ze[n](e):void 0},has(e,t){return t in e||t in ze}}))}function Un(e,t=!0){return(0,i.mf)(e)?e.displayName||e.name:e.name||t&&e.__name}function Kn(e){return(0,i.mf)(e)&&"__vccOpts"in e}const Yn=(e,t)=>(0,o.Fl)(e,t,Vn);function Wn(e,t,n){const o=arguments.length;return 2===o?(0,i.Kn)(t)&&!(0,i.kJ)(t)?sn(t)?vn(e,null,[t]):vn(e,t):vn(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):3===o&&sn(n)&&(n=[n]),vn(e,t,n))}const Jn=Symbol.for("v-scx"),Qn=()=>{{const e=pt(Jn);return e}};const Xn="3.3.11"},5102:function(e,t,n){"use strict";n.d(t,{D2:function(){return he},W3:function(){return le},iM:function(){return pe},ri:function(){return be},uT:function(){return p}});var o=n(9269),i=n(3201),r=n(6237);const l="http://www.w3.org/2000/svg",a="undefined"!==typeof document?document:null,s=a&&a.createElement("template"),u={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const i=t?a.createElementNS(l,e):a.createElement(e,n?{is:n}:void 0);return"select"===e&&o&&null!=o.multiple&&i.setAttribute("multiple",o.multiple),i},createText:e=>a.createTextNode(e),createComment:e=>a.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>a.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,i,r){const l=n?n.previousSibling:t.lastChild;if(i&&(i===r||i.nextSibling)){while(1)if(t.insertBefore(i.cloneNode(!0),n),i===r||!(i=i.nextSibling))break}else{s.innerHTML=o?`${e} `:e;const i=s.content;if(o){const e=i.firstChild;while(e.firstChild)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[l?l.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},c="transition",d="animation",f=Symbol("_vtc"),p=(e,{slots:t})=>(0,o.h)(o.P$,y(e),t);p.displayName="Transition";const v={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},h=p.props=(0,i.l7)({},o.nJ,v),m=(e,t=[])=>{(0,i.kJ)(e)?e.forEach((e=>e(...t))):e&&e(...t)},g=e=>!!e&&((0,i.kJ)(e)?e.some((e=>e.length>1)):e.length>1);function y(e){const t={};for(const i in e)i in v||(t[i]=e[i]);if(!1===e.css)return t;const{name:n="v",type:o,duration:r,enterFromClass:l=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:u=l,appearActiveClass:c=a,appearToClass:d=s,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,y=b(r),_=y&&y[0],k=y&&y[1],{onBeforeEnter:q,onEnter:F,onEnterCancelled:O,onLeave:T,onLeaveCancelled:A,onBeforeAppear:$=q,onAppear:L=F,onAppearCancelled:P=O}=t,R=(e,t,n)=>{x(e,t?d:s),x(e,t?c:a),n&&n()},M=(e,t)=>{e._isLeaving=!1,x(e,f),x(e,h),x(e,p),t&&t()},j=e=>(t,n)=>{const i=e?L:F,r=()=>R(t,e,n);m(i,[t,r]),S((()=>{x(t,e?u:l),w(t,e?d:s),g(i)||C(t,o,_,r)}))};return(0,i.l7)(t,{onBeforeEnter(e){m(q,[e]),w(e,l),w(e,a)},onBeforeAppear(e){m($,[e]),w(e,u),w(e,c)},onEnter:j(!1),onAppear:j(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>M(e,t);w(e,f),E(),w(e,p),S((()=>{e._isLeaving&&(x(e,f),w(e,h),g(T)||C(e,o,k,n))})),m(T,[e,n])},onEnterCancelled(e){R(e,!1),m(O,[e])},onAppearCancelled(e){R(e,!0),m(P,[e])},onLeaveCancelled(e){M(e),m(A,[e])}})}function b(e){if(null==e)return null;if((0,i.Kn)(e))return[_(e.enter),_(e.leave)];{const t=_(e);return[t,t]}}function _(e){const t=(0,i.He)(e);return t}function w(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e[f]||(e[f]=new Set)).add(t)}function x(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const n=e[f];n&&(n.delete(t),n.size||(e[f]=void 0))}function S(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let k=0;function C(e,t,n,o){const i=e._endId=++k,r=()=>{i===e._endId&&o()};if(n)return setTimeout(r,n);const{type:l,timeout:a,propCount:s}=q(e,t);if(!l)return o();const u=l+"end";let c=0;const d=()=>{e.removeEventListener(u,f),r()},f=t=>{t.target===e&&++c>=s&&d()};setTimeout((()=>{c(n[e]||"").split(", "),i=o(`${c}Delay`),r=o(`${c}Duration`),l=F(i,r),a=o(`${d}Delay`),s=o(`${d}Duration`),u=F(a,s);let f=null,p=0,v=0;t===c?l>0&&(f=c,p=l,v=r.length):t===d?u>0&&(f=d,p=u,v=s.length):(p=Math.max(l,u),f=p>0?l>u?c:d:null,v=f?f===c?r.length:s.length:0);const h=f===c&&/\b(transform|all)(,|$)/.test(o(`${c}Property`).toString());return{type:f,timeout:p,propCount:v,hasTransform:h}}function F(e,t){while(e.lengthO(t)+O(e[n]))))}function O(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function E(){return document.body.offsetHeight}function T(e,t,n){const o=e[f];o&&(t=(t?[t,...o]:[...o]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const A=Symbol("_vod");function $(e,t,n){const o=e.style,r=(0,i.HD)(n);if(n&&!r){if(t&&!(0,i.HD)(t))for(const e in t)null==n[e]&&P(o,e,"");for(const e in n)P(o,e,n[e])}else{const i=o.display;r?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),A in e&&(o.display=i)}}const L=/\s*!important$/;function P(e,t,n){if((0,i.kJ)(n))n.forEach((n=>P(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=j(e,t);L.test(n)?e.setProperty((0,i.rs)(o),n.replace(L,""),"important"):e[o]=n}}const R=["Webkit","Moz","ms"],M={};function j(e,t){const n=M[t];if(n)return n;let o=(0,i._A)(t);if("filter"!==o&&o in e)return M[t]=o;o=(0,i.kC)(o);for(let i=0;iK||(Y.then((()=>K=0)),K=Date.now());function J(e,t){const n=e=>{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();(0,o.$d)(Q(e,n.value),t,5,[e])};return n.value=e,n.attached=W(),n}function Q(e,t){if((0,i.kJ)(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}const X=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,G=(e,t,n,o,r=!1,l,a,s,u)=>{"class"===t?T(e,o,r):"style"===t?$(e,n,o):(0,i.F7)(t)?(0,i.tR)(t)||D(e,t,n,o,a):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):ee(e,t,o,r))?N(e,t,o,l,a,s,u):("true-value"===t?e._trueValue=o:"false-value"===t&&(e._falseValue=o),B(e,t,o,r))};function ee(e,t,n,o){if(o)return"innerHTML"===t||"textContent"===t||!!(t in e&&X(t)&&(0,i.mf)(n));if("spellcheck"===t||"draggable"===t||"translate"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){const t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}return(!X(t)||!(0,i.HD)(n))&&t in e}
-/*! #__NO_SIDE_EFFECTS__ */
-/*! #__NO_SIDE_EFFECTS__ */
-"undefined"!==typeof HTMLElement&&HTMLElement;const te=new WeakMap,ne=new WeakMap,oe=Symbol("_moveCb"),ie=Symbol("_enterCb"),re={name:"TransitionGroup",props:(0,i.l7)({},h,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=(0,o.FN)(),i=(0,o.Y8)();let l,a;return(0,o.ic)((()=>{if(!l.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!ce(l[0].el,n.vnode.el,t))return;l.forEach(ae),l.forEach(se);const o=l.filter(ue);E(),o.forEach((e=>{const n=e.el,o=n.style;w(n,t),o.transform=o.webkitTransform=o.transitionDuration="";const i=n[oe]=e=>{e&&e.target!==n||e&&!/transform$/.test(e.propertyName)||(n.removeEventListener("transitionend",i),n[oe]=null,x(n,t))};n.addEventListener("transitionend",i)}))})),()=>{const s=(0,r.IU)(e),u=y(s);let c=s.tag||o.HY;l=a,a=t.default?(0,o.Q6)(t.default()):[];for(let e=0;e{e.split(/\s+/).forEach((e=>e&&o.classList.remove(e)))})),n.split(/\s+/).forEach((e=>e&&o.classList.add(e))),o.style.display="none";const r=1===t.nodeType?t:t.parentNode;r.appendChild(o);const{hasTransform:l}=q(o);return r.removeChild(o),l}Symbol("_assign");const de=["ctrl","shift","alt","meta"],fe={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>de.some((n=>e[`${n}Key`]&&!t.includes(n)))},pe=(e,t)=>e._withMods||(e._withMods=(n,...o)=>{for(let e=0;ee._withKeys||(e._withKeys=n=>{if(!("key"in n))return;const o=(0,i.rs)(n.key);return t.some((e=>e===o||ve[e]===o))?e(n):void 0}),me=(0,i.l7)({patchProp:G},u);let ge;function ye(){return ge||(ge=(0,o.Us)(me))}const be=(...e)=>{const t=ye().createApp(...e);const{mount:n}=t;return t.mount=e=>{const o=_e(e);if(!o)return;const r=t._component;(0,i.mf)(r)||r.render||r.template||(r.template=o.innerHTML),o.innerHTML="";const l=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),l},t};function _e(e){if((0,i.HD)(e)){const t=document.querySelector(e);return t}return e}},3201:function(e,t,n){"use strict";function o(e,t){const n=Object.create(null),o=e.split(",");for(let i=0;i!!n[e.toLowerCase()]:e=>!!n[e]}n.d(t,{C_:function(){return Q},DM:function(){return m},E9:function(){return z},F7:function(){return s},Gg:function(){return E},HD:function(){return _},He:function(){return I},Kj:function(){return y},Kn:function(){return x},NO:function(){return a},Nj:function(){return B},Od:function(){return d},PO:function(){return F},Pq:function(){return G},RI:function(){return p},S0:function(){return O},W7:function(){return q},WV:function(){return ne},Z6:function(){return r},_A:function(){return $},_N:function(){return h},aU:function(){return j},dG:function(){return l},fY:function(){return o},h5:function(){return N},hR:function(){return M},hq:function(){return oe},ir:function(){return V},j5:function(){return U},kC:function(){return R},kJ:function(){return v},kT:function(){return i},l7:function(){return c},mf:function(){return b},rs:function(){return P},tI:function(){return S},tR:function(){return u},yA:function(){return ee},yk:function(){return w},yl:function(){return Z},zw:function(){return ie}});const i={},r=[],l=()=>{},a=()=>!1,s=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),u=e=>e.startsWith("onUpdate:"),c=Object.assign,d=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},f=Object.prototype.hasOwnProperty,p=(e,t)=>f.call(e,t),v=Array.isArray,h=e=>"[object Map]"===C(e),m=e=>"[object Set]"===C(e),g=e=>"[object Date]"===C(e),y=e=>"[object RegExp]"===C(e),b=e=>"function"===typeof e,_=e=>"string"===typeof e,w=e=>"symbol"===typeof e,x=e=>null!==e&&"object"===typeof e,S=e=>(x(e)||b(e))&&b(e.then)&&b(e.catch),k=Object.prototype.toString,C=e=>k.call(e),q=e=>C(e).slice(8,-1),F=e=>"[object Object]"===C(e),O=e=>_(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,E=o(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),T=e=>{const t=Object.create(null);return n=>{const o=t[n];return o||(t[n]=e(n))}},A=/-(\w)/g,$=T((e=>e.replace(A,((e,t)=>t?t.toUpperCase():"")))),L=/\B([A-Z])/g,P=T((e=>e.replace(L,"-$1").toLowerCase())),R=T((e=>e.charAt(0).toUpperCase()+e.slice(1))),M=T((e=>{const t=e?`on${R(e)}`:"";return t})),j=(e,t)=>!Object.is(e,t),V=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},N=e=>{const t=parseFloat(e);return isNaN(t)?e:t},I=e=>{const t=_(e)?Number(e):NaN;return isNaN(t)?e:t};let H;const z=()=>H||(H="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{});const D="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console",Z=o(D);function U(e){if(v(e)){const t={};for(let n=0;n{if(e){const n=e.split(Y);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function Q(e){let t="";if(_(e))t=e;else if(v(e))for(let n=0;nne(e,t)))}const ie=e=>_(e)?e:null==e?"":v(e)||x(e)&&(e.toString===k||!b(e.toString))?JSON.stringify(e,re,2):String(e),re=(e,t)=>t&&t.__v_isRef?re(e,t.value):h(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n],o)=>(e[le(t,o)+" =>"]=n,e)),{})}:m(t)?{[`Set(${t.size})`]:[...t.values()].map((e=>le(e)))}:w(t)?le(t):!x(t)||v(t)||F(t)?t:String(t),le=(e,t="")=>{var n;return w(e)?`Symbol(${null!=(n=e.description)?n:t})`:e}},2374:function(e,t,n){"use strict";e.exports=n(691).polyfill()},691:function(e,t,n){
-/*!
- * @overview es6-promise - a tiny implementation of Promises/A+.
- * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
- * @license Licensed under MIT license
- * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
- * @version v4.2.8+1e68dce6
- */
-(function(t,n){e.exports=n()})(0,(function(){"use strict";function e(e){var t=typeof e;return null!==e&&("object"===t||"function"===t)}function t(e){return"function"===typeof e}var o=void 0;o=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)};var i=o,r=0,l=void 0,a=void 0,s=function(e,t){w[r]=e,w[r+1]=t,r+=2,2===r&&(a?a(x):k())};function u(e){a=e}function c(e){s=e}var d="undefined"!==typeof window?window:void 0,f=d||{},p=f.MutationObserver||f.WebKitMutationObserver,v="undefined"===typeof self&&"undefined"!==typeof process&&"[object process]"==={}.toString.call(process),h="undefined"!==typeof Uint8ClampedArray&&"undefined"!==typeof importScripts&&"undefined"!==typeof MessageChannel;function m(){return function(){return process.nextTick(x)}}function g(){return"undefined"!==typeof l?function(){l(x)}:_()}function y(){var e=0,t=new p(x),n=document.createTextNode("");return t.observe(n,{characterData:!0}),function(){n.data=e=++e%2}}function b(){var e=new MessageChannel;return e.port1.onmessage=x,function(){return e.port2.postMessage(0)}}function _(){var e=setTimeout;return function(){return e(x,1)}}var w=new Array(1e3);function x(){for(var e=0;e\"\']*)\s*$/,"$1 $2$3 "],[/([?!])/g," $1 "],[/([^'])' /g,"$1 ' "]],this.PARENS_BRACKETS=[/([\]\[\(\){}<>])/g," $1 "],this.CONVERT_PARENTHESES=[[/\(/,"-LRB-"],[/\)/,"-RRB-"],[/\[/,"-LSB-"],[/\]/,"-RSB-"],[/{/,"-LCB-"],[/}/,"-RCB-"]],this.DOUBLE_DASHES=[/--/," -- "],this.ENDING_QUOTES=[[/''/," '' "],[/\"/," '' "],[/([^' ])('[sS]|'[mM]|'[dD]|') /,"$1 $2 "],[/([^' ])('ll|'LL|'re|'RE|'ve|'VE|n't|N'T) /,"$1 $2 "]],this._contractions=new n,this.CONTRACTIONS2=this._contractions.CONTRACTIONS2.map((e=>new RegExp(e,"i"))),this.CONTRACTIONS3=this._contractions.CONTRACTIONS3.map((e=>new RegExp(e,"i")))}tokenize(e,t=!1){for(let i of this.STARTING_QUOTES){var[n,o]=[...i];e=e.replace(n,o)}for(let i of this.PUNCTUATION){var[n,o]=[...i];e=e.replace(n,o)}var[n,o]=[...this.PARENS_BRACKETS];if(e=e.replace(n,o),t)for(let i of this.CONVERT_PARENTHESES){var[n,o]=[...i];e=e.replace(n,o)}var[n,o]=[...this.DOUBLE_DASHES];e=e.replace(n,o),e=" "+e+" ";for(let i of this.ENDING_QUOTES){var[n,o]=[...i];e=e.replace(n,o)}for(let i of this.CONTRACTIONS2)e=e.replace(i," $1 $2 ");for(let i of this.CONTRACTIONS3)e=e.replace(i," $1 $2 ");return e.trim().split(/\s+/)}span_tokenize(e){let n,o=this.tokenize(e);if(e.includes('"')||e.includes("''")){let t=[...e.matchAll(/``|'{2}|\"/g)].map((e=>e[0]));n=o.map((e=>-1!==['"',"``","''"].indexOf(e)?t.splice(0,1)[0]:e))}else n=o;return t(n,e)}tokenize_sents(e){return e.map((e=>this.tokenize(e)))}*span_tokenize_sents(e){for(let t of e)yield this.span_tokenize(t)}};e.exports=o},1410:function(e){e.exports=function(e,t,n){const o=void 0!==e.__vccOpts?e.__vccOpts:e,i=o[t];if(void 0===i)o[t]=n;else for(var r in n)void 0===i[r]&&(i[r]=n[r])}},7617:function(e,t){"use strict";t.Z=(e,t)=>{const n=e.__vccOpts||e;for(const[o,i]of t)n[o]=i;return n}},6957:function(e,t,n){"use strict";n.d(t,{MT:function(){return ee},nv:function(){return re},OI:function(){return ie},rn:function(){return oe}});var o=n(9269),i=n(6237);function r(){return l().__VUE_DEVTOOLS_GLOBAL_HOOK__}function l(){return"undefined"!==typeof navigator&&"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{}}const a="function"===typeof Proxy,s="devtools-plugin:setup",u="plugin:settings:set";let c,d;function f(){var e;return void 0!==c||("undefined"!==typeof window&&window.performance?(c=!0,d=window.performance):"undefined"!==typeof n.g&&(null===(e=n.g.perf_hooks)||void 0===e?void 0:e.performance)?(c=!0,d=n.g.perf_hooks.performance):c=!1),c}function p(){return f()?d.now():Date.now()}class v{constructor(e,t){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=e,this.hook=t;const n={};if(e.settings)for(const l in e.settings){const t=e.settings[l];n[l]=t.defaultValue}const o=`__vue-devtools-plugin-settings__${e.id}`;let i=Object.assign({},n);try{const e=localStorage.getItem(o),t=JSON.parse(e);Object.assign(i,t)}catch(r){}this.fallbacks={getSettings(){return i},setSettings(e){try{localStorage.setItem(o,JSON.stringify(e))}catch(r){}i=e},now(){return p()}},t&&t.on(u,((e,t)=>{e===this.plugin.id&&this.fallbacks.setSettings(t)})),this.proxiedOn=new Proxy({},{get:(e,t)=>this.target?this.target.on[t]:(...e)=>{this.onQueue.push({method:t,args:e})}}),this.proxiedTarget=new Proxy({},{get:(e,t)=>this.target?this.target[t]:"on"===t?this.proxiedOn:Object.keys(this.fallbacks).includes(t)?(...e)=>(this.targetQueue.push({method:t,args:e,resolve:()=>{}}),this.fallbacks[t](...e)):(...e)=>new Promise((n=>{this.targetQueue.push({method:t,args:e,resolve:n})}))})}async setRealTarget(e){this.target=e;for(const t of this.onQueue)this.target.on[t.method](...t.args);for(const t of this.targetQueue)t.resolve(await this.target[t.method](...t.args))}}function h(e,t){const n=e,o=l(),i=r(),u=a&&n.enableEarlyProxy;if(!i||!o.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&u){const e=u?new v(n,i):null,r=o.__VUE_DEVTOOLS_PLUGINS__=o.__VUE_DEVTOOLS_PLUGINS__||[];r.push({pluginDescriptor:n,setupFn:t,proxy:e}),e&&t(e.proxiedTarget)}else i.emit(s,e,t)}
-/*!
- * vuex v4.1.0
- * (c) 2022 Evan You
- * @license MIT
- */
-var m="store";function g(e,t){Object.keys(e).forEach((function(n){return t(e[n],n)}))}function y(e){return null!==e&&"object"===typeof e}function b(e){return e&&"function"===typeof e.then}function _(e,t){return function(){return e(t)}}function w(e,t,n){return t.indexOf(e)<0&&(n&&n.prepend?t.unshift(e):t.push(e)),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function x(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;k(e,n,[],e._modules.root,!0),S(e,n,t)}function S(e,t,n){var r=e._state,l=e._scope;e.getters={},e._makeLocalGettersCache=Object.create(null);var a=e._wrappedGetters,s={},u={},c=(0,i.B)(!0);c.run((function(){g(a,(function(t,n){s[n]=_(t,e),u[n]=(0,o.Fl)((function(){return s[n]()})),Object.defineProperty(e.getters,n,{get:function(){return u[n].value},enumerable:!0})}))})),e._state=(0,i.qj)({data:t}),e._scope=c,e.strict&&T(e),r&&n&&e._withCommit((function(){r.data=null})),l&&l.stop()}function k(e,t,n,o,i){var r=!n.length,l=e._modules.getNamespace(n);if(o.namespaced&&(e._modulesNamespaceMap[l],e._modulesNamespaceMap[l]=o),!r&&!i){var a=A(t,n.slice(0,-1)),s=n[n.length-1];e._withCommit((function(){a[s]=o.state}))}var u=o.context=C(e,l,n);o.forEachMutation((function(t,n){var o=l+n;F(e,o,t,u)})),o.forEachAction((function(t,n){var o=t.root?n:l+n,i=t.handler||t;O(e,o,i,u)})),o.forEachGetter((function(t,n){var o=l+n;E(e,o,t,u)})),o.forEachChild((function(o,r){k(e,t,n.concat(r),o,i)}))}function C(e,t,n){var o=""===t,i={dispatch:o?e.dispatch:function(n,o,i){var r=$(n,o,i),l=r.payload,a=r.options,s=r.type;return a&&a.root||(s=t+s),e.dispatch(s,l)},commit:o?e.commit:function(n,o,i){var r=$(n,o,i),l=r.payload,a=r.options,s=r.type;a&&a.root||(s=t+s),e.commit(s,l,a)}};return Object.defineProperties(i,{getters:{get:o?function(){return e.getters}:function(){return q(e,t)}},state:{get:function(){return A(e.state,n)}}}),i}function q(e,t){if(!e._makeLocalGettersCache[t]){var n={},o=t.length;Object.keys(e.getters).forEach((function(i){if(i.slice(0,o)===t){var r=i.slice(o);Object.defineProperty(n,r,{get:function(){return e.getters[i]},enumerable:!0})}})),e._makeLocalGettersCache[t]=n}return e._makeLocalGettersCache[t]}function F(e,t,n,o){var i=e._mutations[t]||(e._mutations[t]=[]);i.push((function(t){n.call(e,o.state,t)}))}function O(e,t,n,o){var i=e._actions[t]||(e._actions[t]=[]);i.push((function(t){var i=n.call(e,{dispatch:o.dispatch,commit:o.commit,getters:o.getters,state:o.state,rootGetters:e.getters,rootState:e.state},t);return b(i)||(i=Promise.resolve(i)),e._devtoolHook?i.catch((function(t){throw e._devtoolHook.emit("vuex:error",t),t})):i}))}function E(e,t,n,o){e._wrappedGetters[t]||(e._wrappedGetters[t]=function(e){return n(o.state,o.getters,e.state,e.getters)})}function T(e){(0,o.YP)((function(){return e._state.data}),(function(){0}),{deep:!0,flush:"sync"})}function A(e,t){return t.reduce((function(e,t){return e[t]}),e)}function $(e,t,n){return y(e)&&e.type&&(n=t,t=e,e=e.type),{type:e,payload:t,options:n}}var L="vuex bindings",P="vuex:mutations",R="vuex:actions",M="vuex",j=0;function V(e,t){h({id:"org.vuejs.vuex",app:e,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[L]},(function(n){n.addTimelineLayer({id:P,label:"Vuex Mutations",color:B}),n.addTimelineLayer({id:R,label:"Vuex Actions",color:B}),n.addInspector({id:M,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),n.on.getInspectorTree((function(n){if(n.app===e&&n.inspectorId===M)if(n.filter){var o=[];Z(o,t._modules.root,n.filter,""),n.rootNodes=o}else n.rootNodes=[D(t._modules.root,"")]})),n.on.getInspectorState((function(n){if(n.app===e&&n.inspectorId===M){var o=n.nodeId;q(t,o),n.state=U(Y(t._modules,o),"root"===o?t.getters:t._makeLocalGettersCache,o)}})),n.on.editInspectorState((function(n){if(n.app===e&&n.inspectorId===M){var o=n.nodeId,i=n.path;"root"!==o&&(i=o.split("/").filter(Boolean).concat(i)),t._withCommit((function(){n.set(t._state.data,i,n.state.value)}))}})),t.subscribe((function(e,t){var o={};e.payload&&(o.payload=e.payload),o.state=t,n.notifyComponentUpdate(),n.sendInspectorTree(M),n.sendInspectorState(M),n.addTimelineEvent({layerId:P,event:{time:Date.now(),title:e.type,data:o}})})),t.subscribeAction({before:function(e,t){var o={};e.payload&&(o.payload=e.payload),e._id=j++,e._time=Date.now(),o.state=t,n.addTimelineEvent({layerId:R,event:{time:e._time,title:e.type,groupId:e._id,subtitle:"start",data:o}})},after:function(e,t){var o={},i=Date.now()-e._time;o.duration={_custom:{type:"duration",display:i+"ms",tooltip:"Action duration",value:i}},e.payload&&(o.payload=e.payload),o.state=t,n.addTimelineEvent({layerId:R,event:{time:Date.now(),title:e.type,groupId:e._id,subtitle:"end",data:o}})}})}))}var B=8702998,N=6710886,I=16777215,H={label:"namespaced",textColor:I,backgroundColor:N};function z(e){return e&&"root"!==e?e.split("/").slice(-2,-1)[0]:"Root"}function D(e,t){return{id:t||"root",label:z(t),tags:e.namespaced?[H]:[],children:Object.keys(e._children).map((function(n){return D(e._children[n],t+n+"/")}))}}function Z(e,t,n,o){o.includes(n)&&e.push({id:o||"root",label:o.endsWith("/")?o.slice(0,o.length-1):o||"Root",tags:t.namespaced?[H]:[]}),Object.keys(t._children).forEach((function(i){Z(e,t._children[i],n,o+i+"/")}))}function U(e,t,n){t="root"===n?t:t[n];var o=Object.keys(t),i={state:Object.keys(e.state).map((function(t){return{key:t,editable:!0,value:e.state[t]}}))};if(o.length){var r=K(t);i.getters=Object.keys(r).map((function(e){return{key:e.endsWith("/")?z(e):e,editable:!1,value:W((function(){return r[e]}))}}))}return i}function K(e){var t={};return Object.keys(e).forEach((function(n){var o=n.split("/");if(o.length>1){var i=t,r=o.pop();o.forEach((function(e){i[e]||(i[e]={_custom:{value:{},display:e,tooltip:"Module",abstract:!0}}),i=i[e]._custom.value})),i[r]=W((function(){return e[n]}))}else t[n]=W((function(){return e[n]}))})),t}function Y(e,t){var n=t.split("/").filter((function(e){return e}));return n.reduce((function(e,o,i){var r=e[o];if(!r)throw new Error('Missing module "'+o+'" for path "'+t+'".');return i===n.length-1?r:r._children}),"root"===t?e:e.root._children)}function W(e){try{return e()}catch(t){return t}}var J=function(e,t){this.runtime=t,this._children=Object.create(null),this._rawModule=e;var n=e.state;this.state=("function"===typeof n?n():n)||{}},Q={namespaced:{configurable:!0}};Q.namespaced.get=function(){return!!this._rawModule.namespaced},J.prototype.addChild=function(e,t){this._children[e]=t},J.prototype.removeChild=function(e){delete this._children[e]},J.prototype.getChild=function(e){return this._children[e]},J.prototype.hasChild=function(e){return e in this._children},J.prototype.update=function(e){this._rawModule.namespaced=e.namespaced,e.actions&&(this._rawModule.actions=e.actions),e.mutations&&(this._rawModule.mutations=e.mutations),e.getters&&(this._rawModule.getters=e.getters)},J.prototype.forEachChild=function(e){g(this._children,e)},J.prototype.forEachGetter=function(e){this._rawModule.getters&&g(this._rawModule.getters,e)},J.prototype.forEachAction=function(e){this._rawModule.actions&&g(this._rawModule.actions,e)},J.prototype.forEachMutation=function(e){this._rawModule.mutations&&g(this._rawModule.mutations,e)},Object.defineProperties(J.prototype,Q);var X=function(e){this.register([],e,!1)};function G(e,t,n){if(t.update(n),n.modules)for(var o in n.modules){if(!t.getChild(o))return void 0;G(e.concat(o),t.getChild(o),n.modules[o])}}X.prototype.get=function(e){return e.reduce((function(e,t){return e.getChild(t)}),this.root)},X.prototype.getNamespace=function(e){var t=this.root;return e.reduce((function(e,n){return t=t.getChild(n),e+(t.namespaced?n+"/":"")}),"")},X.prototype.update=function(e){G([],this.root,e)},X.prototype.register=function(e,t,n){var o=this;void 0===n&&(n=!0);var i=new J(t,n);if(0===e.length)this.root=i;else{var r=this.get(e.slice(0,-1));r.addChild(e[e.length-1],i)}t.modules&&g(t.modules,(function(t,i){o.register(e.concat(i),t,n)}))},X.prototype.unregister=function(e){var t=this.get(e.slice(0,-1)),n=e[e.length-1],o=t.getChild(n);o&&o.runtime&&t.removeChild(n)},X.prototype.isRegistered=function(e){var t=this.get(e.slice(0,-1)),n=e[e.length-1];return!!t&&t.hasChild(n)};function ee(e){return new te(e)}var te=function(e){var t=this;void 0===e&&(e={});var n=e.plugins;void 0===n&&(n=[]);var o=e.strict;void 0===o&&(o=!1);var i=e.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new X(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._scope=null,this._devtools=i;var r=this,l=this,a=l.dispatch,s=l.commit;this.dispatch=function(e,t){return a.call(r,e,t)},this.commit=function(e,t,n){return s.call(r,e,t,n)},this.strict=o;var u=this._modules.root.state;k(this,u,[],this._modules.root),S(this,u),n.forEach((function(e){return e(t)}))},ne={state:{configurable:!0}};te.prototype.install=function(e,t){e.provide(t||m,this),e.config.globalProperties.$store=this;var n=void 0!==this._devtools&&this._devtools;n&&V(e,this)},ne.state.get=function(){return this._state.data},ne.state.set=function(e){0},te.prototype.commit=function(e,t,n){var o=this,i=$(e,t,n),r=i.type,l=i.payload,a=(i.options,{type:r,payload:l}),s=this._mutations[r];s&&(this._withCommit((function(){s.forEach((function(e){e(l)}))})),this._subscribers.slice().forEach((function(e){return e(a,o.state)})))},te.prototype.dispatch=function(e,t){var n=this,o=$(e,t),i=o.type,r=o.payload,l={type:i,payload:r},a=this._actions[i];if(a){try{this._actionSubscribers.slice().filter((function(e){return e.before})).forEach((function(e){return e.before(l,n.state)}))}catch(u){0}var s=a.length>1?Promise.all(a.map((function(e){return e(r)}))):a[0](r);return new Promise((function(e,t){s.then((function(t){try{n._actionSubscribers.filter((function(e){return e.after})).forEach((function(e){return e.after(l,n.state)}))}catch(u){0}e(t)}),(function(e){try{n._actionSubscribers.filter((function(e){return e.error})).forEach((function(t){return t.error(l,n.state,e)}))}catch(u){0}t(e)}))}))}},te.prototype.subscribe=function(e,t){return w(e,this._subscribers,t)},te.prototype.subscribeAction=function(e,t){var n="function"===typeof e?{before:e}:e;return w(n,this._actionSubscribers,t)},te.prototype.watch=function(e,t,n){var i=this;return(0,o.YP)((function(){return e(i.state,i.getters)}),t,Object.assign({},n))},te.prototype.replaceState=function(e){var t=this;this._withCommit((function(){t._state.data=e}))},te.prototype.registerModule=function(e,t,n){void 0===n&&(n={}),"string"===typeof e&&(e=[e]),this._modules.register(e,t),k(this,this.state,e,this._modules.get(e),n.preserveState),S(this,this.state)},te.prototype.unregisterModule=function(e){var t=this;"string"===typeof e&&(e=[e]),this._modules.unregister(e),this._withCommit((function(){var n=A(t.state,e.slice(0,-1));delete n[e[e.length-1]]})),x(this)},te.prototype.hasModule=function(e){return"string"===typeof e&&(e=[e]),this._modules.isRegistered(e)},te.prototype.hotUpdate=function(e){this._modules.update(e),x(this,!0)},te.prototype._withCommit=function(e){var t=this._committing;this._committing=!0,e(),this._committing=t},Object.defineProperties(te.prototype,ne);var oe=se((function(e,t){var n={};return le(t).forEach((function(t){var o=t.key,i=t.val;n[o]=function(){var t=this.$store.state,n=this.$store.getters;if(e){var o=ue(this.$store,"mapState",e);if(!o)return;t=o.context.state,n=o.context.getters}return"function"===typeof i?i.call(this,t,n):t[i]},n[o].vuex=!0})),n})),ie=se((function(e,t){var n={};return le(t).forEach((function(t){var o=t.key,i=t.val;n[o]=function(){var t=[],n=arguments.length;while(n--)t[n]=arguments[n];var o=this.$store.commit;if(e){var r=ue(this.$store,"mapMutations",e);if(!r)return;o=r.context.commit}return"function"===typeof i?i.apply(this,[o].concat(t)):o.apply(this.$store,[i].concat(t))}})),n})),re=(se((function(e,t){var n={};return le(t).forEach((function(t){var o=t.key,i=t.val;i=e+i,n[o]=function(){if(!e||ue(this.$store,"mapGetters",e))return this.$store.getters[i]},n[o].vuex=!0})),n})),se((function(e,t){var n={};return le(t).forEach((function(t){var o=t.key,i=t.val;n[o]=function(){var t=[],n=arguments.length;while(n--)t[n]=arguments[n];var o=this.$store.dispatch;if(e){var r=ue(this.$store,"mapActions",e);if(!r)return;o=r.context.dispatch}return"function"===typeof i?i.apply(this,[o].concat(t)):o.apply(this.$store,[i].concat(t))}})),n})));function le(e){return ae(e)?Array.isArray(e)?e.map((function(e){return{key:e,val:e}})):Object.keys(e).map((function(t){return{key:t,val:e[t]}})):[]}function ae(e){return Array.isArray(e)||y(e)}function se(e){return function(t,n){return"string"!==typeof t?(n=t,t=""):"/"!==t.charAt(t.length-1)&&(t+="/"),e(t,n)}}function ue(e,t,n){var o=e._modulesNamespaceMap[n];return o}},6849:function(e,t,n){"use strict";var o=n(4467),i=n(4651),r=TypeError;e.exports=function(e){if(o(e))return e;throw new r(i(e)+" is not a function")}},3152:function(e,t,n){"use strict";var o=n(4467),i=String,r=TypeError;e.exports=function(e){if("object"==typeof e||o(e))return e;throw new r("Can't set "+i(e)+" as a prototype")}},4830:function(e,t,n){"use strict";var o=n(2830),i=String,r=TypeError;e.exports=function(e){if(o(e))return e;throw new r(i(e)+" is not an object")}},4343:function(e){"use strict";e.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},2248:function(e,t,n){"use strict";var o,i,r,l=n(4343),a=n(4586),s=n(3555),u=n(4467),c=n(2830),d=n(6430),f=n(8291),p=n(4651),v=n(7481),h=n(4761),m=n(2637),g=n(2054),y=n(47),b=n(475),_=n(3386),w=n(6137),x=n(5441),S=x.enforce,k=x.get,C=s.Int8Array,q=C&&C.prototype,F=s.Uint8ClampedArray,O=F&&F.prototype,E=C&&y(C),T=q&&y(q),A=Object.prototype,$=s.TypeError,L=_("toStringTag"),P=w("TYPED_ARRAY_TAG"),R="TypedArrayConstructor",M=l&&!!b&&"Opera"!==f(s.opera),j=!1,V={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},B={BigInt64Array:8,BigUint64Array:8},N=function(e){if(!c(e))return!1;var t=f(e);return"DataView"===t||d(V,t)||d(B,t)},I=function(e){var t=y(e);if(c(t)){var n=k(t);return n&&d(n,R)?n[R]:I(t)}},H=function(e){if(!c(e))return!1;var t=f(e);return d(V,t)||d(B,t)},z=function(e){if(H(e))return e;throw new $("Target is not a typed array")},D=function(e){if(u(e)&&(!b||g(E,e)))return e;throw new $(p(e)+" is not a typed array constructor")},Z=function(e,t,n,o){if(a){if(n)for(var i in V){var r=s[i];if(r&&d(r.prototype,e))try{delete r.prototype[e]}catch(l){try{r.prototype[e]=t}catch(u){}}}T[e]&&!n||h(T,e,n?t:M&&q[e]||t,o)}},U=function(e,t,n){var o,i;if(a){if(b){if(n)for(o in V)if(i=s[o],i&&d(i,e))try{delete i[e]}catch(r){}if(E[e]&&!n)return;try{return h(E,e,n?t:M&&E[e]||t)}catch(r){}}for(o in V)i=s[o],!i||i[e]&&!n||h(i,e,t)}};for(o in V)i=s[o],r=i&&i.prototype,r?S(r)[R]=i:M=!1;for(o in B)i=s[o],r=i&&i.prototype,r&&(S(r)[R]=i);if((!M||!u(E)||E===Function.prototype)&&(E=function(){throw new $("Incorrect invocation")},M))for(o in V)s[o]&&b(s[o],E);if((!M||!T||T===A)&&(T=E.prototype,M))for(o in V)s[o]&&b(s[o].prototype,T);if(M&&y(O)!==T&&b(O,T),a&&!d(T,L))for(o in j=!0,m(T,L,{configurable:!0,get:function(){return c(this)?this[P]:void 0}}),V)s[o]&&v(s[o],P,o);e.exports={NATIVE_ARRAY_BUFFER_VIEWS:M,TYPED_ARRAY_TAG:j&&P,aTypedArray:z,aTypedArrayConstructor:D,exportTypedArrayMethod:Z,exportTypedArrayStaticMethod:U,getTypedArrayConstructor:I,isView:N,isTypedArray:H,TypedArray:E,TypedArrayPrototype:T}},2914:function(e,t,n){"use strict";var o=n(6446);e.exports=function(e,t,n){var i=0,r=arguments.length>2?n:o(t),l=new e(r);while(r>i)l[i]=t[i++];return l}},7251:function(e,t,n){"use strict";var o=n(6986),i=n(6933),r=n(6446),l=function(e){return function(t,n,l){var a,s=o(t),u=r(s),c=i(l,u);if(e&&n!==n){while(u>c)if(a=s[c++],a!==a)return!0}else for(;u>c;c++)if((e||c in s)&&s[c]===n)return e||c||0;return!e&&-1}};e.exports={includes:l(!0),indexOf:l(!1)}},5667:function(e,t,n){"use strict";var o=n(4586),i=n(3132),r=TypeError,l=Object.getOwnPropertyDescriptor,a=o&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();e.exports=a?function(e,t){if(i(e)&&!l(e,"length").writable)throw new r("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t}},1553:function(e,t,n){"use strict";var o=n(6446);e.exports=function(e,t){for(var n=o(e),i=new t(n),r=0;r=a||u<0)throw new r("Incorrect index");for(var c=new t(a),d=0;dn)throw t("Maximum allowed index exceeded");return e}},5911:function(e){"use strict";e.exports="undefined"!=typeof navigator&&String(navigator.userAgent)||""},9154:function(e,t,n){"use strict";var o,i,r=n(3555),l=n(5911),a=r.process,s=r.Deno,u=a&&a.versions||s&&s.version,c=u&&u.v8;c&&(o=c.split("."),i=o[0]>0&&o[0]<4?1:+(o[0]+o[1])),!i&&l&&(o=l.match(/Edge\/(\d+)/),(!o||o[1]>=74)&&(o=l.match(/Chrome\/(\d+)/),o&&(i=+o[1]))),e.exports=i},949:function(e){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},404:function(e,t,n){"use strict";var o=n(3555),i=n(2673).f,r=n(7481),l=n(4761),a=n(7234),s=n(4487),u=n(1899);e.exports=function(e,t){var n,c,d,f,p,v,h=e.target,m=e.global,g=e.stat;if(c=m?o:g?o[h]||a(h,{}):(o[h]||{}).prototype,c)for(d in t){if(p=t[d],e.dontCallGetSet?(v=i(c,d),f=v&&v.value):f=c[d],n=u(m?d:h+(g?".":"#")+d,e.forced),!n&&void 0!==f){if(typeof p==typeof f)continue;s(p,f)}(e.sham||f&&f.sham)&&r(p,"sham",!0),l(c,d,p,e)}}},2051:function(e){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},2073:function(e,t,n){"use strict";var o=n(2051);e.exports=!o((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},9375:function(e,t,n){"use strict";var o=n(2073),i=Function.prototype.call;e.exports=o?i.bind(i):function(){return i.apply(i,arguments)}},2263:function(e,t,n){"use strict";var o=n(4586),i=n(6430),r=Function.prototype,l=o&&Object.getOwnPropertyDescriptor,a=i(r,"name"),s=a&&"something"===function(){}.name,u=a&&(!o||o&&l(r,"name").configurable);e.exports={EXISTS:a,PROPER:s,CONFIGURABLE:u}},7753:function(e,t,n){"use strict";var o=n(5581),i=n(6849);e.exports=function(e,t,n){try{return o(i(Object.getOwnPropertyDescriptor(e,t)[n]))}catch(r){}}},5581:function(e,t,n){"use strict";var o=n(2073),i=Function.prototype,r=i.call,l=o&&i.bind.bind(r,r);e.exports=o?l:function(e){return function(){return r.apply(e,arguments)}}},4624:function(e,t,n){"use strict";var o=n(3555),i=n(4467),r=function(e){return i(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?r(o[e]):o[e]&&o[e][t]}},7365:function(e,t,n){"use strict";var o=n(6849),i=n(6465);e.exports=function(e,t){var n=e[t];return i(n)?void 0:o(n)}},3555:function(e,t,n){"use strict";var o=function(e){return e&&e.Math===Math&&e};e.exports=o("object"==typeof globalThis&&globalThis)||o("object"==typeof window&&window)||o("object"==typeof self&&self)||o("object"==typeof n.g&&n.g)||o("object"==typeof this&&this)||function(){return this}()||Function("return this")()},6430:function(e,t,n){"use strict";var o=n(5581),i=n(6487),r=o({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return r(i(e),t)}},3539:function(e){"use strict";e.exports={}},1638:function(e,t,n){"use strict";var o=n(4586),i=n(2051),r=n(7309);e.exports=!o&&!i((function(){return 7!==Object.defineProperty(r("div"),"a",{get:function(){return 7}}).a}))},9307:function(e,t,n){"use strict";var o=n(5581),i=n(2051),r=n(9332),l=Object,a=o("".split);e.exports=i((function(){return!l("z").propertyIsEnumerable(0)}))?function(e){return"String"===r(e)?a(e,""):l(e)}:l},4440:function(e,t,n){"use strict";var o=n(5581),i=n(4467),r=n(3104),l=o(Function.toString);i(r.inspectSource)||(r.inspectSource=function(e){return l(e)}),e.exports=r.inspectSource},5441:function(e,t,n){"use strict";var o,i,r,l=n(2692),a=n(3555),s=n(2830),u=n(7481),c=n(6430),d=n(3104),f=n(880),p=n(3539),v="Object already initialized",h=a.TypeError,m=a.WeakMap,g=function(e){return r(e)?i(e):o(e,{})},y=function(e){return function(t){var n;if(!s(t)||(n=i(t)).type!==e)throw new h("Incompatible receiver, "+e+" required");return n}};if(l||d.state){var b=d.state||(d.state=new m);b.get=b.get,b.has=b.has,b.set=b.set,o=function(e,t){if(b.has(e))throw new h(v);return t.facade=e,b.set(e,t),t},i=function(e){return b.get(e)||{}},r=function(e){return b.has(e)}}else{var _=f("state");p[_]=!0,o=function(e,t){if(c(e,_))throw new h(v);return t.facade=e,u(e,_,t),t},i=function(e){return c(e,_)?e[_]:{}},r=function(e){return c(e,_)}}e.exports={set:o,get:i,has:r,enforce:g,getterFor:y}},3132:function(e,t,n){"use strict";var o=n(9332);e.exports=Array.isArray||function(e){return"Array"===o(e)}},717:function(e,t,n){"use strict";var o=n(8291);e.exports=function(e){var t=o(e);return"BigInt64Array"===t||"BigUint64Array"===t}},4467:function(e,t,n){"use strict";var o=n(1259),i=o.all;e.exports=o.IS_HTMLDDA?function(e){return"function"==typeof e||e===i}:function(e){return"function"==typeof e}},1899:function(e,t,n){"use strict";var o=n(2051),i=n(4467),r=/#|\.prototype\./,l=function(e,t){var n=s[a(e)];return n===c||n!==u&&(i(t)?o(t):!!t)},a=l.normalize=function(e){return String(e).replace(r,".").toLowerCase()},s=l.data={},u=l.NATIVE="N",c=l.POLYFILL="P";e.exports=l},6465:function(e){"use strict";e.exports=function(e){return null===e||void 0===e}},2830:function(e,t,n){"use strict";var o=n(4467),i=n(1259),r=i.all;e.exports=i.IS_HTMLDDA?function(e){return"object"==typeof e?null!==e:o(e)||e===r}:function(e){return"object"==typeof e?null!==e:o(e)}},2342:function(e){"use strict";e.exports=!1},8155:function(e,t,n){"use strict";var o=n(4624),i=n(4467),r=n(2054),l=n(4912),a=Object;e.exports=l?function(e){return"symbol"==typeof e}:function(e){var t=o("Symbol");return i(t)&&r(t.prototype,a(e))}},6446:function(e,t,n){"use strict";var o=n(3861);e.exports=function(e){return o(e.length)}},6942:function(e,t,n){"use strict";var o=n(5581),i=n(2051),r=n(4467),l=n(6430),a=n(4586),s=n(2263).CONFIGURABLE,u=n(4440),c=n(5441),d=c.enforce,f=c.get,p=String,v=Object.defineProperty,h=o("".slice),m=o("".replace),g=o([].join),y=a&&!i((function(){return 8!==v((function(){}),"length",{value:8}).length})),b=String(String).split("String"),_=e.exports=function(e,t,n){"Symbol("===h(p(t),0,7)&&(t="["+m(p(t),/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!l(e,"name")||s&&e.name!==t)&&(a?v(e,"name",{value:t,configurable:!0}):e.name=t),y&&n&&l(n,"arity")&&e.length!==n.arity&&v(e,"length",{value:n.arity});try{n&&l(n,"constructor")&&n.constructor?a&&v(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(i){}var o=d(e);return l(o,"source")||(o.source=g(b,"string"==typeof t?t:"")),e};Function.prototype.toString=_((function(){return r(this)&&f(this).source||u(this)}),"toString")},9481:function(e){"use strict";var t=Math.ceil,n=Math.floor;e.exports=Math.trunc||function(e){var o=+e;return(o>0?n:t)(o)}},1269:function(e,t,n){"use strict";var o=n(4586),i=n(1638),r=n(9638),l=n(4830),a=n(1581),s=TypeError,u=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d="enumerable",f="configurable",p="writable";t.f=o?r?function(e,t,n){if(l(e),t=a(t),l(n),"function"===typeof e&&"prototype"===t&&"value"in n&&p in n&&!n[p]){var o=c(e,t);o&&o[p]&&(e[t]=n.value,n={configurable:f in n?n[f]:o[f],enumerable:d in n?n[d]:o[d],writable:!1})}return u(e,t,n)}:u:function(e,t,n){if(l(e),t=a(t),l(n),i)try{return u(e,t,n)}catch(o){}if("get"in n||"set"in n)throw new s("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},2673:function(e,t,n){"use strict";var o=n(4586),i=n(9375),r=n(9374),l=n(4045),a=n(6986),s=n(1581),u=n(6430),c=n(1638),d=Object.getOwnPropertyDescriptor;t.f=o?d:function(e,t){if(e=a(e),t=s(t),c)try{return d(e,t)}catch(n){}if(u(e,t))return l(!i(r.f,e,t),e[t])}},140:function(e,t,n){"use strict";var o=n(1194),i=n(949),r=i.concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return o(e,r)}},6484:function(e,t){"use strict";t.f=Object.getOwnPropertySymbols},47:function(e,t,n){"use strict";var o=n(6430),i=n(4467),r=n(6487),l=n(880),a=n(8014),s=l("IE_PROTO"),u=Object,c=u.prototype;e.exports=a?u.getPrototypeOf:function(e){var t=r(e);if(o(t,s))return t[s];var n=t.constructor;return i(n)&&t instanceof n?n.prototype:t instanceof u?c:null}},2054:function(e,t,n){"use strict";var o=n(5581);e.exports=o({}.isPrototypeOf)},1194:function(e,t,n){"use strict";var o=n(5581),i=n(6430),r=n(6986),l=n(7251).indexOf,a=n(3539),s=o([].push);e.exports=function(e,t){var n,o=r(e),u=0,c=[];for(n in o)!i(a,n)&&i(o,n)&&s(c,n);while(t.length>u)i(o,n=t[u++])&&(~l(c,n)||s(c,n));return c}},9374:function(e,t){"use strict";var n={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!n.call({1:2},1);t.f=i?function(e){var t=o(this,e);return!!t&&t.enumerable}:n},475:function(e,t,n){"use strict";var o=n(7753),i=n(4830),r=n(3152);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{e=o(Object.prototype,"__proto__","set"),e(n,[]),t=n instanceof Array}catch(l){}return function(n,o){return i(n),r(o),t?e(n,o):n.__proto__=o,n}}():void 0)},8216:function(e,t,n){"use strict";var o=n(9375),i=n(4467),r=n(2830),l=TypeError;e.exports=function(e,t){var n,a;if("string"===t&&i(n=e.toString)&&!r(a=o(n,e)))return a;if(i(n=e.valueOf)&&!r(a=o(n,e)))return a;if("string"!==t&&i(n=e.toString)&&!r(a=o(n,e)))return a;throw new l("Can't convert object to primitive value")}},8989:function(e,t,n){"use strict";var o=n(4624),i=n(5581),r=n(140),l=n(6484),a=n(4830),s=i([].concat);e.exports=o("Reflect","ownKeys")||function(e){var t=r.f(a(e)),n=l.f;return n?s(t,n(e)):t}},9239:function(e,t,n){"use strict";var o=n(4830);e.exports=function(){var e=o(this),t="";return e.hasIndices&&(t+="d"),e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.unicodeSets&&(t+="v"),e.sticky&&(t+="y"),t}},6627:function(e,t,n){"use strict";var o=n(6465),i=TypeError;e.exports=function(e){if(o(e))throw new i("Can't call method on "+e);return e}},880:function(e,t,n){"use strict";var o=n(7363),i=n(6137),r=o("keys");e.exports=function(e){return r[e]||(r[e]=i(e))}},3104:function(e,t,n){"use strict";var o=n(3555),i=n(7234),r="__core-js_shared__",l=o[r]||i(r,{});e.exports=l},7363:function(e,t,n){"use strict";var o=n(2342),i=n(3104);(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.34.0",mode:o?"pure":"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE",source:"https://github.com/zloirock/core-js"})},7632:function(e,t,n){"use strict";var o=n(9154),i=n(2051),r=n(3555),l=r.String;e.exports=!!Object.getOwnPropertySymbols&&!i((function(){var e=Symbol("symbol detection");return!l(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&o&&o<41}))},6933:function(e,t,n){"use strict";var o=n(8955),i=Math.max,r=Math.min;e.exports=function(e,t){var n=o(e);return n<0?i(n+t,0):r(n,t)}},1669:function(e,t,n){"use strict";var o=n(6034),i=TypeError;e.exports=function(e){var t=o(e,"number");if("number"==typeof t)throw new i("Can't convert number to bigint");return BigInt(t)}},6986:function(e,t,n){"use strict";var o=n(9307),i=n(6627);e.exports=function(e){return o(i(e))}},8955:function(e,t,n){"use strict";var o=n(9481);e.exports=function(e){var t=+e;return t!==t||0===t?0:o(t)}},3861:function(e,t,n){"use strict";var o=n(8955),i=Math.min;e.exports=function(e){return e>0?i(o(e),9007199254740991):0}},6487:function(e,t,n){"use strict";var o=n(6627),i=Object;e.exports=function(e){return i(o(e))}},6034:function(e,t,n){"use strict";var o=n(9375),i=n(2830),r=n(8155),l=n(7365),a=n(8216),s=n(3386),u=TypeError,c=s("toPrimitive");e.exports=function(e,t){if(!i(e)||r(e))return e;var n,s=l(e,c);if(s){if(void 0===t&&(t="default"),n=o(s,e,t),!i(n)||r(n))return n;throw new u("Can't convert object to primitive value")}return void 0===t&&(t="number"),a(e,t)}},1581:function(e,t,n){"use strict";var o=n(6034),i=n(8155);e.exports=function(e){var t=o(e,"string");return i(t)?t:t+""}},1336:function(e,t,n){"use strict";var o=n(3386),i=o("toStringTag"),r={};r[i]="z",e.exports="[object z]"===String(r)},4651:function(e){"use strict";var t=String;e.exports=function(e){try{return t(e)}catch(n){return"Object"}}},6137:function(e,t,n){"use strict";var o=n(5581),i=0,r=Math.random(),l=o(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+l(++i+r,36)}},4912:function(e,t,n){"use strict";var o=n(7632);e.exports=o&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},9638:function(e,t,n){"use strict";var o=n(4586),i=n(2051);e.exports=o&&i((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},2692:function(e,t,n){"use strict";var o=n(3555),i=n(4467),r=o.WeakMap;e.exports=i(r)&&/native code/.test(String(r))},3386:function(e,t,n){"use strict";var o=n(3555),i=n(7363),r=n(6430),l=n(6137),a=n(7632),s=n(4912),u=o.Symbol,c=i("wks"),d=s?u["for"]||u:u&&u.withoutSetter||l;e.exports=function(e){return r(c,e)||(c[e]=a&&r(u,e)?u[e]:d("Symbol."+e)),c[e]}},121:function(e,t,n){"use strict";var o=n(404),i=n(6487),r=n(6446),l=n(5667),a=n(8425),s=n(2051),u=s((function(){return 4294967297!==[].push.call({length:4294967296},1)})),c=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}},d=u||!c();o({target:"Array",proto:!0,arity:1,forced:d},{push:function(e){var t=i(this),n=r(t),o=arguments.length;a(n+o);for(var s=0;s(t&&Reflect.deleteProperty(window,i),e?.(n)),writable:!1,configurable:!0}),n}async function r(e,t={}){return new Promise(((n,o)=>{const r=i((e=>{n(e),Reflect.deleteProperty(window,`_${l}`)}),!0),l=i((e=>{o(e),Reflect.deleteProperty(window,`_${r}`)}),!0);window.__TAURI_IPC__({cmd:e,callback:r,error:l,...t})}))}n.d(t,{dw:function(){return r}})}}]);
-//# sourceMappingURL=chunk-vendors.7baf52de.js.map
\ No newline at end of file
diff --git a/docs/js/chunk-vendors.7baf52de.js.map b/docs/js/chunk-vendors.7baf52de.js.map
deleted file mode 100644
index 356f855..0000000
--- a/docs/js/chunk-vendors.7baf52de.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"js/chunk-vendors.7baf52de.js","mappings":"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","sources":["webpack://ner-annotator/./node_modules/quasar/icon-set/fontawesome-v5.js","webpack://ner-annotator/./node_modules/quasar/src/components/avatar/QAvatar.js","webpack://ner-annotator/./node_modules/quasar/src/components/btn/use-btn.js","webpack://ner-annotator/./node_modules/quasar/src/components/btn/QBtn.js","webpack://ner-annotator/./node_modules/quasar/src/components/card/QCard.js","webpack://ner-annotator/./node_modules/quasar/src/components/card/QCardActions.js","webpack://ner-annotator/./node_modules/quasar/src/components/card/QCardSection.js","webpack://ner-annotator/./node_modules/quasar/src/components/chip/QChip.js","webpack://ner-annotator/./node_modules/quasar/src/components/dialog/QDialog.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/touch.js","webpack://ner-annotator/./node_modules/quasar/src/directives/TouchPan.js","webpack://ner-annotator/./node_modules/quasar/src/components/drawer/QDrawer.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-file.js","webpack://ner-annotator/./node_modules/quasar/src/components/file/QFile.js","webpack://ner-annotator/./node_modules/quasar/src/components/header/QHeader.js","webpack://ner-annotator/./node_modules/quasar/src/components/icon/QIcon.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-ratio.js","webpack://ner-annotator/./node_modules/quasar/src/components/img/QImg.js","webpack://ner-annotator/./node_modules/quasar/src/components/input/use-mask.js","webpack://ner-annotator/./node_modules/quasar/src/components/input/QInput.js","webpack://ner-annotator/./node_modules/quasar/src/components/item/QItem.js","webpack://ner-annotator/./node_modules/quasar/src/components/item/QItemSection.js","webpack://ner-annotator/./node_modules/quasar/src/components/item/QList.js","webpack://ner-annotator/./node_modules/quasar/src/components/scroll-observer/QScrollObserver.js","webpack://ner-annotator/./node_modules/quasar/src/components/layout/QLayout.js","webpack://ner-annotator/./node_modules/quasar/src/components/linear-progress/QLinearProgress.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-anchor.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-scroll-target.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/click-outside.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/position-engine.js","webpack://ner-annotator/./node_modules/quasar/src/components/menu/QMenu.js","webpack://ner-annotator/./node_modules/quasar/src/components/page/QPageContainer.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-can-render.js","webpack://ner-annotator/./node_modules/quasar/src/components/resize-observer/QResizeObserver.js","webpack://ner-annotator/./node_modules/quasar/src/components/field/QField.js","webpack://ner-annotator/./node_modules/quasar/src/components/item/QItemLabel.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/rtl.js","webpack://ner-annotator/./node_modules/quasar/src/components/virtual-scroll/use-virtual-scroll.js","webpack://ner-annotator/./node_modules/quasar/src/components/select/QSelect.js","webpack://ner-annotator/./node_modules/quasar/src/components/separator/QSeparator.js","webpack://ner-annotator/./node_modules/quasar/src/components/space/QSpace.js","webpack://ner-annotator/./node_modules/quasar/src/components/spinner/use-spinner.js","webpack://ner-annotator/./node_modules/quasar/src/components/spinner/QSpinner.js","webpack://ner-annotator/./node_modules/quasar/src/components/timeline/QTimeline.js","webpack://ner-annotator/./node_modules/quasar/src/components/timeline/QTimelineEntry.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-refocus-target.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/option-sizes.js","webpack://ner-annotator/./node_modules/quasar/src/components/checkbox/use-checkbox.js","webpack://ner-annotator/./node_modules/quasar/src/components/toggle/QToggle.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-align.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-dark.js","webpack://ner-annotator/./node_modules/quasar/src/composables/use-form-child.js","webpack://ner-annotator/./node_modules/quasar/src/utils/patterns.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-validate.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-split-attrs.js","webpack://ner-annotator/./node_modules/quasar/src/utils/uid.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-field.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-file-dom-props.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-form.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-history.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-key-composition.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-model-toggle.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-portal.js","webpack://ner-annotator/./node_modules/quasar/src/utils/prevent-scroll.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-prevent-scroll.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-router-link.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-size.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-tick.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-timeout.js","webpack://ner-annotator/./node_modules/quasar/src/composables/private/use-transition.js","webpack://ner-annotator/./node_modules/quasar/src/composables/use-quasar.js","webpack://ner-annotator/./node_modules/quasar/src/directives/ClosePopup.js","webpack://ner-annotator/./node_modules/quasar/src/utils/throttle.js","webpack://ner-annotator/./node_modules/quasar/src/directives/Ripple.js","webpack://ner-annotator/./node_modules/quasar/src/history.js","webpack://ner-annotator/./node_modules/quasar/icon-set/material-icons.mjs","webpack://ner-annotator/./node_modules/quasar/src/icon-set.js","webpack://ner-annotator/./node_modules/quasar/src/plugins/Screen.js","webpack://ner-annotator/./node_modules/quasar/src/plugins/Dark.js","webpack://ner-annotator/./node_modules/quasar/src/utils/set-css-var.js","webpack://ner-annotator/./node_modules/quasar/src/body.js","webpack://ner-annotator/./node_modules/quasar/src/install-quasar.js","webpack://ner-annotator/./node_modules/quasar/lang/en-US.mjs","webpack://ner-annotator/./node_modules/quasar/src/lang.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/web-storage.js","webpack://ner-annotator/./node_modules/quasar/src/plugins/LocalStorage.js","webpack://ner-annotator/./node_modules/quasar/src/plugins/Notify.js","webpack://ner-annotator/./node_modules/quasar/src/plugins/Platform.js","webpack://ner-annotator/./node_modules/quasar/src/utils/debounce.js","webpack://ner-annotator/./node_modules/quasar/src/utils/dom.js","webpack://ner-annotator/./node_modules/quasar/src/utils/event.js","webpack://ner-annotator/./node_modules/quasar/src/utils/format.js","webpack://ner-annotator/./node_modules/quasar/src/utils/is.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/create.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/define-reactive-plugin.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/escape-key.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/focus-manager.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/focusout.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/global-config.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/global-nodes.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/inject-obj-prop.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/key-composition.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/portal.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/render.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/selection.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/symbols.js","webpack://ner-annotator/./node_modules/quasar/src/utils/private/vm.js","webpack://ner-annotator/./node_modules/quasar/src/utils/scroll.js","webpack://ner-annotator/./node_modules/quasar/src/vue-plugin.js","webpack://ner-annotator/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://ner-annotator/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://ner-annotator/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://ner-annotator/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://ner-annotator/./node_modules/es6-promise/auto.js","webpack://ner-annotator/./node_modules/es6-promise/dist/es6-promise.js","webpack://ner-annotator/./node_modules/treebank-tokenizer/lib/index.js","webpack://ner-annotator/./node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js","webpack://ner-annotator/./node_modules/vue-loader/dist/exportHelper.js","webpack://ner-annotator/./node_modules/@vue/devtools-api/lib/esm/env.js","webpack://ner-annotator/./node_modules/@vue/devtools-api/lib/esm/const.js","webpack://ner-annotator/./node_modules/@vue/devtools-api/lib/esm/time.js","webpack://ner-annotator/./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack://ner-annotator/./node_modules/@vue/devtools-api/lib/esm/index.js","webpack://ner-annotator/./node_modules/vuex/dist/vuex.esm-bundler.js","webpack://ner-annotator/./node_modules/core-js/internals/a-callable.js","webpack://ner-annotator/./node_modules/core-js/internals/a-possible-prototype.js","webpack://ner-annotator/./node_modules/core-js/internals/an-object.js","webpack://ner-annotator/./node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://ner-annotator/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://ner-annotator/./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://ner-annotator/./node_modules/core-js/internals/array-includes.js","webpack://ner-annotator/./node_modules/core-js/internals/array-set-length.js","webpack://ner-annotator/./node_modules/core-js/internals/array-to-reversed.js","webpack://ner-annotator/./node_modules/core-js/internals/array-with.js","webpack://ner-annotator/./node_modules/core-js/internals/classof-raw.js","webpack://ner-annotator/./node_modules/core-js/internals/classof.js","webpack://ner-annotator/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://ner-annotator/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://ner-annotator/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://ner-annotator/./node_modules/core-js/internals/create-property-descriptor.js","webpack://ner-annotator/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://ner-annotator/./node_modules/core-js/internals/define-built-in.js","webpack://ner-annotator/./node_modules/core-js/internals/define-global-property.js","webpack://ner-annotator/./node_modules/core-js/internals/descriptors.js","webpack://ner-annotator/./node_modules/core-js/internals/document-all.js","webpack://ner-annotator/./node_modules/core-js/internals/document-create-element.js","webpack://ner-annotator/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://ner-annotator/./node_modules/core-js/internals/engine-user-agent.js","webpack://ner-annotator/./node_modules/core-js/internals/engine-v8-version.js","webpack://ner-annotator/./node_modules/core-js/internals/enum-bug-keys.js","webpack://ner-annotator/./node_modules/core-js/internals/export.js","webpack://ner-annotator/./node_modules/core-js/internals/fails.js","webpack://ner-annotator/./node_modules/core-js/internals/function-bind-native.js","webpack://ner-annotator/./node_modules/core-js/internals/function-call.js","webpack://ner-annotator/./node_modules/core-js/internals/function-name.js","webpack://ner-annotator/./node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://ner-annotator/./node_modules/core-js/internals/function-uncurry-this.js","webpack://ner-annotator/./node_modules/core-js/internals/get-built-in.js","webpack://ner-annotator/./node_modules/core-js/internals/get-method.js","webpack://ner-annotator/./node_modules/core-js/internals/global.js","webpack://ner-annotator/./node_modules/core-js/internals/has-own-property.js","webpack://ner-annotator/./node_modules/core-js/internals/hidden-keys.js","webpack://ner-annotator/./node_modules/core-js/internals/ie8-dom-define.js","webpack://ner-annotator/./node_modules/core-js/internals/indexed-object.js","webpack://ner-annotator/./node_modules/core-js/internals/inspect-source.js","webpack://ner-annotator/./node_modules/core-js/internals/internal-state.js","webpack://ner-annotator/./node_modules/core-js/internals/is-array.js","webpack://ner-annotator/./node_modules/core-js/internals/is-big-int-array.js","webpack://ner-annotator/./node_modules/core-js/internals/is-callable.js","webpack://ner-annotator/./node_modules/core-js/internals/is-forced.js","webpack://ner-annotator/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://ner-annotator/./node_modules/core-js/internals/is-object.js","webpack://ner-annotator/./node_modules/core-js/internals/is-pure.js","webpack://ner-annotator/./node_modules/core-js/internals/is-symbol.js","webpack://ner-annotator/./node_modules/core-js/internals/length-of-array-like.js","webpack://ner-annotator/./node_modules/core-js/internals/make-built-in.js","webpack://ner-annotator/./node_modules/core-js/internals/math-trunc.js","webpack://ner-annotator/./node_modules/core-js/internals/object-define-property.js","webpack://ner-annotator/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://ner-annotator/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://ner-annotator/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://ner-annotator/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://ner-annotator/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://ner-annotator/./node_modules/core-js/internals/object-keys-internal.js","webpack://ner-annotator/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://ner-annotator/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://ner-annotator/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://ner-annotator/./node_modules/core-js/internals/own-keys.js","webpack://ner-annotator/./node_modules/core-js/internals/regexp-flags.js","webpack://ner-annotator/./node_modules/core-js/internals/require-object-coercible.js","webpack://ner-annotator/./node_modules/core-js/internals/shared-key.js","webpack://ner-annotator/./node_modules/core-js/internals/shared-store.js","webpack://ner-annotator/./node_modules/core-js/internals/shared.js","webpack://ner-annotator/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://ner-annotator/./node_modules/core-js/internals/to-absolute-index.js","webpack://ner-annotator/./node_modules/core-js/internals/to-big-int.js","webpack://ner-annotator/./node_modules/core-js/internals/to-indexed-object.js","webpack://ner-annotator/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://ner-annotator/./node_modules/core-js/internals/to-length.js","webpack://ner-annotator/./node_modules/core-js/internals/to-object.js","webpack://ner-annotator/./node_modules/core-js/internals/to-primitive.js","webpack://ner-annotator/./node_modules/core-js/internals/to-property-key.js","webpack://ner-annotator/./node_modules/core-js/internals/to-string-tag-support.js","webpack://ner-annotator/./node_modules/core-js/internals/try-to-string.js","webpack://ner-annotator/./node_modules/core-js/internals/uid.js","webpack://ner-annotator/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://ner-annotator/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://ner-annotator/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://ner-annotator/./node_modules/core-js/internals/well-known-symbol.js","webpack://ner-annotator/./node_modules/core-js/modules/es.array.push.js","webpack://ner-annotator/./node_modules/core-js/modules/es.regexp.flags.js","webpack://ner-annotator/./node_modules/core-js/modules/es.typed-array.to-reversed.js","webpack://ner-annotator/./node_modules/core-js/modules/es.typed-array.to-sorted.js","webpack://ner-annotator/./node_modules/core-js/modules/es.typed-array.with.js","webpack://ner-annotator/./node_modules/@tauri-apps/api/dialog.js","webpack://ner-annotator/./node_modules/@tauri-apps/api/helpers/tauri.js","webpack://ner-annotator/./node_modules/@tauri-apps/api/fs.js","webpack://ner-annotator/./node_modules/@tauri-apps/api/helpers/os-check.js","webpack://ner-annotator/./node_modules/@tauri-apps/api/path.js","webpack://ner-annotator/./node_modules/@tauri-apps/api/tauri.js"],"sourcesContent":["/**\n * DO NOT EDIT THIS FILE. It is automatically generated\n * from its .mjs counterpart (same filename but with .mjs extension).\n * Edit that file instead (fontawesome-v5.mjs).\n */\nmodule.exports = {\n name: 'fontawesome-v5',\n type: {\n positive: 'fas fa-check',\n negative: 'fas fa-exclamation-triangle',\n info: 'fas fa-info-circle',\n warning: 'fas fa-exclamation'\n },\n arrow: {\n up: 'fas fa-arrow-up',\n right: 'fas fa-arrow-right',\n down: 'fas fa-arrow-down',\n left: 'fas fa-arrow-left',\n dropdown: 'fas fa-caret-down'\n },\n chevron: {\n left: 'fas fa-chevron-left',\n right: 'fas fa-chevron-right'\n },\n colorPicker: {\n spectrum: 'fas fa-eye-dropper',\n tune: 'fas fa-sliders-h',\n palette: 'fas fa-swatchbook'\n },\n pullToRefresh: {\n icon: 'fas fa-sync-alt'\n },\n carousel: {\n left: 'fas fa-chevron-left',\n right: 'fas fa-chevron-right',\n up: 'fas fa-chevron-up',\n down: 'fas fa-chevron-down',\n navigationIcon: 'fas fa-circle'\n },\n chip: {\n remove: 'fas fa-times-circle',\n selected: 'fas fa-check'\n },\n datetime: {\n arrowLeft: 'fas fa-chevron-left',\n arrowRight: 'fas fa-chevron-right',\n now: 'far fa-clock',\n today: 'far fa-calendar-check'\n },\n editor: {\n bold: 'fas fa-bold',\n italic: 'fas fa-italic',\n strikethrough: 'fas fa-strikethrough',\n underline: 'fas fa-underline',\n unorderedList: 'fas fa-list-ul',\n orderedList: 'fas fa-list-ol',\n subscript: 'fas fa-subscript',\n superscript: 'fas fa-superscript',\n hyperlink: 'fas fa-link',\n toggleFullscreen: 'fas fa-expand-arrows-alt',\n quote: 'fas fa-quote-right',\n left: 'fas fa-align-left',\n center: 'fas fa-align-center',\n right: 'fas fa-align-right',\n justify: 'fas fa-align-justify',\n print: 'fas fa-print',\n outdent: 'fas fa-outdent',\n indent: 'fas fa-indent',\n removeFormat: 'fas fa-eraser',\n formatting: 'fas fa-heading',\n fontSize: 'fas fa-text-height',\n align: 'fas fa-align-left',\n hr: 'far fa-minus-square',\n undo: 'fas fa-undo',\n redo: 'fas fa-redo',\n heading: 'fas fa-heading',\n code: 'fas fa-code',\n size: 'fas fa-text-height',\n font: 'fas fa-font',\n viewSource: 'fas fa-code'\n },\n expansionItem: {\n icon: 'fas fa-chevron-down',\n denseIcon: 'fas fa-caret-down'\n },\n fab: {\n icon: 'fas fa-plus',\n activeIcon: 'fas fa-times'\n },\n field: {\n clear: 'fas fa-times-circle',\n error: 'fas fa-exclamation-circle'\n },\n pagination: {\n first: 'fas fa-step-backward',\n prev: 'fas fa-chevron-left',\n next: 'fas fa-chevron-right',\n last: 'fas fa-step-forward'\n },\n rating: {\n icon: 'fas fa-star'\n },\n stepper: {\n done: 'fas fa-check',\n active: 'fas fa-pencil-alt',\n error: 'fas fa-exclamation-triangle'\n },\n tabs: {\n left: 'fas fa-chevron-left',\n right: 'fas fa-chevron-right',\n up: 'fas fa-chevron-up',\n down: 'fas fa-chevron-down'\n },\n table: {\n arrowUp: 'fas fa-arrow-up',\n warning: 'fas fa-exclamation-triangle',\n firstPage: 'fas fa-step-backward',\n prevPage: 'fas fa-chevron-left',\n nextPage: 'fas fa-chevron-right',\n lastPage: 'fas fa-step-forward'\n },\n tree: {\n icon: 'fas fa-play'\n },\n uploader: {\n done: 'fas fa-check',\n clear: 'fas fa-times',\n add: 'fas fa-plus-square',\n upload: 'fas fa-upload',\n removeQueue: 'fas fa-stream',\n removeUploaded: 'fas fa-clipboard-check'\n }\n}\n","import { h, computed } from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport useSize, { useSizeProps } from '../../composables/private/use-size.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hMergeSlotSafely } from '../../utils/private/render.js'\n\nexport default createComponent({\n name: 'QAvatar',\n\n props: {\n ...useSizeProps,\n\n fontSize: String,\n\n color: String,\n textColor: String,\n\n icon: String,\n square: Boolean,\n rounded: Boolean\n },\n\n setup (props, { slots }) {\n const sizeStyle = useSize(props)\n\n const classes = computed(() =>\n 'q-avatar'\n + (props.color ? ` bg-${ props.color }` : '')\n + (props.textColor ? ` text-${ props.textColor } q-chip--colored` : '')\n + (\n props.square === true\n ? ' q-avatar--square'\n : (props.rounded === true ? ' rounded-borders' : '')\n )\n )\n\n const contentStyle = computed(() => (\n props.fontSize\n ? { fontSize: props.fontSize }\n : null\n ))\n\n return () => {\n const icon = props.icon !== void 0\n ? [ h(QIcon, { name: props.icon }) ]\n : void 0\n\n return h('div', {\n class: classes.value,\n style: sizeStyle.value\n }, [\n h('div', {\n class: 'q-avatar__content row flex-center overflow-hidden',\n style: contentStyle.value\n }, hMergeSlotSafely(slots.default, icon))\n ])\n }\n }\n})\n","import { computed } from 'vue'\n\nimport useAlign, { useAlignProps } from '../../composables/private/use-align.js'\nimport useSize, { useSizeProps } from '../../composables/private/use-size.js'\nimport useRouterLink, { useRouterLinkProps } from '../../composables/private/use-router-link.js'\n\nexport const btnPadding = {\n none: 0,\n xs: 4,\n sm: 8,\n md: 16,\n lg: 24,\n xl: 32\n}\n\nconst defaultSizes = {\n xs: 8,\n sm: 10,\n md: 14,\n lg: 20,\n xl: 24\n}\n\nconst formTypes = [ 'button', 'submit', 'reset' ]\nconst mediaTypeRE = /[^\\s]\\/[^\\s]/\n\nexport const btnDesignOptions = [ 'flat', 'outline', 'push', 'unelevated' ]\nexport const getBtnDesign = (props, defaultValue) => {\n if (props.flat === true) return 'flat'\n if (props.outline === true) return 'outline'\n if (props.push === true) return 'push'\n if (props.unelevated === true) return 'unelevated'\n return defaultValue\n}\nexport const getBtnDesignAttr = props => {\n const design = getBtnDesign(props)\n return design !== void 0\n ? { [ design ]: true }\n : {}\n}\n\nexport const useBtnProps = {\n ...useSizeProps,\n ...useRouterLinkProps,\n\n type: {\n type: String,\n default: 'button'\n },\n\n label: [ Number, String ],\n icon: String,\n iconRight: String,\n\n ...btnDesignOptions.reduce(\n (acc, val) => (acc[ val ] = Boolean) && acc,\n {}\n ),\n\n square: Boolean,\n round: Boolean,\n rounded: Boolean,\n glossy: Boolean,\n\n size: String,\n fab: Boolean,\n fabMini: Boolean,\n padding: String,\n\n color: String,\n textColor: String,\n noCaps: Boolean,\n noWrap: Boolean,\n dense: Boolean,\n\n tabindex: [ Number, String ],\n\n ripple: {\n type: [ Boolean, Object ],\n default: true\n },\n\n align: {\n ...useAlignProps.align,\n default: 'center'\n },\n stack: Boolean,\n stretch: Boolean,\n loading: {\n type: Boolean,\n default: null\n },\n disable: Boolean\n}\n\nexport default function (props) {\n const sizeStyle = useSize(props, defaultSizes)\n const alignClass = useAlign(props)\n const { hasRouterLink, hasLink, linkTag, linkAttrs, navigateOnClick } = useRouterLink({\n fallbackTag: 'button'\n })\n\n const style = computed(() => {\n const obj = props.fab === false && props.fabMini === false\n ? sizeStyle.value\n : {}\n\n return props.padding !== void 0\n ? Object.assign({}, obj, {\n padding: props.padding\n .split(/\\s+/)\n .map(v => (v in btnPadding ? btnPadding[ v ] + 'px' : v))\n .join(' '),\n minWidth: '0',\n minHeight: '0'\n })\n : obj\n })\n\n const isRounded = computed(() =>\n props.rounded === true || props.fab === true || props.fabMini === true\n )\n\n const isActionable = computed(() =>\n props.disable !== true && props.loading !== true\n )\n\n const tabIndex = computed(() => (\n isActionable.value === true ? props.tabindex || 0 : -1\n ))\n\n const design = computed(() => getBtnDesign(props, 'standard'))\n\n const attributes = computed(() => {\n const acc = { tabindex: tabIndex.value }\n\n if (hasLink.value === true) {\n Object.assign(acc, linkAttrs.value)\n }\n else if (formTypes.includes(props.type) === true) {\n acc.type = props.type\n }\n\n if (linkTag.value === 'a') {\n if (props.disable === true) {\n acc[ 'aria-disabled' ] = 'true'\n }\n else if (acc.href === void 0) {\n acc.role = 'button'\n }\n\n if (hasRouterLink.value !== true && mediaTypeRE.test(props.type) === true) {\n acc.type = props.type\n }\n }\n else if (props.disable === true) {\n acc.disabled = ''\n acc[ 'aria-disabled' ] = 'true'\n }\n\n if (props.loading === true && props.percentage !== void 0) {\n Object.assign(acc, {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': props.percentage\n })\n }\n\n return acc\n })\n\n const classes = computed(() => {\n let colors\n\n if (props.color !== void 0) {\n if (props.flat === true || props.outline === true) {\n colors = `text-${ props.textColor || props.color }`\n }\n else {\n colors = `bg-${ props.color } text-${ props.textColor || 'white' }`\n }\n }\n else if (props.textColor) {\n colors = `text-${ props.textColor }`\n }\n\n const shape = props.round === true\n ? 'round'\n : `rectangle${ isRounded.value === true ? ' q-btn--rounded' : (props.square === true ? ' q-btn--square' : '') }`\n\n return `q-btn--${ design.value } q-btn--${ shape }`\n + (colors !== void 0 ? ' ' + colors : '')\n + (isActionable.value === true ? ' q-btn--actionable q-focusable q-hoverable' : (props.disable === true ? ' disabled' : ''))\n + (props.fab === true ? ' q-btn--fab' : (props.fabMini === true ? ' q-btn--fab-mini' : ''))\n + (props.noCaps === true ? ' q-btn--no-uppercase' : '')\n + (props.dense === true ? ' q-btn--dense' : '')\n + (props.stretch === true ? ' no-border-radius self-stretch' : '')\n + (props.glossy === true ? ' glossy' : '')\n + (props.square ? ' q-btn--square' : '')\n })\n\n const innerClasses = computed(() =>\n alignClass.value + (props.stack === true ? ' column' : ' row')\n + (props.noWrap === true ? ' no-wrap text-no-wrap' : '')\n + (props.loading === true ? ' q-btn__content--hidden' : '')\n )\n\n return {\n classes,\n style,\n innerClasses,\n attributes,\n hasLink,\n linkTag,\n navigateOnClick,\n isActionable\n }\n}\n","import { h, ref, computed, Transition, onBeforeUnmount, withDirectives, getCurrentInstance } from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\nimport QSpinner from '../spinner/QSpinner.js'\n\nimport Ripple from '../../directives/Ripple.js'\n\nimport useBtn, { useBtnProps } from './use-btn.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hMergeSlot } from '../../utils/private/render.js'\nimport { stop, prevent, stopAndPrevent, listenOpts } from '../../utils/event.js'\nimport { isKeyCode } from '../../utils/private/key-composition.js'\n\nconst { passiveCapture } = listenOpts\n\nlet\n touchTarget = null,\n keyboardTarget = null,\n mouseTarget = null\n\nexport default createComponent({\n name: 'QBtn',\n\n props: {\n ...useBtnProps,\n\n percentage: Number,\n darkPercentage: Boolean,\n\n onTouchstart: [ Function, Array ]\n },\n\n emits: [ 'click', 'keydown', 'mousedown', 'keyup' ],\n\n setup (props, { slots, emit }) {\n const { proxy } = getCurrentInstance()\n\n const {\n classes, style, innerClasses,\n attributes,\n hasLink, linkTag, navigateOnClick,\n isActionable\n } = useBtn(props)\n\n const rootRef = ref(null)\n const blurTargetRef = ref(null)\n\n let localTouchTargetEl = null, avoidMouseRipple, mouseTimer = null\n\n const hasLabel = computed(() =>\n props.label !== void 0 && props.label !== null && props.label !== ''\n )\n\n const ripple = computed(() => (\n props.disable === true || props.ripple === false\n ? false\n : {\n keyCodes: hasLink.value === true ? [ 13, 32 ] : [ 13 ],\n ...(props.ripple === true ? {} : props.ripple)\n }\n ))\n\n const rippleProps = computed(() => ({ center: props.round }))\n\n const percentageStyle = computed(() => {\n const val = Math.max(0, Math.min(100, props.percentage))\n return val > 0\n ? { transition: 'transform 0.6s', transform: `translateX(${ val - 100 }%)` }\n : {}\n })\n\n const onEvents = computed(() => {\n if (props.loading === true) {\n return {\n onMousedown: onLoadingEvt,\n onTouchstart: onLoadingEvt,\n onClick: onLoadingEvt,\n onKeydown: onLoadingEvt,\n onKeyup: onLoadingEvt\n }\n }\n\n if (isActionable.value === true) {\n const acc = {\n onClick,\n onKeydown,\n onMousedown\n }\n\n if (proxy.$q.platform.has.touch === true) {\n const suffix = props.onTouchstart !== void 0\n ? ''\n : 'Passive'\n\n acc[ `onTouchstart${ suffix }` ] = onTouchstart\n }\n\n return acc\n }\n\n return {\n // needed; especially for disabled tags\n onClick: stopAndPrevent\n }\n })\n\n const nodeProps = computed(() => ({\n ref: rootRef,\n class: 'q-btn q-btn-item non-selectable no-outline ' + classes.value,\n style: style.value,\n ...attributes.value,\n ...onEvents.value\n }))\n\n function onClick (e) {\n // is it already destroyed?\n if (rootRef.value === null) { return }\n\n if (e !== void 0) {\n if (e.defaultPrevented === true) {\n return\n }\n\n const el = document.activeElement\n // focus button if it came from ENTER on form\n // prevent the new submit (already done)\n if (\n props.type === 'submit'\n && el !== document.body\n && rootRef.value.contains(el) === false\n // required for iOS and desktop Safari\n && el.contains(rootRef.value) === false\n ) {\n rootRef.value.focus()\n\n const onClickCleanup = () => {\n document.removeEventListener('keydown', stopAndPrevent, true)\n document.removeEventListener('keyup', onClickCleanup, passiveCapture)\n rootRef.value !== null && rootRef.value.removeEventListener('blur', onClickCleanup, passiveCapture)\n }\n\n document.addEventListener('keydown', stopAndPrevent, true)\n document.addEventListener('keyup', onClickCleanup, passiveCapture)\n rootRef.value.addEventListener('blur', onClickCleanup, passiveCapture)\n }\n }\n\n navigateOnClick(e)\n }\n\n function onKeydown (e) {\n // is it already destroyed?\n if (rootRef.value === null) { return }\n\n emit('keydown', e)\n\n if (isKeyCode(e, [ 13, 32 ]) === true && keyboardTarget !== rootRef.value) {\n keyboardTarget !== null && cleanup()\n\n if (e.defaultPrevented !== true) {\n // focus external button if the focus helper was focused before\n rootRef.value.focus()\n\n keyboardTarget = rootRef.value\n rootRef.value.classList.add('q-btn--active')\n document.addEventListener('keyup', onPressEnd, true)\n rootRef.value.addEventListener('blur', onPressEnd, passiveCapture)\n }\n\n stopAndPrevent(e)\n }\n }\n\n function onTouchstart (e) {\n // is it already destroyed?\n if (rootRef.value === null) { return }\n\n emit('touchstart', e)\n\n if (e.defaultPrevented === true) { return }\n\n if (touchTarget !== rootRef.value) {\n touchTarget !== null && cleanup()\n touchTarget = rootRef.value\n\n localTouchTargetEl = e.target\n localTouchTargetEl.addEventListener('touchcancel', onPressEnd, passiveCapture)\n localTouchTargetEl.addEventListener('touchend', onPressEnd, passiveCapture)\n }\n\n // avoid duplicated mousedown event\n // triggering another early ripple\n avoidMouseRipple = true\n mouseTimer !== null && clearTimeout(mouseTimer)\n mouseTimer = setTimeout(() => {\n mouseTimer = null\n avoidMouseRipple = false\n }, 200)\n }\n\n function onMousedown (e) {\n // is it already destroyed?\n if (rootRef.value === null) { return }\n\n e.qSkipRipple = avoidMouseRipple === true\n emit('mousedown', e)\n\n if (e.defaultPrevented !== true && mouseTarget !== rootRef.value) {\n mouseTarget !== null && cleanup()\n mouseTarget = rootRef.value\n rootRef.value.classList.add('q-btn--active')\n document.addEventListener('mouseup', onPressEnd, passiveCapture)\n }\n }\n\n function onPressEnd (e) {\n // is it already destroyed?\n if (rootRef.value === null) { return }\n\n // needed for IE (because it emits blur when focusing button from focus helper)\n if (e !== void 0 && e.type === 'blur' && document.activeElement === rootRef.value) {\n return\n }\n\n if (e !== void 0 && e.type === 'keyup') {\n if (keyboardTarget === rootRef.value && isKeyCode(e, [ 13, 32 ]) === true) {\n // for click trigger\n const evt = new MouseEvent('click', e)\n evt.qKeyEvent = true\n e.defaultPrevented === true && prevent(evt)\n e.cancelBubble === true && stop(evt)\n rootRef.value.dispatchEvent(evt)\n\n stopAndPrevent(e)\n\n // for ripple\n e.qKeyEvent = true\n }\n\n emit('keyup', e)\n }\n\n cleanup()\n }\n\n function cleanup (destroying) {\n const blurTarget = blurTargetRef.value\n\n if (\n destroying !== true\n && (touchTarget === rootRef.value || mouseTarget === rootRef.value)\n && blurTarget !== null\n && blurTarget !== document.activeElement\n ) {\n blurTarget.setAttribute('tabindex', -1)\n blurTarget.focus()\n }\n\n if (touchTarget === rootRef.value) {\n if (localTouchTargetEl !== null) {\n localTouchTargetEl.removeEventListener('touchcancel', onPressEnd, passiveCapture)\n localTouchTargetEl.removeEventListener('touchend', onPressEnd, passiveCapture)\n }\n touchTarget = localTouchTargetEl = null\n }\n\n if (mouseTarget === rootRef.value) {\n document.removeEventListener('mouseup', onPressEnd, passiveCapture)\n mouseTarget = null\n }\n\n if (keyboardTarget === rootRef.value) {\n document.removeEventListener('keyup', onPressEnd, true)\n rootRef.value !== null && rootRef.value.removeEventListener('blur', onPressEnd, passiveCapture)\n keyboardTarget = null\n }\n\n rootRef.value !== null && rootRef.value.classList.remove('q-btn--active')\n }\n\n function onLoadingEvt (evt) {\n stopAndPrevent(evt)\n evt.qSkipRipple = true\n }\n\n onBeforeUnmount(() => {\n cleanup(true)\n })\n\n // expose public methods\n Object.assign(proxy, { click: onClick })\n\n return () => {\n let inner = []\n\n props.icon !== void 0 && inner.push(\n h(QIcon, {\n name: props.icon,\n left: props.stack !== true && hasLabel.value === true,\n role: 'img',\n 'aria-hidden': 'true'\n })\n )\n\n hasLabel.value === true && inner.push(\n h('span', { class: 'block' }, [ props.label ])\n )\n\n inner = hMergeSlot(slots.default, inner)\n\n if (props.iconRight !== void 0 && props.round === false) {\n inner.push(\n h(QIcon, {\n name: props.iconRight,\n right: props.stack !== true && hasLabel.value === true,\n role: 'img',\n 'aria-hidden': 'true'\n })\n )\n }\n\n const child = [\n h('span', {\n class: 'q-focus-helper',\n ref: blurTargetRef\n })\n ]\n\n if (props.loading === true && props.percentage !== void 0) {\n child.push(\n h('span', {\n class: 'q-btn__progress absolute-full overflow-hidden' + (props.darkPercentage === true ? ' q-btn__progress--dark' : '')\n }, [\n h('span', {\n class: 'q-btn__progress-indicator fit block',\n style: percentageStyle.value\n })\n ])\n )\n }\n\n child.push(\n h('span', {\n class: 'q-btn__content text-center col items-center q-anchor--skip ' + innerClasses.value\n }, inner)\n )\n\n props.loading !== null && child.push(\n h(Transition, {\n name: 'q-transition--fade'\n }, () => (\n props.loading === true\n ? [\n h('span', {\n key: 'loading',\n class: 'absolute-full flex flex-center'\n }, slots.loading !== void 0 ? slots.loading() : [ h(QSpinner) ])\n ]\n : null\n ))\n )\n\n return withDirectives(\n h(\n linkTag.value,\n nodeProps.value,\n child\n ),\n [ [\n Ripple,\n ripple.value,\n void 0,\n rippleProps.value\n ] ]\n )\n }\n }\n})\n","import { h, computed, getCurrentInstance } from 'vue'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\n\nexport default createComponent({\n name: 'QCard',\n\n props: {\n ...useDarkProps,\n\n tag: {\n type: String,\n default: 'div'\n },\n\n square: Boolean,\n flat: Boolean,\n bordered: Boolean\n },\n\n setup (props, { slots }) {\n const { proxy: { $q } } = getCurrentInstance()\n const isDark = useDark(props, $q)\n\n const classes = computed(() =>\n 'q-card'\n + (isDark.value === true ? ' q-card--dark q-dark' : '')\n + (props.bordered === true ? ' q-card--bordered' : '')\n + (props.square === true ? ' q-card--square no-border-radius' : '')\n + (props.flat === true ? ' q-card--flat no-shadow' : '')\n )\n\n return () => h(props.tag, { class: classes.value }, hSlot(slots.default))\n }\n})\n","import { h, computed } from 'vue'\n\nimport useAlign, { useAlignProps } from '../../composables/private/use-align.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\n\nexport default createComponent({\n name: 'QCardActions',\n\n props: {\n ...useAlignProps,\n vertical: Boolean\n },\n\n setup (props, { slots }) {\n const alignClass = useAlign(props)\n\n const classes = computed(() =>\n `q-card__actions ${ alignClass.value }`\n + ` q-card__actions--${ props.vertical === true ? 'vert column' : 'horiz row' }`\n )\n\n return () => h('div', { class: classes.value }, hSlot(slots.default))\n }\n})\n","import { h, computed } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\n\nexport default createComponent({\n name: 'QCardSection',\n\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n\n horizontal: Boolean\n },\n\n setup (props, { slots }) {\n const classes = computed(() =>\n 'q-card__section'\n + ` q-card__section--${ props.horizontal === true ? 'horiz row no-wrap' : 'vert' }`\n )\n\n return () => h(props.tag, { class: classes.value }, hSlot(slots.default))\n }\n})\n","import { h, computed, getCurrentInstance } from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport Ripple from '../../directives/Ripple.js'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport useSize, { useSizeProps } from '../../composables/private/use-size.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { stopAndPrevent } from '../../utils/event.js'\nimport { hMergeSlotSafely, hDir } from '../../utils/private/render.js'\n\nexport const defaultSizes = {\n xs: 8,\n sm: 10,\n md: 14,\n lg: 20,\n xl: 24\n}\n\nexport default createComponent({\n name: 'QChip',\n\n props: {\n ...useDarkProps,\n ...useSizeProps,\n\n dense: Boolean,\n\n icon: String,\n iconRight: String,\n iconRemove: String,\n iconSelected: String,\n label: [ String, Number ],\n\n color: String,\n textColor: String,\n\n modelValue: {\n type: Boolean,\n default: true\n },\n selected: {\n type: Boolean,\n default: null\n },\n\n square: Boolean,\n outline: Boolean,\n clickable: Boolean,\n removable: Boolean,\n\n removeAriaLabel: String,\n\n tabindex: [ String, Number ],\n disable: Boolean,\n\n ripple: {\n type: [ Boolean, Object ],\n default: true\n }\n },\n\n emits: [ 'update:modelValue', 'update:selected', 'remove', 'click' ],\n\n setup (props, { slots, emit }) {\n const { proxy: { $q } } = getCurrentInstance()\n\n const isDark = useDark(props, $q)\n const sizeStyle = useSize(props, defaultSizes)\n\n const hasLeftIcon = computed(() => props.selected === true || props.icon !== void 0)\n\n const leftIcon = computed(() => (\n props.selected === true\n ? props.iconSelected || $q.iconSet.chip.selected\n : props.icon\n ))\n\n const removeIcon = computed(() => props.iconRemove || $q.iconSet.chip.remove)\n\n const isClickable = computed(() =>\n props.disable === false\n && (props.clickable === true || props.selected !== null)\n )\n\n const classes = computed(() => {\n const text = props.outline === true\n ? props.color || props.textColor\n : props.textColor\n\n return 'q-chip row inline no-wrap items-center'\n + (props.outline === false && props.color !== void 0 ? ` bg-${ props.color }` : '')\n + (text ? ` text-${ text } q-chip--colored` : '')\n + (props.disable === true ? ' disabled' : '')\n + (props.dense === true ? ' q-chip--dense' : '')\n + (props.outline === true ? ' q-chip--outline' : '')\n + (props.selected === true ? ' q-chip--selected' : '')\n + (isClickable.value === true ? ' q-chip--clickable cursor-pointer non-selectable q-hoverable' : '')\n + (props.square === true ? ' q-chip--square' : '')\n + (isDark.value === true ? ' q-chip--dark q-dark' : '')\n })\n\n const attributes = computed(() => {\n const chip = props.disable === true\n ? { tabindex: -1, 'aria-disabled': 'true' }\n : { tabindex: props.tabindex || 0 }\n const remove = {\n ...chip,\n role: 'button',\n 'aria-hidden': 'false',\n 'aria-label': props.removeAriaLabel || $q.lang.label.remove\n }\n\n return { chip, remove }\n })\n\n function onKeyup (e) {\n e.keyCode === 13 /* ENTER */ && onClick(e)\n }\n\n function onClick (e) {\n if (!props.disable) {\n emit('update:selected', !props.selected)\n emit('click', e)\n }\n }\n\n function onRemove (e) {\n if (e.keyCode === void 0 || e.keyCode === 13) {\n stopAndPrevent(e)\n if (props.disable === false) {\n emit('update:modelValue', false)\n emit('remove')\n }\n }\n }\n\n function getContent () {\n const child = []\n\n isClickable.value === true && child.push(\n h('div', { class: 'q-focus-helper' })\n )\n\n hasLeftIcon.value === true && child.push(\n h(QIcon, {\n class: 'q-chip__icon q-chip__icon--left',\n name: leftIcon.value\n })\n )\n\n const label = props.label !== void 0\n ? [ h('div', { class: 'ellipsis' }, [ props.label ]) ]\n : void 0\n\n child.push(\n h('div', {\n class: 'q-chip__content col row no-wrap items-center q-anchor--skip'\n }, hMergeSlotSafely(slots.default, label))\n )\n\n props.iconRight && child.push(\n h(QIcon, {\n class: 'q-chip__icon q-chip__icon--right',\n name: props.iconRight\n })\n )\n\n props.removable === true && child.push(\n h(QIcon, {\n class: 'q-chip__icon q-chip__icon--remove cursor-pointer',\n name: removeIcon.value,\n ...attributes.value.remove,\n onClick: onRemove,\n onKeyup: onRemove\n })\n )\n\n return child\n }\n\n return () => {\n if (props.modelValue === false) { return }\n\n const data = {\n class: classes.value,\n style: sizeStyle.value\n }\n\n isClickable.value === true && Object.assign(\n data,\n attributes.value.chip,\n { onClick, onKeyup }\n )\n\n return hDir(\n 'div',\n data,\n getContent(),\n 'ripple',\n props.ripple !== false && props.disable !== true,\n () => [ [ Ripple, props.ripple ] ]\n )\n }\n }\n})\n","import { h, ref, computed, watch, onBeforeUnmount, Transition, getCurrentInstance } from 'vue'\n\nimport useHistory from '../../composables/private/use-history.js'\nimport useTimeout from '../../composables/private/use-timeout.js'\nimport useTick from '../../composables/private/use-tick.js'\nimport useModelToggle, { useModelToggleProps, useModelToggleEmits } from '../../composables/private/use-model-toggle.js'\nimport useTransition, { useTransitionProps } from '../../composables/private/use-transition.js'\nimport usePortal from '../../composables/private/use-portal.js'\nimport usePreventScroll from '../../composables/private/use-prevent-scroll.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { childHasFocus } from '../../utils/dom.js'\nimport { hSlot } from '../../utils/private/render.js'\nimport { addEscapeKey, removeEscapeKey } from '../../utils/private/escape-key.js'\nimport { addFocusout, removeFocusout } from '../../utils/private/focusout.js'\nimport { addFocusFn } from '../../utils/private/focus-manager.js'\n\nlet maximizedModals = 0\n\nconst positionClass = {\n standard: 'fixed-full flex-center',\n top: 'fixed-top justify-center',\n bottom: 'fixed-bottom justify-center',\n right: 'fixed-right items-center',\n left: 'fixed-left items-center'\n}\n\nconst defaultTransitions = {\n standard: [ 'scale', 'scale' ],\n top: [ 'slide-down', 'slide-up' ],\n bottom: [ 'slide-up', 'slide-down' ],\n right: [ 'slide-left', 'slide-right' ],\n left: [ 'slide-right', 'slide-left' ]\n}\n\nexport default createComponent({\n name: 'QDialog',\n\n inheritAttrs: false,\n\n props: {\n ...useModelToggleProps,\n ...useTransitionProps,\n\n transitionShow: String, // override useTransitionProps\n transitionHide: String, // override useTransitionProps\n\n persistent: Boolean,\n autoClose: Boolean,\n allowFocusOutside: Boolean,\n\n noEscDismiss: Boolean,\n noBackdropDismiss: Boolean,\n noRouteDismiss: Boolean,\n noRefocus: Boolean,\n noFocus: Boolean,\n noShake: Boolean,\n\n seamless: Boolean,\n\n maximized: Boolean,\n fullWidth: Boolean,\n fullHeight: Boolean,\n\n square: Boolean,\n\n position: {\n type: String,\n default: 'standard',\n validator: val => val === 'standard'\n || [ 'top', 'bottom', 'left', 'right' ].includes(val)\n }\n },\n\n emits: [\n ...useModelToggleEmits,\n 'shake', 'click', 'escapeKey'\n ],\n\n setup (props, { slots, emit, attrs }) {\n const vm = getCurrentInstance()\n\n const innerRef = ref(null)\n const showing = ref(false)\n const animating = ref(false)\n\n let shakeTimeout = null, refocusTarget = null, isMaximized, avoidAutoClose\n\n const hideOnRouteChange = computed(() =>\n props.persistent !== true\n && props.noRouteDismiss !== true\n && props.seamless !== true\n )\n\n const { preventBodyScroll } = usePreventScroll()\n const { registerTimeout } = useTimeout()\n const { registerTick, removeTick } = useTick()\n\n const { transitionProps, transitionStyle } = useTransition(\n props,\n () => defaultTransitions[ props.position ][ 0 ],\n () => defaultTransitions[ props.position ][ 1 ]\n )\n\n const { showPortal, hidePortal, portalIsAccessible, renderPortal } = usePortal(\n vm, innerRef, renderPortalContent, 'dialog'\n )\n\n const { hide } = useModelToggle({\n showing,\n hideOnRouteChange,\n handleShow,\n handleHide,\n processOnMount: true\n })\n\n const { addToHistory, removeFromHistory } = useHistory(showing, hide, hideOnRouteChange)\n\n const classes = computed(() =>\n 'q-dialog__inner flex no-pointer-events'\n + ` q-dialog__inner--${ props.maximized === true ? 'maximized' : 'minimized' }`\n + ` q-dialog__inner--${ props.position } ${ positionClass[ props.position ] }`\n + (animating.value === true ? ' q-dialog__inner--animating' : '')\n + (props.fullWidth === true ? ' q-dialog__inner--fullwidth' : '')\n + (props.fullHeight === true ? ' q-dialog__inner--fullheight' : '')\n + (props.square === true ? ' q-dialog__inner--square' : '')\n )\n\n const useBackdrop = computed(() => showing.value === true && props.seamless !== true)\n\n const onEvents = computed(() => (\n props.autoClose === true\n ? { onClick: onAutoClose }\n : {}\n ))\n\n const rootClasses = computed(() => [\n 'q-dialog fullscreen no-pointer-events '\n + `q-dialog--${ useBackdrop.value === true ? 'modal' : 'seamless' }`,\n attrs.class\n ])\n\n watch(() => props.maximized, state => {\n showing.value === true && updateMaximized(state)\n })\n\n watch(useBackdrop, val => {\n preventBodyScroll(val)\n\n if (val === true) {\n addFocusout(onFocusChange)\n addEscapeKey(onEscapeKey)\n }\n else {\n removeFocusout(onFocusChange)\n removeEscapeKey(onEscapeKey)\n }\n })\n\n function handleShow (evt) {\n addToHistory()\n\n refocusTarget = props.noRefocus === false && document.activeElement !== null\n ? document.activeElement\n : null\n\n updateMaximized(props.maximized)\n showPortal()\n animating.value = true\n\n if (props.noFocus !== true) {\n document.activeElement !== null && document.activeElement.blur()\n registerTick(focus)\n }\n else {\n removeTick()\n }\n\n // should removeTimeout() if this gets removed\n registerTimeout(() => {\n if (vm.proxy.$q.platform.is.ios === true) {\n if (props.seamless !== true && document.activeElement) {\n const\n { top, bottom } = document.activeElement.getBoundingClientRect(),\n { innerHeight } = window,\n height = window.visualViewport !== void 0\n ? window.visualViewport.height\n : innerHeight\n\n if (top > 0 && bottom > height / 2) {\n document.scrollingElement.scrollTop = Math.min(\n document.scrollingElement.scrollHeight - height,\n bottom >= innerHeight\n ? Infinity\n : Math.ceil(document.scrollingElement.scrollTop + bottom - height / 2)\n )\n }\n\n document.activeElement.scrollIntoView()\n }\n\n // required in order to avoid the \"double-tap needed\" issue\n avoidAutoClose = true\n innerRef.value.click()\n avoidAutoClose = false\n }\n\n showPortal(true) // done showing portal\n animating.value = false\n emit('show', evt)\n }, props.transitionDuration)\n }\n\n function handleHide (evt) {\n removeTick()\n removeFromHistory()\n cleanup(true)\n animating.value = true\n hidePortal()\n\n if (refocusTarget !== null) {\n ((evt && evt.type.indexOf('key') === 0\n ? refocusTarget.closest('[tabindex]:not([tabindex^=\"-\"])')\n : void 0\n ) || refocusTarget).focus()\n refocusTarget = null\n }\n\n // should removeTimeout() if this gets removed\n registerTimeout(() => {\n hidePortal(true) // done hiding, now destroy\n animating.value = false\n emit('hide', evt)\n }, props.transitionDuration)\n }\n\n function focus (selector) {\n addFocusFn(() => {\n let node = innerRef.value\n\n if (node === null || node.contains(document.activeElement) === true) {\n return\n }\n\n node = (selector !== '' ? node.querySelector(selector) : null)\n || node.querySelector('[autofocus][tabindex], [data-autofocus][tabindex]')\n || node.querySelector('[autofocus] [tabindex], [data-autofocus] [tabindex]')\n || node.querySelector('[autofocus], [data-autofocus]')\n || node\n node.focus({ preventScroll: true })\n })\n }\n\n function shake (focusTarget) {\n if (focusTarget && typeof focusTarget.focus === 'function') {\n focusTarget.focus({ preventScroll: true })\n }\n else {\n focus()\n }\n\n emit('shake')\n\n const node = innerRef.value\n\n if (node !== null) {\n node.classList.remove('q-animate--scale')\n node.classList.add('q-animate--scale')\n shakeTimeout !== null && clearTimeout(shakeTimeout)\n shakeTimeout = setTimeout(() => {\n shakeTimeout = null\n if (innerRef.value !== null) {\n node.classList.remove('q-animate--scale')\n // some platforms (like desktop Chrome)\n // require calling focus() again\n focus()\n }\n }, 170)\n }\n }\n\n function onEscapeKey () {\n if (props.seamless !== true) {\n if (props.persistent === true || props.noEscDismiss === true) {\n props.maximized !== true && props.noShake !== true && shake()\n }\n else {\n emit('escapeKey')\n hide()\n }\n }\n }\n\n function cleanup (hiding) {\n if (shakeTimeout !== null) {\n clearTimeout(shakeTimeout)\n shakeTimeout = null\n }\n\n if (hiding === true || showing.value === true) {\n updateMaximized(false)\n\n if (props.seamless !== true) {\n preventBodyScroll(false)\n removeFocusout(onFocusChange)\n removeEscapeKey(onEscapeKey)\n }\n }\n\n if (hiding !== true) {\n refocusTarget = null\n }\n }\n\n function updateMaximized (active) {\n if (active === true) {\n if (isMaximized !== true) {\n maximizedModals < 1 && document.body.classList.add('q-body--dialog')\n maximizedModals++\n\n isMaximized = true\n }\n }\n else if (isMaximized === true) {\n if (maximizedModals < 2) {\n document.body.classList.remove('q-body--dialog')\n }\n\n maximizedModals--\n isMaximized = false\n }\n }\n\n function onAutoClose (e) {\n if (avoidAutoClose !== true) {\n hide(e)\n emit('click', e)\n }\n }\n\n function onBackdropClick (e) {\n if (props.persistent !== true && props.noBackdropDismiss !== true) {\n hide(e)\n }\n else if (props.noShake !== true) {\n shake()\n }\n }\n\n function onFocusChange (evt) {\n // the focus is not in a vue child component\n if (\n props.allowFocusOutside !== true\n && portalIsAccessible.value === true\n && childHasFocus(innerRef.value, evt.target) !== true\n ) {\n focus('[tabindex]:not([tabindex=\"-1\"])')\n }\n }\n\n Object.assign(vm.proxy, {\n // expose public methods\n focus, shake,\n\n // private but needed by QSelect\n __updateRefocusTarget (target) {\n refocusTarget = target || null\n }\n })\n\n onBeforeUnmount(cleanup)\n\n function renderPortalContent () {\n return h('div', {\n role: 'dialog',\n 'aria-modal': useBackdrop.value === true ? 'true' : 'false',\n ...attrs,\n class: rootClasses.value\n }, [\n h(Transition, {\n name: 'q-transition--fade',\n appear: true\n }, () => (\n useBackdrop.value === true\n ? h('div', {\n class: 'q-dialog__backdrop fixed-full',\n style: transitionStyle.value,\n 'aria-hidden': 'true',\n tabindex: -1,\n onClick: onBackdropClick\n })\n : null\n )),\n\n h(\n Transition,\n transitionProps.value,\n () => (\n showing.value === true\n ? h('div', {\n ref: innerRef,\n class: classes.value,\n style: transitionStyle.value,\n tabindex: -1,\n ...onEvents.value\n }, hSlot(slots.default))\n : null\n )\n )\n ])\n }\n\n return renderPortal\n }\n})\n","\nconst modifiersAll = {\n left: true,\n right: true,\n up: true,\n down: true,\n horizontal: true,\n vertical: true\n}\n\nconst directionList = Object.keys(modifiersAll)\n\nmodifiersAll.all = true\n\nexport function getModifierDirections (mod) {\n const dir = {}\n\n for (const direction of directionList) {\n if (mod[ direction ] === true) {\n dir[ direction ] = true\n }\n }\n\n if (Object.keys(dir).length === 0) {\n return modifiersAll\n }\n\n if (dir.horizontal === true) {\n dir.left = dir.right = true\n }\n else if (dir.left === true && dir.right === true) {\n dir.horizontal = true\n }\n\n if (dir.vertical === true) {\n dir.up = dir.down = true\n }\n else if (dir.up === true && dir.down === true) {\n dir.vertical = true\n }\n\n if (dir.horizontal === true && dir.vertical === true) {\n dir.all = true\n }\n\n return dir\n}\n\n// This is especially important (not the main reason, but important)\n// for TouchSwipe directive running on Firefox\n// because text selection on such elements cannot be determined\n// without additional work (on top of getSelection() API)\n// https://bugzilla.mozilla.org/show_bug.cgi?id=85686\nconst avoidNodeNamesList = [ 'INPUT', 'TEXTAREA' ]\n\nexport function shouldStart (evt, ctx) {\n return ctx.event === void 0\n && evt.target !== void 0\n && evt.target.draggable !== true\n && typeof ctx.handler === 'function'\n && avoidNodeNamesList.includes(evt.target.nodeName.toUpperCase()) === false\n && (evt.qClonedBy === void 0 || evt.qClonedBy.indexOf(ctx.uid) === -1)\n}\n","import { client } from '../plugins/Platform.js'\n\nimport { createDirective } from '../utils/private/create.js'\nimport { getModifierDirections, shouldStart } from '../utils/private/touch.js'\nimport { addEvt, cleanEvt, position, leftClick, prevent, stop, stopAndPrevent, preventDraggable, noop } from '../utils/event.js'\nimport { clearSelection } from '../utils/private/selection.js'\nimport getSSRProps from '../utils/private/noop-ssr-directive-transform.js'\n\nfunction getChanges (evt, ctx, isFinal) {\n const pos = position(evt)\n let\n dir,\n distX = pos.left - ctx.event.x,\n distY = pos.top - ctx.event.y,\n absX = Math.abs(distX),\n absY = Math.abs(distY)\n\n const direction = ctx.direction\n\n if (direction.horizontal === true && direction.vertical !== true) {\n dir = distX < 0 ? 'left' : 'right'\n }\n else if (direction.horizontal !== true && direction.vertical === true) {\n dir = distY < 0 ? 'up' : 'down'\n }\n else if (direction.up === true && distY < 0) {\n dir = 'up'\n if (absX > absY) {\n if (direction.left === true && distX < 0) {\n dir = 'left'\n }\n else if (direction.right === true && distX > 0) {\n dir = 'right'\n }\n }\n }\n else if (direction.down === true && distY > 0) {\n dir = 'down'\n if (absX > absY) {\n if (direction.left === true && distX < 0) {\n dir = 'left'\n }\n else if (direction.right === true && distX > 0) {\n dir = 'right'\n }\n }\n }\n else if (direction.left === true && distX < 0) {\n dir = 'left'\n if (absX < absY) {\n if (direction.up === true && distY < 0) {\n dir = 'up'\n }\n else if (direction.down === true && distY > 0) {\n dir = 'down'\n }\n }\n }\n else if (direction.right === true && distX > 0) {\n dir = 'right'\n if (absX < absY) {\n if (direction.up === true && distY < 0) {\n dir = 'up'\n }\n else if (direction.down === true && distY > 0) {\n dir = 'down'\n }\n }\n }\n\n let synthetic = false\n\n if (dir === void 0 && isFinal === false) {\n if (ctx.event.isFirst === true || ctx.event.lastDir === void 0) {\n return {}\n }\n\n dir = ctx.event.lastDir\n synthetic = true\n\n if (dir === 'left' || dir === 'right') {\n pos.left -= distX\n absX = 0\n distX = 0\n }\n else {\n pos.top -= distY\n absY = 0\n distY = 0\n }\n }\n\n return {\n synthetic,\n payload: {\n evt,\n touch: ctx.event.mouse !== true,\n mouse: ctx.event.mouse === true,\n position: pos,\n direction: dir,\n isFirst: ctx.event.isFirst,\n isFinal: isFinal === true,\n duration: Date.now() - ctx.event.time,\n distance: {\n x: absX,\n y: absY\n },\n offset: {\n x: distX,\n y: distY\n },\n delta: {\n x: pos.left - ctx.event.lastX,\n y: pos.top - ctx.event.lastY\n }\n }\n }\n}\n\nlet uid = 0\n\nexport default createDirective(__QUASAR_SSR_SERVER__\n ? { name: 'touch-pan', getSSRProps }\n : {\n name: 'touch-pan',\n\n beforeMount (el, { value, modifiers }) {\n // early return, we don't need to do anything\n if (modifiers.mouse !== true && client.has.touch !== true) {\n return\n }\n\n function handleEvent (evt, mouseEvent) {\n if (modifiers.mouse === true && mouseEvent === true) {\n stopAndPrevent(evt)\n }\n else {\n modifiers.stop === true && stop(evt)\n modifiers.prevent === true && prevent(evt)\n }\n }\n\n const ctx = {\n uid: 'qvtp_' + (uid++),\n handler: value,\n modifiers,\n direction: getModifierDirections(modifiers),\n\n noop,\n\n mouseStart (evt) {\n if (shouldStart(evt, ctx) && leftClick(evt)) {\n addEvt(ctx, 'temp', [\n [ document, 'mousemove', 'move', 'notPassiveCapture' ],\n [ document, 'mouseup', 'end', 'passiveCapture' ]\n ])\n\n ctx.start(evt, true)\n }\n },\n\n touchStart (evt) {\n if (shouldStart(evt, ctx)) {\n const target = evt.target\n\n addEvt(ctx, 'temp', [\n [ target, 'touchmove', 'move', 'notPassiveCapture' ],\n [ target, 'touchcancel', 'end', 'passiveCapture' ],\n [ target, 'touchend', 'end', 'passiveCapture' ]\n ])\n\n ctx.start(evt)\n }\n },\n\n start (evt, mouseEvent) {\n client.is.firefox === true && preventDraggable(el, true)\n ctx.lastEvt = evt\n\n /*\n * Stop propagation so possible upper v-touch-pan don't catch this as well;\n * If we're not the target (based on modifiers), we'll re-emit the event later\n */\n if (mouseEvent === true || modifiers.stop === true) {\n /*\n * are we directly switching to detected state?\n * clone event only otherwise\n */\n if (\n ctx.direction.all !== true\n // account for UMD too where modifiers will be lowercased to work\n && (mouseEvent !== true || (ctx.modifiers.mouseAllDir !== true && ctx.modifiers.mousealldir !== true))\n ) {\n const clone = evt.type.indexOf('mouse') > -1\n ? new MouseEvent(evt.type, evt)\n : new TouchEvent(evt.type, evt)\n\n evt.defaultPrevented === true && prevent(clone)\n evt.cancelBubble === true && stop(clone)\n\n Object.assign(clone, {\n qKeyEvent: evt.qKeyEvent,\n qClickOutside: evt.qClickOutside,\n qAnchorHandled: evt.qAnchorHandled,\n qClonedBy: evt.qClonedBy === void 0\n ? [ ctx.uid ]\n : evt.qClonedBy.concat(ctx.uid)\n })\n\n ctx.initialEvent = {\n target: evt.target,\n event: clone\n }\n }\n\n stop(evt)\n }\n\n const { left, top } = position(evt)\n\n ctx.event = {\n x: left,\n y: top,\n time: Date.now(),\n mouse: mouseEvent === true,\n detected: false,\n isFirst: true,\n isFinal: false,\n lastX: left,\n lastY: top\n }\n },\n\n move (evt) {\n if (ctx.event === void 0) {\n return\n }\n\n const\n pos = position(evt),\n distX = pos.left - ctx.event.x,\n distY = pos.top - ctx.event.y\n\n // prevent buggy browser behavior (like Blink-based engine ones on Windows)\n // where the mousemove event occurs even if there's no movement after mousedown\n // https://bugs.chromium.org/p/chromium/issues/detail?id=161464\n // https://bugs.chromium.org/p/chromium/issues/detail?id=721341\n // https://github.com/quasarframework/quasar/issues/10721\n if (distX === 0 && distY === 0) {\n return\n }\n\n ctx.lastEvt = evt\n\n const isMouseEvt = ctx.event.mouse === true\n const start = () => {\n handleEvent(evt, isMouseEvt)\n\n let cursor\n if (modifiers.preserveCursor !== true && modifiers.preservecursor !== true) {\n cursor = document.documentElement.style.cursor || ''\n document.documentElement.style.cursor = 'grabbing'\n }\n\n isMouseEvt === true && document.body.classList.add('no-pointer-events--children')\n document.body.classList.add('non-selectable')\n clearSelection()\n\n ctx.styleCleanup = withDelayedFn => {\n ctx.styleCleanup = void 0\n\n if (cursor !== void 0) {\n document.documentElement.style.cursor = cursor\n }\n\n document.body.classList.remove('non-selectable')\n\n if (isMouseEvt === true) {\n const remove = () => {\n document.body.classList.remove('no-pointer-events--children')\n }\n\n if (withDelayedFn !== void 0) {\n setTimeout(() => {\n remove()\n withDelayedFn()\n }, 50)\n }\n else { remove() }\n }\n else if (withDelayedFn !== void 0) {\n withDelayedFn()\n }\n }\n }\n\n if (ctx.event.detected === true) {\n ctx.event.isFirst !== true && handleEvent(evt, ctx.event.mouse)\n\n const { payload, synthetic } = getChanges(evt, ctx, false)\n\n if (payload !== void 0) {\n if (ctx.handler(payload) === false) {\n ctx.end(evt)\n }\n else {\n if (ctx.styleCleanup === void 0 && ctx.event.isFirst === true) {\n start()\n }\n\n ctx.event.lastX = payload.position.left\n ctx.event.lastY = payload.position.top\n ctx.event.lastDir = synthetic === true ? void 0 : payload.direction\n ctx.event.isFirst = false\n }\n }\n\n return\n }\n\n if (\n ctx.direction.all === true\n // account for UMD too where modifiers will be lowercased to work\n || (isMouseEvt === true && (ctx.modifiers.mouseAllDir === true || ctx.modifiers.mousealldir === true))\n ) {\n start()\n ctx.event.detected = true\n ctx.move(evt)\n return\n }\n\n const\n absX = Math.abs(distX),\n absY = Math.abs(distY)\n\n if (absX !== absY) {\n if (\n (ctx.direction.horizontal === true && absX > absY)\n || (ctx.direction.vertical === true && absX < absY)\n || (ctx.direction.up === true && absX < absY && distY < 0)\n || (ctx.direction.down === true && absX < absY && distY > 0)\n || (ctx.direction.left === true && absX > absY && distX < 0)\n || (ctx.direction.right === true && absX > absY && distX > 0)\n ) {\n ctx.event.detected = true\n ctx.move(evt)\n }\n else {\n ctx.end(evt, true)\n }\n }\n },\n\n end (evt, abort) {\n if (ctx.event === void 0) {\n return\n }\n\n cleanEvt(ctx, 'temp')\n client.is.firefox === true && preventDraggable(el, false)\n\n if (abort === true) {\n ctx.styleCleanup !== void 0 && ctx.styleCleanup()\n\n if (ctx.event.detected !== true && ctx.initialEvent !== void 0) {\n ctx.initialEvent.target.dispatchEvent(ctx.initialEvent.event)\n }\n }\n else if (ctx.event.detected === true) {\n ctx.event.isFirst === true && ctx.handler(getChanges(evt === void 0 ? ctx.lastEvt : evt, ctx).payload)\n\n const { payload } = getChanges(evt === void 0 ? ctx.lastEvt : evt, ctx, true)\n const fn = () => { ctx.handler(payload) }\n\n if (ctx.styleCleanup !== void 0) {\n ctx.styleCleanup(fn)\n }\n else {\n fn()\n }\n }\n\n ctx.event = void 0\n ctx.initialEvent = void 0\n ctx.lastEvt = void 0\n }\n }\n\n el.__qtouchpan = ctx\n\n if (modifiers.mouse === true) {\n // account for UMD too where modifiers will be lowercased to work\n const capture = modifiers.mouseCapture === true || modifiers.mousecapture === true\n ? 'Capture'\n : ''\n\n addEvt(ctx, 'main', [\n [ el, 'mousedown', 'mouseStart', `passive${ capture }` ]\n ])\n }\n\n client.has.touch === true && addEvt(ctx, 'main', [\n [ el, 'touchstart', 'touchStart', `passive${ modifiers.capture === true ? 'Capture' : '' }` ],\n [ el, 'touchmove', 'noop', 'notPassiveCapture' ] // cannot be passive (ex: iOS scroll)\n ])\n },\n\n updated (el, bindings) {\n const ctx = el.__qtouchpan\n\n if (ctx !== void 0) {\n if (bindings.oldValue !== bindings.value) {\n typeof value !== 'function' && ctx.end()\n ctx.handler = bindings.value\n }\n\n ctx.direction = getModifierDirections(bindings.modifiers)\n }\n },\n\n beforeUnmount (el) {\n const ctx = el.__qtouchpan\n\n if (ctx !== void 0) {\n // emit the end event when the directive is destroyed while active\n // this is only needed in TouchPan because the rest of the touch directives do not emit an end event\n // the condition is also checked in the start of function but we avoid the call\n ctx.event !== void 0 && ctx.end()\n\n cleanEvt(ctx, 'main')\n cleanEvt(ctx, 'temp')\n\n client.is.firefox === true && preventDraggable(el, false)\n ctx.styleCleanup !== void 0 && ctx.styleCleanup()\n\n delete el.__qtouchpan\n }\n }\n }\n)\n","import { h, withDirectives, ref, computed, watch, onMounted, onBeforeUnmount, nextTick, inject, getCurrentInstance } from 'vue'\n\nimport useHistory from '../../composables/private/use-history.js'\nimport useModelToggle, { useModelToggleProps, useModelToggleEmits } from '../../composables/private/use-model-toggle.js'\nimport usePreventScroll from '../../composables/private/use-prevent-scroll.js'\nimport useTimeout from '../../composables/private/use-timeout.js'\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\n\nimport TouchPan from '../../directives/TouchPan.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { between } from '../../utils/format.js'\nimport { hSlot, hDir } from '../../utils/private/render.js'\nimport { layoutKey, emptyRenderFn } from '../../utils/private/symbols.js'\n\nconst duration = 150\n\nexport default createComponent({\n name: 'QDrawer',\n\n inheritAttrs: false,\n\n props: {\n ...useModelToggleProps,\n ...useDarkProps,\n\n side: {\n type: String,\n default: 'left',\n validator: v => [ 'left', 'right' ].includes(v)\n },\n\n width: {\n type: Number,\n default: 300\n },\n\n mini: Boolean,\n miniToOverlay: Boolean,\n miniWidth: {\n type: Number,\n default: 57\n },\n noMiniAnimation: Boolean,\n\n breakpoint: {\n type: Number,\n default: 1023\n },\n showIfAbove: Boolean,\n\n behavior: {\n type: String,\n validator: v => [ 'default', 'desktop', 'mobile' ].includes(v),\n default: 'default'\n },\n\n bordered: Boolean,\n elevated: Boolean,\n\n overlay: Boolean,\n persistent: Boolean,\n noSwipeOpen: Boolean,\n noSwipeClose: Boolean,\n noSwipeBackdrop: Boolean\n },\n\n emits: [\n ...useModelToggleEmits,\n 'onLayout', 'miniState'\n ],\n\n setup (props, { slots, emit, attrs }) {\n const vm = getCurrentInstance()\n const { proxy: { $q } } = vm\n\n const isDark = useDark(props, $q)\n const { preventBodyScroll } = usePreventScroll()\n const { registerTimeout, removeTimeout } = useTimeout()\n\n const $layout = inject(layoutKey, emptyRenderFn)\n if ($layout === emptyRenderFn) {\n console.error('QDrawer needs to be child of QLayout')\n return emptyRenderFn\n }\n\n let lastDesktopState, timerMini = null, layoutTotalWidthWatcher\n\n const belowBreakpoint = ref(\n props.behavior === 'mobile'\n || (props.behavior !== 'desktop' && $layout.totalWidth.value <= props.breakpoint)\n )\n\n const isMini = computed(() =>\n props.mini === true && belowBreakpoint.value !== true\n )\n\n const size = computed(() => (\n isMini.value === true\n ? props.miniWidth\n : props.width\n ))\n\n const showing = ref(\n props.showIfAbove === true && belowBreakpoint.value === false\n ? true\n : props.modelValue === true\n )\n\n const hideOnRouteChange = computed(() =>\n props.persistent !== true\n && (belowBreakpoint.value === true || onScreenOverlay.value === true)\n )\n\n function handleShow (evt, noEvent) {\n addToHistory()\n\n evt !== false && $layout.animate()\n applyPosition(0)\n\n if (belowBreakpoint.value === true) {\n const otherInstance = $layout.instances[ otherSide.value ]\n if (otherInstance !== void 0 && otherInstance.belowBreakpoint === true) {\n otherInstance.hide(false)\n }\n\n applyBackdrop(1)\n $layout.isContainer.value !== true && preventBodyScroll(true)\n }\n else {\n applyBackdrop(0)\n evt !== false && setScrollable(false)\n }\n\n registerTimeout(() => {\n evt !== false && setScrollable(true)\n noEvent !== true && emit('show', evt)\n }, duration)\n }\n\n function handleHide (evt, noEvent) {\n removeFromHistory()\n\n evt !== false && $layout.animate()\n\n applyBackdrop(0)\n applyPosition(stateDirection.value * size.value)\n\n cleanup()\n\n if (noEvent !== true) {\n registerTimeout(() => { emit('hide', evt) }, duration)\n }\n else {\n removeTimeout()\n }\n }\n\n const { show, hide } = useModelToggle({\n showing,\n hideOnRouteChange,\n handleShow,\n handleHide\n })\n\n const { addToHistory, removeFromHistory } = useHistory(showing, hide, hideOnRouteChange)\n\n const instance = {\n belowBreakpoint,\n hide\n }\n\n const rightSide = computed(() => props.side === 'right')\n\n const stateDirection = computed(() =>\n ($q.lang.rtl === true ? -1 : 1) * (rightSide.value === true ? 1 : -1)\n )\n\n const flagBackdropBg = ref(0)\n const flagPanning = ref(false)\n const flagMiniAnimate = ref(false)\n const flagContentPosition = ref( // starting with \"hidden\" for SSR\n size.value * stateDirection.value\n )\n\n const otherSide = computed(() => (rightSide.value === true ? 'left' : 'right'))\n const offset = computed(() => (\n showing.value === true && belowBreakpoint.value === false && props.overlay === false\n ? (props.miniToOverlay === true ? props.miniWidth : size.value)\n : 0\n ))\n\n const fixed = computed(() =>\n props.overlay === true\n || props.miniToOverlay === true\n || $layout.view.value.indexOf(rightSide.value ? 'R' : 'L') > -1\n || ($q.platform.is.ios === true && $layout.isContainer.value === true)\n )\n\n const onLayout = computed(() =>\n props.overlay === false\n && showing.value === true\n && belowBreakpoint.value === false\n )\n\n const onScreenOverlay = computed(() =>\n props.overlay === true\n && showing.value === true\n && belowBreakpoint.value === false\n )\n\n const backdropClass = computed(() =>\n 'fullscreen q-drawer__backdrop'\n + (showing.value === false && flagPanning.value === false ? ' hidden' : '')\n )\n\n const backdropStyle = computed(() => ({\n backgroundColor: `rgba(0,0,0,${ flagBackdropBg.value * 0.4 })`\n }))\n\n const headerSlot = computed(() => (\n rightSide.value === true\n ? $layout.rows.value.top[ 2 ] === 'r'\n : $layout.rows.value.top[ 0 ] === 'l'\n ))\n\n const footerSlot = computed(() => (\n rightSide.value === true\n ? $layout.rows.value.bottom[ 2 ] === 'r'\n : $layout.rows.value.bottom[ 0 ] === 'l'\n ))\n\n const aboveStyle = computed(() => {\n const css = {}\n\n if ($layout.header.space === true && headerSlot.value === false) {\n if (fixed.value === true) {\n css.top = `${ $layout.header.offset }px`\n }\n else if ($layout.header.space === true) {\n css.top = `${ $layout.header.size }px`\n }\n }\n\n if ($layout.footer.space === true && footerSlot.value === false) {\n if (fixed.value === true) {\n css.bottom = `${ $layout.footer.offset }px`\n }\n else if ($layout.footer.space === true) {\n css.bottom = `${ $layout.footer.size }px`\n }\n }\n\n return css\n })\n\n const style = computed(() => {\n const style = {\n width: `${ size.value }px`,\n transform: `translateX(${ flagContentPosition.value }px)`\n }\n\n return belowBreakpoint.value === true\n ? style\n : Object.assign(style, aboveStyle.value)\n })\n\n const contentClass = computed(() =>\n 'q-drawer__content fit '\n + ($layout.isContainer.value !== true ? 'scroll' : 'overflow-auto')\n )\n\n const classes = computed(() =>\n `q-drawer q-drawer--${ props.side }`\n + (flagMiniAnimate.value === true ? ' q-drawer--mini-animate' : '')\n + (props.bordered === true ? ' q-drawer--bordered' : '')\n + (isDark.value === true ? ' q-drawer--dark q-dark' : '')\n + (\n flagPanning.value === true\n ? ' no-transition'\n : (showing.value === true ? '' : ' q-layout--prevent-focus')\n )\n + (\n belowBreakpoint.value === true\n ? ' fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding'\n : ` q-drawer--${ isMini.value === true ? 'mini' : 'standard' }`\n + (fixed.value === true || onLayout.value !== true ? ' fixed' : '')\n + (props.overlay === true || props.miniToOverlay === true ? ' q-drawer--on-top' : '')\n + (headerSlot.value === true ? ' q-drawer--top-padding' : '')\n )\n )\n\n const openDirective = computed(() => {\n // if props.noSwipeOpen !== true\n const dir = $q.lang.rtl === true ? props.side : otherSide.value\n\n return [ [\n TouchPan,\n onOpenPan,\n void 0,\n {\n [ dir ]: true,\n mouse: true\n }\n ] ]\n })\n\n const contentCloseDirective = computed(() => {\n // if belowBreakpoint.value === true && props.noSwipeClose !== true\n const dir = $q.lang.rtl === true ? otherSide.value : props.side\n\n return [ [\n TouchPan,\n onClosePan,\n void 0,\n {\n [ dir ]: true,\n mouse: true\n }\n ] ]\n })\n\n const backdropCloseDirective = computed(() => {\n // if showing.value === true && props.noSwipeBackdrop !== true\n const dir = $q.lang.rtl === true ? otherSide.value : props.side\n\n return [ [\n TouchPan,\n onClosePan,\n void 0,\n {\n [ dir ]: true,\n mouse: true,\n mouseAllDir: true\n }\n ] ]\n })\n\n function updateBelowBreakpoint () {\n updateLocal(belowBreakpoint, (\n props.behavior === 'mobile'\n || (props.behavior !== 'desktop' && $layout.totalWidth.value <= props.breakpoint)\n ))\n }\n\n watch(belowBreakpoint, val => {\n if (val === true) { // from lg to xs\n lastDesktopState = showing.value\n showing.value === true && hide(false)\n }\n else if (\n props.overlay === false\n && props.behavior !== 'mobile'\n && lastDesktopState !== false\n ) { // from xs to lg\n if (showing.value === true) {\n applyPosition(0)\n applyBackdrop(0)\n cleanup()\n }\n else {\n show(false)\n }\n }\n })\n\n watch(() => props.side, (newSide, oldSide) => {\n if ($layout.instances[ oldSide ] === instance) {\n $layout.instances[ oldSide ] = void 0\n $layout[ oldSide ].space = false\n $layout[ oldSide ].offset = 0\n }\n\n $layout.instances[ newSide ] = instance\n $layout[ newSide ].size = size.value\n $layout[ newSide ].space = onLayout.value\n $layout[ newSide ].offset = offset.value\n })\n\n watch($layout.totalWidth, () => {\n if ($layout.isContainer.value === true || document.qScrollPrevented !== true) {\n updateBelowBreakpoint()\n }\n })\n\n watch(\n () => props.behavior + props.breakpoint,\n updateBelowBreakpoint\n )\n\n watch($layout.isContainer, val => {\n showing.value === true && preventBodyScroll(val !== true)\n val === true && updateBelowBreakpoint()\n })\n\n watch($layout.scrollbarWidth, () => {\n applyPosition(showing.value === true ? 0 : void 0)\n })\n\n watch(offset, val => { updateLayout('offset', val) })\n\n watch(onLayout, val => {\n emit('onLayout', val)\n updateLayout('space', val)\n })\n\n watch(rightSide, () => { applyPosition() })\n\n watch(size, val => {\n applyPosition()\n updateSizeOnLayout(props.miniToOverlay, val)\n })\n\n watch(() => props.miniToOverlay, val => {\n updateSizeOnLayout(val, size.value)\n })\n\n watch(() => $q.lang.rtl, () => { applyPosition() })\n\n watch(() => props.mini, () => {\n if (props.noMiniAnimation) return\n if (props.modelValue === true) {\n animateMini()\n $layout.animate()\n }\n })\n\n watch(isMini, val => { emit('miniState', val) })\n\n function applyPosition (position) {\n if (position === void 0) {\n nextTick(() => {\n position = showing.value === true ? 0 : size.value\n applyPosition(stateDirection.value * position)\n })\n }\n else {\n if (\n $layout.isContainer.value === true\n && rightSide.value === true\n && (belowBreakpoint.value === true || Math.abs(position) === size.value)\n ) {\n position += stateDirection.value * $layout.scrollbarWidth.value\n }\n\n flagContentPosition.value = position\n }\n }\n\n function applyBackdrop (x) {\n flagBackdropBg.value = x\n }\n\n function setScrollable (v) {\n const action = v === true\n ? 'remove'\n : ($layout.isContainer.value !== true ? 'add' : '')\n\n action !== '' && document.body.classList[ action ]('q-body--drawer-toggle')\n }\n\n function animateMini () {\n timerMini !== null && clearTimeout(timerMini)\n\n if (vm.proxy && vm.proxy.$el) {\n // need to speed it up and apply it immediately,\n // even faster than Vue's nextTick!\n vm.proxy.$el.classList.add('q-drawer--mini-animate')\n }\n\n flagMiniAnimate.value = true\n timerMini = setTimeout(() => {\n timerMini = null\n flagMiniAnimate.value = false\n if (vm && vm.proxy && vm.proxy.$el) {\n vm.proxy.$el.classList.remove('q-drawer--mini-animate')\n }\n }, 150)\n }\n\n function onOpenPan (evt) {\n if (showing.value !== false) {\n // some browsers might capture and trigger this\n // even if Drawer has just been opened (but animation is still pending)\n return\n }\n\n const\n width = size.value,\n position = between(evt.distance.x, 0, width)\n\n if (evt.isFinal === true) {\n const opened = position >= Math.min(75, width)\n\n if (opened === true) {\n show()\n }\n else {\n $layout.animate()\n applyBackdrop(0)\n applyPosition(stateDirection.value * width)\n }\n\n flagPanning.value = false\n return\n }\n\n applyPosition(\n ($q.lang.rtl === true ? rightSide.value !== true : rightSide.value)\n ? Math.max(width - position, 0)\n : Math.min(0, position - width)\n )\n applyBackdrop(\n between(position / width, 0, 1)\n )\n\n if (evt.isFirst === true) {\n flagPanning.value = true\n }\n }\n\n function onClosePan (evt) {\n if (showing.value !== true) {\n // some browsers might capture and trigger this\n // even if Drawer has just been closed (but animation is still pending)\n return\n }\n\n const\n width = size.value,\n dir = evt.direction === props.side,\n position = ($q.lang.rtl === true ? dir !== true : dir)\n ? between(evt.distance.x, 0, width)\n : 0\n\n if (evt.isFinal === true) {\n const opened = Math.abs(position) < Math.min(75, width)\n\n if (opened === true) {\n $layout.animate()\n applyBackdrop(1)\n applyPosition(0)\n }\n else {\n hide()\n }\n\n flagPanning.value = false\n return\n }\n\n applyPosition(stateDirection.value * position)\n applyBackdrop(between(1 - position / width, 0, 1))\n\n if (evt.isFirst === true) {\n flagPanning.value = true\n }\n }\n\n function cleanup () {\n preventBodyScroll(false)\n setScrollable(true)\n }\n\n function updateLayout (prop, val) {\n $layout.update(props.side, prop, val)\n }\n\n function updateLocal (prop, val) {\n if (prop.value !== val) {\n prop.value = val\n }\n }\n\n function updateSizeOnLayout (miniToOverlay, size) {\n updateLayout('size', miniToOverlay === true ? props.miniWidth : size)\n }\n\n $layout.instances[ props.side ] = instance\n updateSizeOnLayout(props.miniToOverlay, size.value)\n updateLayout('space', onLayout.value)\n updateLayout('offset', offset.value)\n\n if (\n props.showIfAbove === true\n && props.modelValue !== true\n && showing.value === true\n && props[ 'onUpdate:modelValue' ] !== void 0\n ) {\n emit('update:modelValue', true)\n }\n\n onMounted(() => {\n emit('onLayout', onLayout.value)\n emit('miniState', isMini.value)\n\n lastDesktopState = props.showIfAbove === true\n\n const fn = () => {\n const action = showing.value === true ? handleShow : handleHide\n action(false, true)\n }\n\n if ($layout.totalWidth.value !== 0) {\n // make sure that all computed properties\n // have been updated before calling handleShow/handleHide()\n nextTick(fn)\n return\n }\n\n layoutTotalWidthWatcher = watch($layout.totalWidth, () => {\n layoutTotalWidthWatcher()\n layoutTotalWidthWatcher = void 0\n\n if (showing.value === false && props.showIfAbove === true && belowBreakpoint.value === false) {\n show(false)\n }\n else {\n fn()\n }\n })\n })\n\n onBeforeUnmount(() => {\n layoutTotalWidthWatcher !== void 0 && layoutTotalWidthWatcher()\n\n if (timerMini !== null) {\n clearTimeout(timerMini)\n timerMini = null\n }\n\n showing.value === true && cleanup()\n\n if ($layout.instances[ props.side ] === instance) {\n $layout.instances[ props.side ] = void 0\n updateLayout('size', 0)\n updateLayout('offset', 0)\n updateLayout('space', false)\n }\n })\n\n return () => {\n const child = []\n\n if (belowBreakpoint.value === true) {\n props.noSwipeOpen === false && child.push(\n withDirectives(\n h('div', {\n key: 'open',\n class: `q-drawer__opener fixed-${ props.side }`,\n 'aria-hidden': 'true'\n }),\n openDirective.value\n )\n )\n\n child.push(\n hDir(\n 'div',\n {\n ref: 'backdrop',\n class: backdropClass.value,\n style: backdropStyle.value,\n 'aria-hidden': 'true',\n onClick: hide\n },\n void 0,\n 'backdrop',\n props.noSwipeBackdrop !== true && showing.value === true,\n () => backdropCloseDirective.value\n )\n )\n }\n\n const mini = isMini.value === true && slots.mini !== void 0\n const content = [\n h('div', {\n ...attrs,\n key: '' + mini, // required otherwise Vue will not diff correctly\n class: [\n contentClass.value,\n attrs.class\n ]\n }, mini === true\n ? slots.mini()\n : hSlot(slots.default)\n )\n ]\n\n if (props.elevated === true && showing.value === true) {\n content.push(\n h('div', {\n class: 'q-layout__shadow absolute-full overflow-hidden no-pointer-events'\n })\n )\n }\n\n child.push(\n hDir(\n 'aside',\n { ref: 'content', class: classes.value, style: style.value },\n content,\n 'contentclose',\n props.noSwipeClose !== true && belowBreakpoint.value === true,\n () => contentCloseDirective.value\n )\n )\n\n return h('div', { class: 'q-drawer-container' }, child)\n }\n }\n})\n","import { h, ref, computed, getCurrentInstance } from 'vue'\n\nimport { client } from '../../plugins/Platform.js'\nimport { stop, stopAndPrevent } from '../../utils/event.js'\n\nfunction filterFiles (files, rejectedFiles, failedPropValidation, filterFn) {\n const acceptedFiles = []\n\n files.forEach(file => {\n if (filterFn(file) === true) {\n acceptedFiles.push(file)\n }\n else {\n rejectedFiles.push({ failedPropValidation, file })\n }\n })\n\n return acceptedFiles\n}\n\nfunction stopAndPreventDrag (e) {\n e && e.dataTransfer && (e.dataTransfer.dropEffect = 'copy')\n stopAndPrevent(e)\n}\n\nexport const useFileProps = {\n multiple: Boolean,\n accept: String,\n capture: String,\n maxFileSize: [ Number, String ],\n maxTotalSize: [ Number, String ],\n maxFiles: [ Number, String ],\n filter: Function\n}\n\nexport const useFileEmits = [ 'rejected' ]\n\nexport default function ({\n editable,\n dnd,\n getFileInput,\n addFilesToQueue\n}) {\n const { props, emit, proxy } = getCurrentInstance()\n\n const dndRef = ref(null)\n\n const extensions = computed(() => (\n props.accept !== void 0\n ? props.accept.split(',').map(ext => {\n ext = ext.trim()\n if (ext === '*') { // support \"*\"\n return '*/'\n }\n else if (ext.endsWith('/*')) { // support \"image/*\" or \"*/*\"\n ext = ext.slice(0, ext.length - 1)\n }\n return ext.toUpperCase()\n })\n : null\n ))\n\n const maxFilesNumber = computed(() => parseInt(props.maxFiles, 10))\n const maxTotalSizeNumber = computed(() => parseInt(props.maxTotalSize, 10))\n\n function pickFiles (e) {\n if (editable.value) {\n if (e !== Object(e)) {\n e = { target: null }\n }\n\n if (e.target !== null && e.target.matches('input[type=\"file\"]') === true) {\n // stop propagation if it's not a real pointer event\n e.clientX === 0 && e.clientY === 0 && stop(e)\n }\n else {\n const input = getFileInput()\n input && input !== e.target && input.click(e)\n }\n }\n }\n\n function addFiles (files) {\n if (editable.value && files) {\n addFilesToQueue(null, files)\n }\n }\n\n function processFiles (e, filesToProcess, currentFileList, append) {\n let files = Array.from(filesToProcess || e.target.files)\n const rejectedFiles = []\n\n const done = () => {\n if (rejectedFiles.length !== 0) {\n emit('rejected', rejectedFiles)\n }\n }\n\n // filter file types\n if (props.accept !== void 0 && extensions.value.indexOf('*/') === -1) {\n files = filterFiles(files, rejectedFiles, 'accept', file => {\n return extensions.value.some(ext => (\n file.type.toUpperCase().startsWith(ext)\n || file.name.toUpperCase().endsWith(ext)\n ))\n })\n\n if (files.length === 0) { return done() }\n }\n\n // filter max file size\n if (props.maxFileSize !== void 0) {\n const maxFileSize = parseInt(props.maxFileSize, 10)\n files = filterFiles(files, rejectedFiles, 'max-file-size', file => {\n return file.size <= maxFileSize\n })\n\n if (files.length === 0) { return done() }\n }\n\n // Cordova/iOS allows selecting multiple files even when the\n // multiple attribute is not specified. We also normalize drag'n'dropped\n // files here:\n if (props.multiple !== true && files.length !== 0) {\n files = [ files[ 0 ] ]\n }\n\n // Compute key to use for each file\n files.forEach(file => {\n file.__key = file.webkitRelativePath + file.lastModified + file.name + file.size\n })\n\n if (append === true) {\n // Avoid duplicate files\n const filenameMap = currentFileList.map(entry => entry.__key)\n files = filterFiles(files, rejectedFiles, 'duplicate', file => {\n return filenameMap.includes(file.__key) === false\n })\n }\n\n if (files.length === 0) { return done() }\n\n if (props.maxTotalSize !== void 0) {\n let size = append === true\n ? currentFileList.reduce((total, file) => total + file.size, 0)\n : 0\n\n files = filterFiles(files, rejectedFiles, 'max-total-size', file => {\n size += file.size\n return size <= maxTotalSizeNumber.value\n })\n\n if (files.length === 0) { return done() }\n }\n\n // do we have custom filter function?\n if (typeof props.filter === 'function') {\n const filteredFiles = props.filter(files)\n files = filterFiles(files, rejectedFiles, 'filter', file => {\n return filteredFiles.includes(file)\n })\n }\n\n if (props.maxFiles !== void 0) {\n let filesNumber = append === true\n ? currentFileList.length\n : 0\n\n files = filterFiles(files, rejectedFiles, 'max-files', () => {\n filesNumber++\n return filesNumber <= maxFilesNumber.value\n })\n\n if (files.length === 0) { return done() }\n }\n\n done()\n\n if (files.length !== 0) {\n return files\n }\n }\n\n function onDragover (e) {\n stopAndPreventDrag(e)\n dnd.value !== true && (dnd.value = true)\n }\n\n function onDragleave (e) {\n stopAndPrevent(e)\n\n // Safari bug: relatedTarget is null for over 10 years\n // https://bugs.webkit.org/show_bug.cgi?id=66547\n const gone = e.relatedTarget !== null || client.is.safari !== true\n ? e.relatedTarget !== dndRef.value\n : document.elementsFromPoint(e.clientX, e.clientY).includes(dndRef.value) === false\n\n gone === true && (dnd.value = false)\n }\n\n function onDrop (e) {\n stopAndPreventDrag(e)\n const files = e.dataTransfer.files\n\n if (files.length !== 0) {\n addFilesToQueue(null, files)\n }\n\n dnd.value = false\n }\n\n function getDndNode (type) {\n if (dnd.value === true) {\n return h('div', {\n ref: dndRef,\n class: `q-${ type }__dnd absolute-full`,\n onDragenter: stopAndPreventDrag,\n onDragover: stopAndPreventDrag,\n onDragleave,\n onDrop\n })\n }\n }\n\n // expose public methods\n Object.assign(proxy, { pickFiles, addFiles })\n\n return {\n pickFiles,\n addFiles,\n onDragover,\n onDragleave,\n processFiles,\n getDndNode,\n\n maxFilesNumber,\n maxTotalSizeNumber\n }\n}\n","import { h, ref, computed, getCurrentInstance } from 'vue'\n\nimport QChip from '../chip/QChip.js'\n\nimport useField, { useFieldState, useFieldProps, useFieldEmits, fieldValueIsFilled } from '../../composables/private/use-field.js'\nimport { useFormProps, useFormInputNameAttr } from '../../composables/private/use-form.js'\nimport useFile, { useFileProps, useFileEmits } from '../../composables/private/use-file.js'\nimport useFileFormDomProps from '../../composables/private/use-file-dom-props.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { humanStorageSize } from '../../utils/format.js'\nimport { prevent } from '../../utils/event.js'\nimport { injectProp } from '../../utils/private/inject-obj-prop.js'\n\nexport default createComponent({\n name: 'QFile',\n\n inheritAttrs: false,\n\n props: {\n ...useFieldProps,\n ...useFormProps,\n ...useFileProps,\n\n /* SSR does not know about File & FileList */\n modelValue: __QUASAR_SSR_SERVER__\n ? {}\n : [ File, FileList, Array ],\n\n append: Boolean,\n useChips: Boolean,\n displayValue: [ String, Number ],\n\n tabindex: {\n type: [ String, Number ],\n default: 0\n },\n\n counterLabel: Function,\n\n inputClass: [ Array, String, Object ],\n inputStyle: [ Array, String, Object ]\n },\n\n emits: [\n ...useFieldEmits,\n ...useFileEmits\n ],\n\n setup (props, { slots, emit, attrs }) {\n const { proxy } = getCurrentInstance()\n\n const state = useFieldState()\n\n const inputRef = ref(null)\n const dnd = ref(false)\n const nameProp = useFormInputNameAttr(props)\n\n const {\n pickFiles,\n onDragover,\n onDragleave,\n processFiles,\n getDndNode\n } = useFile({ editable: state.editable, dnd, getFileInput, addFilesToQueue })\n\n const formDomProps = useFileFormDomProps(props)\n\n const innerValue = computed(() => (\n Object(props.modelValue) === props.modelValue\n ? ('length' in props.modelValue ? Array.from(props.modelValue) : [ props.modelValue ])\n : []\n ))\n\n const hasValue = computed(() => fieldValueIsFilled(innerValue.value))\n\n const selectedString = computed(() =>\n innerValue.value\n .map(file => file.name)\n .join(', ')\n )\n\n const totalSize = computed(() =>\n humanStorageSize(\n innerValue.value.reduce((acc, file) => acc + file.size, 0)\n )\n )\n\n const counterProps = computed(() => ({\n totalSize: totalSize.value,\n filesNumber: innerValue.value.length,\n maxFiles: props.maxFiles\n }))\n\n const inputAttrs = computed(() => ({\n tabindex: -1,\n type: 'file',\n title: '', // try to remove default tooltip,\n accept: props.accept,\n capture: props.capture,\n name: nameProp.value,\n ...attrs,\n id: state.targetUid.value,\n disabled: state.editable.value !== true\n }))\n\n const fieldClass = computed(() =>\n 'q-file q-field--auto-height'\n + (dnd.value === true ? ' q-file--dnd' : '')\n )\n\n const isAppending = computed(() =>\n props.multiple === true && props.append === true\n )\n\n function removeAtIndex (index) {\n const files = innerValue.value.slice()\n files.splice(index, 1)\n emitValue(files)\n }\n\n function removeFile (file) {\n const index = innerValue.value.indexOf(file)\n if (index > -1) {\n removeAtIndex(index)\n }\n }\n\n function emitValue (files) {\n emit('update:modelValue', props.multiple === true ? files : files[ 0 ])\n }\n\n function onKeydown (e) {\n // prevent form submit if ENTER is pressed\n e.keyCode === 13 && prevent(e)\n }\n\n function onKeyup (e) {\n // only on ENTER and SPACE to match native input field\n if (e.keyCode === 13 || e.keyCode === 32) {\n pickFiles(e)\n }\n }\n\n function getFileInput () {\n return inputRef.value\n }\n\n function addFilesToQueue (e, fileList) {\n const files = processFiles(e, fileList, innerValue.value, isAppending.value)\n const fileInput = getFileInput()\n\n if (fileInput !== void 0 && fileInput !== null) {\n fileInput.value = ''\n }\n\n // if nothing to do...\n if (files === void 0) { return }\n\n // protect against input @change being called in a loop\n // like it happens on Safari, so don't emit same thing:\n if (\n props.multiple === true\n ? props.modelValue && files.every(f => innerValue.value.includes(f))\n : props.modelValue === files[ 0 ]\n ) {\n return\n }\n\n emitValue(\n isAppending.value === true\n ? innerValue.value.concat(files)\n : files\n )\n }\n\n function getFiller () {\n return [\n h('input', {\n class: [ props.inputClass, 'q-file__filler' ],\n style: props.inputStyle\n })\n ]\n }\n\n function getSelection () {\n if (slots.file !== void 0) {\n return innerValue.value.length === 0\n ? getFiller()\n : innerValue.value.map(\n (file, index) => slots.file({ index, file, ref: this })\n )\n }\n\n if (slots.selected !== void 0) {\n return innerValue.value.length === 0\n ? getFiller()\n : slots.selected({ files: innerValue.value, ref: this })\n }\n\n if (props.useChips === true) {\n return innerValue.value.length === 0\n ? getFiller()\n : innerValue.value.map((file, i) => h(QChip, {\n key: 'file-' + i,\n removable: state.editable.value,\n dense: true,\n textColor: props.color,\n tabindex: props.tabindex,\n onRemove: () => { removeAtIndex(i) }\n }, () => h('span', {\n class: 'ellipsis',\n textContent: file.name\n })))\n }\n\n const textContent = props.displayValue !== void 0\n ? props.displayValue\n : selectedString.value\n\n return textContent.length !== 0\n ? [\n h('div', {\n class: props.inputClass,\n style: props.inputStyle,\n textContent\n })\n ]\n : getFiller()\n }\n\n function getInput () {\n const data = {\n ref: inputRef,\n ...inputAttrs.value,\n ...formDomProps.value,\n class: 'q-field__input fit absolute-full cursor-pointer',\n onChange: addFilesToQueue\n }\n\n if (props.multiple === true) {\n data.multiple = true\n }\n\n return h('input', data)\n }\n\n Object.assign(state, {\n fieldClass,\n emitValue,\n hasValue,\n inputRef,\n innerValue,\n\n floatingLabel: computed(() =>\n hasValue.value === true\n || fieldValueIsFilled(props.displayValue)\n ),\n\n computedCounter: computed(() => {\n if (props.counterLabel !== void 0) {\n return props.counterLabel(counterProps.value)\n }\n\n const max = props.maxFiles\n return `${ innerValue.value.length }${ max !== void 0 ? ' / ' + max : '' } (${ totalSize.value })`\n }),\n\n getControlChild: () => getDndNode('file'),\n getControl: () => {\n const data = {\n ref: state.targetRef,\n class: 'q-field__native row items-center cursor-pointer',\n tabindex: props.tabindex\n }\n\n if (state.editable.value === true) {\n Object.assign(data, { onDragover, onDragleave, onKeydown, onKeyup })\n }\n\n return h('div', data, [ getInput() ].concat(getSelection()))\n }\n })\n\n // expose public methods\n Object.assign(proxy, {\n removeAtIndex,\n removeFile,\n getNativeElement: () => inputRef.value // deprecated\n })\n\n injectProp(proxy, 'nativeEl', () => inputRef.value)\n\n return useField(state)\n }\n})\n","import { h, ref, computed, watch, onBeforeUnmount, inject, getCurrentInstance } from 'vue'\n\nimport QResizeObserver from '../resize-observer/QResizeObserver.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hUniqueSlot } from '../../utils/private/render.js'\nimport { layoutKey, emptyRenderFn } from '../../utils/private/symbols.js'\n\nexport default createComponent({\n name: 'QHeader',\n\n props: {\n modelValue: {\n type: Boolean,\n default: true\n },\n reveal: Boolean,\n revealOffset: {\n type: Number,\n default: 250\n },\n bordered: Boolean,\n elevated: Boolean,\n\n heightHint: {\n type: [ String, Number ],\n default: 50\n }\n },\n\n emits: [ 'reveal', 'focusin' ],\n\n setup (props, { slots, emit }) {\n const { proxy: { $q } } = getCurrentInstance()\n\n const $layout = inject(layoutKey, emptyRenderFn)\n if ($layout === emptyRenderFn) {\n console.error('QHeader needs to be child of QLayout')\n return emptyRenderFn\n }\n\n const size = ref(parseInt(props.heightHint, 10))\n const revealed = ref(true)\n\n const fixed = computed(() =>\n props.reveal === true\n || $layout.view.value.indexOf('H') > -1\n || ($q.platform.is.ios && $layout.isContainer.value === true)\n )\n\n const offset = computed(() => {\n if (props.modelValue !== true) {\n return 0\n }\n if (fixed.value === true) {\n return revealed.value === true ? size.value : 0\n }\n const offset = size.value - $layout.scroll.value.position\n return offset > 0 ? offset : 0\n })\n\n const hidden = computed(() => props.modelValue !== true\n || (fixed.value === true && revealed.value !== true)\n )\n\n const revealOnFocus = computed(() =>\n props.modelValue === true && hidden.value === true && props.reveal === true\n )\n\n const classes = computed(() =>\n 'q-header q-layout__section--marginal '\n + (fixed.value === true ? 'fixed' : 'absolute') + '-top'\n + (props.bordered === true ? ' q-header--bordered' : '')\n + (hidden.value === true ? ' q-header--hidden' : '')\n + (props.modelValue !== true ? ' q-layout--prevent-focus' : '')\n )\n\n const style = computed(() => {\n const\n view = $layout.rows.value.top,\n css = {}\n\n if (view[ 0 ] === 'l' && $layout.left.space === true) {\n css[ $q.lang.rtl === true ? 'right' : 'left' ] = `${ $layout.left.size }px`\n }\n if (view[ 2 ] === 'r' && $layout.right.space === true) {\n css[ $q.lang.rtl === true ? 'left' : 'right' ] = `${ $layout.right.size }px`\n }\n\n return css\n })\n\n function updateLayout (prop, val) {\n $layout.update('header', prop, val)\n }\n\n function updateLocal (prop, val) {\n if (prop.value !== val) {\n prop.value = val\n }\n }\n\n function onResize ({ height }) {\n updateLocal(size, height)\n updateLayout('size', height)\n }\n\n function onFocusin (evt) {\n if (revealOnFocus.value === true) {\n updateLocal(revealed, true)\n }\n\n emit('focusin', evt)\n }\n\n watch(() => props.modelValue, val => {\n updateLayout('space', val)\n updateLocal(revealed, true)\n $layout.animate()\n })\n\n watch(offset, val => {\n updateLayout('offset', val)\n })\n\n watch(() => props.reveal, val => {\n val === false && updateLocal(revealed, props.modelValue)\n })\n\n watch(revealed, val => {\n $layout.animate()\n emit('reveal', val)\n })\n\n watch($layout.scroll, scroll => {\n props.reveal === true && updateLocal(revealed,\n scroll.direction === 'up'\n || scroll.position <= props.revealOffset\n || scroll.position - scroll.inflectionPoint < 100\n )\n })\n\n const instance = {}\n\n $layout.instances.header = instance\n props.modelValue === true && updateLayout('size', size.value)\n updateLayout('space', props.modelValue)\n updateLayout('offset', offset.value)\n\n onBeforeUnmount(() => {\n if ($layout.instances.header === instance) {\n $layout.instances.header = void 0\n updateLayout('size', 0)\n updateLayout('offset', 0)\n updateLayout('space', false)\n }\n })\n\n return () => {\n const child = hUniqueSlot(slots.default, [])\n\n props.elevated === true && child.push(\n h('div', {\n class: 'q-layout__shadow absolute-full overflow-hidden no-pointer-events'\n })\n )\n\n child.push(\n h(QResizeObserver, {\n debounce: 0,\n onResize\n })\n )\n\n return h('header', {\n class: classes.value,\n style: style.value,\n onFocusin\n }, child)\n }\n }\n})\n","import { h, computed, getCurrentInstance } from 'vue'\n\nimport useSize, { useSizeProps } from '../../composables/private/use-size.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot, hMergeSlot } from '../../utils/private/render.js'\n\nconst defaultViewBox = '0 0 24 24'\n\nconst sameFn = i => i\nconst ionFn = i => `ionicons ${ i }`\n\nconst libMap = {\n 'mdi-': i => `mdi ${ i }`,\n 'icon-': sameFn, // fontawesome equiv\n 'bt-': i => `bt ${ i }`,\n 'eva-': i => `eva ${ i }`,\n 'ion-md': ionFn,\n 'ion-ios': ionFn,\n 'ion-logo': ionFn,\n 'iconfont ': sameFn,\n 'ti-': i => `themify-icon ${ i }`,\n 'bi-': i => `bootstrap-icons ${ i }`\n}\n\nconst matMap = {\n o_: '-outlined',\n r_: '-round',\n s_: '-sharp'\n}\n\nconst symMap = {\n sym_o_: '-outlined',\n sym_r_: '-rounded',\n sym_s_: '-sharp'\n}\n\nconst libRE = new RegExp('^(' + Object.keys(libMap).join('|') + ')')\nconst matRE = new RegExp('^(' + Object.keys(matMap).join('|') + ')')\nconst symRE = new RegExp('^(' + Object.keys(symMap).join('|') + ')')\nconst mRE = /^[Mm]\\s?[-+]?\\.?\\d/\nconst imgRE = /^img:/\nconst svgUseRE = /^svguse:/\nconst ionRE = /^ion-/\nconst faRE = /^(fa-(sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /\n\nexport default createComponent({\n name: 'QIcon',\n\n props: {\n ...useSizeProps,\n\n tag: {\n type: String,\n default: 'i'\n },\n\n name: String,\n color: String,\n left: Boolean,\n right: Boolean\n },\n\n setup (props, { slots }) {\n const { proxy: { $q } } = getCurrentInstance()\n const sizeStyle = useSize(props)\n\n const classes = computed(() =>\n 'q-icon'\n + (props.left === true ? ' on-left' : '') // TODO Qv3: drop this\n + (props.right === true ? ' on-right' : '')\n + (props.color !== void 0 ? ` text-${ props.color }` : '')\n )\n\n const type = computed(() => {\n let cls\n let icon = props.name\n\n if (icon === 'none' || !icon) {\n return { none: true }\n }\n\n if ($q.iconMapFn !== null) {\n const res = $q.iconMapFn(icon)\n if (res !== void 0) {\n if (res.icon !== void 0) {\n icon = res.icon\n if (icon === 'none' || !icon) {\n return { none: true }\n }\n }\n else {\n return {\n cls: res.cls,\n content: res.content !== void 0\n ? res.content\n : ' '\n }\n }\n }\n }\n\n if (mRE.test(icon) === true) {\n const [ def, viewBox = defaultViewBox ] = icon.split('|')\n\n return {\n svg: true,\n viewBox,\n nodes: def.split('&&').map(path => {\n const [ d, style, transform ] = path.split('@@')\n return h('path', { style, d, transform })\n })\n }\n }\n\n if (imgRE.test(icon) === true) {\n return {\n img: true,\n src: icon.substring(4)\n }\n }\n\n if (svgUseRE.test(icon) === true) {\n const [ def, viewBox = defaultViewBox ] = icon.split('|')\n\n return {\n svguse: true,\n src: def.substring(7),\n viewBox\n }\n }\n\n let content = ' '\n const matches = icon.match(libRE)\n\n if (matches !== null) {\n cls = libMap[ matches[ 1 ] ](icon)\n }\n else if (faRE.test(icon) === true) {\n cls = icon\n }\n else if (ionRE.test(icon) === true) {\n cls = `ionicons ion-${ $q.platform.is.ios === true ? 'ios' : 'md' }${ icon.substring(3) }`\n }\n else if (symRE.test(icon) === true) {\n // \"notranslate\" class is for Google Translate\n // to avoid tampering with Material Symbols ligature font\n //\n // Caution: To be able to add suffix to the class name,\n // keep the 'material-symbols' at the end of the string.\n cls = 'notranslate material-symbols'\n\n const matches = icon.match(symRE)\n if (matches !== null) {\n icon = icon.substring(6)\n cls += symMap[ matches[ 1 ] ]\n }\n\n content = icon\n }\n else {\n // \"notranslate\" class is for Google Translate\n // to avoid tampering with Material Icons ligature font\n //\n // Caution: To be able to add suffix to the class name,\n // keep the 'material-icons' at the end of the string.\n cls = 'notranslate material-icons'\n\n const matches = icon.match(matRE)\n if (matches !== null) {\n icon = icon.substring(2)\n cls += matMap[ matches[ 1 ] ]\n }\n\n content = icon\n }\n\n return {\n cls,\n content\n }\n })\n\n return () => {\n const data = {\n class: classes.value,\n style: sizeStyle.value,\n 'aria-hidden': 'true',\n role: 'presentation'\n }\n\n if (type.value.none === true) {\n return h(props.tag, data, hSlot(slots.default))\n }\n\n if (type.value.img === true) {\n return h('span', data, hMergeSlot(slots.default, [\n h('img', { src: type.value.src })\n ]))\n }\n\n if (type.value.svg === true) {\n return h('span', data, hMergeSlot(slots.default, [\n h('svg', {\n viewBox: type.value.viewBox || '0 0 24 24'\n }, type.value.nodes)\n ]))\n }\n\n if (type.value.svguse === true) {\n return h('span', data, hMergeSlot(slots.default, [\n h('svg', {\n viewBox: type.value.viewBox\n }, [\n h('use', { 'xlink:href': type.value.src })\n ])\n ]))\n }\n\n if (type.value.cls !== void 0) {\n data.class += ' ' + type.value.cls\n }\n\n return h(props.tag, data, hMergeSlot(slots.default, [\n type.value.content\n ]))\n }\n }\n})\n","import { computed } from 'vue'\n\nexport const useRatioProps = {\n ratio: [ String, Number ]\n}\n\nexport default function (props, naturalRatio) {\n // return ratioStyle\n return computed(() => {\n const ratio = Number(\n props.ratio || (naturalRatio !== void 0 ? naturalRatio.value : void 0)\n )\n\n return isNaN(ratio) !== true && ratio > 0\n ? { paddingBottom: `${ 100 / ratio }%` }\n : null\n })\n}\n","import { h, ref, computed, watch, onMounted, onBeforeUnmount, Transition } from 'vue'\n\nimport QSpinner from '../spinner/QSpinner.js'\n\nimport useRatio, { useRatioProps } from '../../composables/private/use-ratio.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\n\nconst defaultRatio = 16 / 9\n\nexport default createComponent({\n name: 'QImg',\n\n props: {\n ...useRatioProps,\n\n src: String,\n srcset: String,\n sizes: String,\n\n alt: String,\n crossorigin: String,\n decoding: String,\n referrerpolicy: String,\n\n draggable: Boolean,\n\n loading: {\n type: String,\n default: 'lazy'\n },\n fetchpriority: {\n type: String,\n default: 'auto'\n },\n width: String,\n height: String,\n initialRatio: {\n type: [ Number, String ],\n default: defaultRatio\n },\n\n placeholderSrc: String,\n\n fit: {\n type: String,\n default: 'cover'\n },\n position: {\n type: String,\n default: '50% 50%'\n },\n\n imgClass: String,\n imgStyle: Object,\n\n noSpinner: Boolean,\n noNativeMenu: Boolean,\n noTransition: Boolean,\n\n spinnerColor: String,\n spinnerSize: String\n },\n\n emits: [ 'load', 'error' ],\n\n setup (props, { slots, emit }) {\n const naturalRatio = ref(props.initialRatio)\n const ratioStyle = useRatio(props, naturalRatio)\n\n let loadTimer = null, isDestroyed = false\n\n const images = [\n ref(null),\n ref(getPlaceholderSrc())\n ]\n\n const position = ref(0)\n\n const isLoading = ref(false)\n const hasError = ref(false)\n\n const classes = computed(() =>\n `q-img q-img--${ props.noNativeMenu === true ? 'no-' : '' }menu`\n )\n\n const style = computed(() => ({\n width: props.width,\n height: props.height\n }))\n\n const imgClass = computed(() =>\n `q-img__image ${ props.imgClass !== void 0 ? props.imgClass + ' ' : '' }`\n + `q-img__image--with${ props.noTransition === true ? 'out' : '' }-transition`\n )\n\n const imgStyle = computed(() => ({\n ...props.imgStyle,\n objectFit: props.fit,\n objectPosition: props.position\n }))\n\n watch(() => getCurrentSrc(), addImage)\n\n function getCurrentSrc () {\n return props.src || props.srcset || props.sizes\n ? {\n src: props.src,\n srcset: props.srcset,\n sizes: props.sizes\n }\n : null\n }\n\n function getPlaceholderSrc () {\n return props.placeholderSrc !== void 0\n ? { src: props.placeholderSrc }\n : null\n }\n\n function addImage (imgProps) {\n if (loadTimer !== null) {\n clearTimeout(loadTimer)\n loadTimer = null\n }\n\n hasError.value = false\n\n if (imgProps === null) {\n isLoading.value = false\n images[ position.value ^ 1 ].value = getPlaceholderSrc()\n }\n else {\n isLoading.value = true\n }\n\n images[ position.value ].value = imgProps\n }\n\n function onLoad ({ target }) {\n if (isDestroyed === true) { return }\n\n if (loadTimer !== null) {\n clearTimeout(loadTimer)\n loadTimer = null\n }\n\n naturalRatio.value = target.naturalHeight === 0\n ? 0.5\n : target.naturalWidth / target.naturalHeight\n\n waitForCompleteness(target, 1)\n }\n\n function waitForCompleteness (target, count) {\n // protect against running forever\n if (isDestroyed === true || count === 1000) { return }\n\n if (target.complete === true) {\n onReady(target)\n }\n else {\n loadTimer = setTimeout(() => {\n loadTimer = null\n waitForCompleteness(target, count + 1)\n }, 50)\n }\n }\n\n function onReady (img) {\n if (isDestroyed === true) { return }\n\n position.value = position.value ^ 1\n images[ position.value ].value = null\n isLoading.value = false\n hasError.value = false\n emit('load', img.currentSrc || img.src)\n }\n\n function onError (err) {\n if (loadTimer !== null) {\n clearTimeout(loadTimer)\n loadTimer = null\n }\n\n isLoading.value = false\n hasError.value = true\n images[ position.value ].value = null\n images[ position.value ^ 1 ].value = getPlaceholderSrc()\n emit('error', err)\n }\n\n function getImage (index) {\n const img = images[ index ].value\n\n const data = {\n key: 'img_' + index,\n class: imgClass.value,\n style: imgStyle.value,\n crossorigin: props.crossorigin,\n decoding: props.decoding,\n referrerpolicy: props.referrerpolicy,\n height: props.height,\n width: props.width,\n loading: props.loading,\n fetchpriority: props.fetchpriority,\n 'aria-hidden': 'true',\n draggable: props.draggable,\n ...img\n }\n\n if (position.value === index) {\n data.class += ' q-img__image--waiting'\n Object.assign(data, { onLoad, onError })\n }\n else {\n data.class += ' q-img__image--loaded'\n }\n\n return h(\n 'div',\n { class: 'q-img__container absolute-full', key: 'img' + index },\n h('img', data)\n )\n }\n\n function getContent () {\n if (isLoading.value !== true) {\n return h('div', {\n key: 'content',\n class: 'q-img__content absolute-full q-anchor--skip'\n }, hSlot(slots[ hasError.value === true ? 'error' : 'default' ]))\n }\n\n return h('div', {\n key: 'loading',\n class: 'q-img__loading absolute-full flex flex-center'\n }, (\n slots.loading !== void 0\n ? slots.loading()\n : (\n props.noSpinner === true\n ? void 0\n : [\n h(QSpinner, {\n color: props.spinnerColor,\n size: props.spinnerSize\n })\n ]\n )\n ))\n }\n\n if (__QUASAR_SSR_SERVER__ !== true) {\n if (__QUASAR_SSR_CLIENT__) {\n onMounted(() => {\n addImage(getCurrentSrc())\n })\n }\n else {\n addImage(getCurrentSrc())\n }\n\n onBeforeUnmount(() => {\n isDestroyed = true\n\n if (loadTimer !== null) {\n clearTimeout(loadTimer)\n loadTimer = null\n }\n })\n }\n\n return () => {\n const content = []\n\n if (ratioStyle.value !== null) {\n content.push(\n h('div', { key: 'filler', style: ratioStyle.value })\n )\n }\n\n if (hasError.value !== true) {\n if (images[ 0 ].value !== null) {\n content.push(getImage(0))\n }\n\n if (images[ 1 ].value !== null) {\n content.push(getImage(1))\n }\n }\n\n content.push(\n h(Transition, { name: 'q-transition--fade' }, getContent)\n )\n\n return h('div', {\n class: classes.value,\n style: style.value,\n role: 'img',\n 'aria-label': props.alt\n }, content)\n }\n }\n})\n","import { ref, watch, nextTick } from 'vue'\n\nimport { shouldIgnoreKey } from '../../utils/private/key-composition.js'\n\n// leave NAMED_MASKS at top of file (code referenced from docs)\nconst NAMED_MASKS = {\n date: '####/##/##',\n datetime: '####/##/## ##:##',\n time: '##:##',\n fulltime: '##:##:##',\n phone: '(###) ### - ####',\n card: '#### #### #### ####'\n}\n\nconst TOKENS = {\n '#': { pattern: '[\\\\d]', negate: '[^\\\\d]' },\n\n S: { pattern: '[a-zA-Z]', negate: '[^a-zA-Z]' },\n N: { pattern: '[0-9a-zA-Z]', negate: '[^0-9a-zA-Z]' },\n\n A: { pattern: '[a-zA-Z]', negate: '[^a-zA-Z]', transform: v => v.toLocaleUpperCase() },\n a: { pattern: '[a-zA-Z]', negate: '[^a-zA-Z]', transform: v => v.toLocaleLowerCase() },\n\n X: { pattern: '[0-9a-zA-Z]', negate: '[^0-9a-zA-Z]', transform: v => v.toLocaleUpperCase() },\n x: { pattern: '[0-9a-zA-Z]', negate: '[^0-9a-zA-Z]', transform: v => v.toLocaleLowerCase() }\n}\n\nconst KEYS = Object.keys(TOKENS)\nKEYS.forEach(key => {\n TOKENS[ key ].regex = new RegExp(TOKENS[ key ].pattern)\n})\n\nconst\n tokenRegexMask = new RegExp('\\\\\\\\([^.*+?^${}()|([\\\\]])|([.*+?^${}()|[\\\\]])|([' + KEYS.join('') + '])|(.)', 'g'),\n escRegex = /[.*+?^${}()|[\\]\\\\]/g\n\nconst MARKER = String.fromCharCode(1)\n\nexport const useMaskProps = {\n mask: String,\n reverseFillMask: Boolean,\n fillMask: [ Boolean, String ],\n unmaskedValue: Boolean\n}\n\nexport default function (props, emit, emitValue, inputRef) {\n let maskMarked, maskReplaced, computedMask, computedUnmask, pastedTextStart, selectionAnchor\n\n const hasMask = ref(null)\n const innerValue = ref(getInitialMaskedValue())\n\n function getIsTypeText () {\n return props.autogrow === true\n || [ 'textarea', 'text', 'search', 'url', 'tel', 'password' ].includes(props.type)\n }\n\n watch(() => props.type + props.autogrow, updateMaskInternals)\n\n watch(() => props.mask, v => {\n if (v !== void 0) {\n updateMaskValue(innerValue.value, true)\n }\n else {\n const val = unmaskValue(innerValue.value)\n updateMaskInternals()\n props.modelValue !== val && emit('update:modelValue', val)\n }\n })\n\n watch(() => props.fillMask + props.reverseFillMask, () => {\n hasMask.value === true && updateMaskValue(innerValue.value, true)\n })\n\n watch(() => props.unmaskedValue, () => {\n hasMask.value === true && updateMaskValue(innerValue.value)\n })\n\n function getInitialMaskedValue () {\n updateMaskInternals()\n\n if (hasMask.value === true) {\n const masked = maskValue(unmaskValue(props.modelValue))\n\n return props.fillMask !== false\n ? fillWithMask(masked)\n : masked\n }\n\n return props.modelValue\n }\n\n function getPaddedMaskMarked (size) {\n if (size < maskMarked.length) {\n return maskMarked.slice(-size)\n }\n\n let pad = '', localMaskMarked = maskMarked\n const padPos = localMaskMarked.indexOf(MARKER)\n\n if (padPos > -1) {\n for (let i = size - localMaskMarked.length; i > 0; i--) {\n pad += MARKER\n }\n\n localMaskMarked = localMaskMarked.slice(0, padPos) + pad + localMaskMarked.slice(padPos)\n }\n\n return localMaskMarked\n }\n\n function updateMaskInternals () {\n hasMask.value = props.mask !== void 0\n && props.mask.length !== 0\n && getIsTypeText()\n\n if (hasMask.value === false) {\n computedUnmask = void 0\n maskMarked = ''\n maskReplaced = ''\n return\n }\n\n const\n localComputedMask = NAMED_MASKS[ props.mask ] === void 0\n ? props.mask\n : NAMED_MASKS[ props.mask ],\n fillChar = typeof props.fillMask === 'string' && props.fillMask.length !== 0\n ? props.fillMask.slice(0, 1)\n : '_',\n fillCharEscaped = fillChar.replace(escRegex, '\\\\$&'),\n unmask = [],\n extract = [],\n mask = []\n\n let\n firstMatch = props.reverseFillMask === true,\n unmaskChar = '',\n negateChar = ''\n\n localComputedMask.replace(tokenRegexMask, (_, char1, esc, token, char2) => {\n if (token !== void 0) {\n const c = TOKENS[ token ]\n mask.push(c)\n negateChar = c.negate\n if (firstMatch === true) {\n extract.push('(?:' + negateChar + '+)?(' + c.pattern + '+)?(?:' + negateChar + '+)?(' + c.pattern + '+)?')\n firstMatch = false\n }\n extract.push('(?:' + negateChar + '+)?(' + c.pattern + ')?')\n }\n else if (esc !== void 0) {\n unmaskChar = '\\\\' + (esc === '\\\\' ? '' : esc)\n mask.push(esc)\n unmask.push('([^' + unmaskChar + ']+)?' + unmaskChar + '?')\n }\n else {\n const c = char1 !== void 0 ? char1 : char2\n unmaskChar = c === '\\\\' ? '\\\\\\\\\\\\\\\\' : c.replace(escRegex, '\\\\\\\\$&')\n mask.push(c)\n unmask.push('([^' + unmaskChar + ']+)?' + unmaskChar + '?')\n }\n })\n\n const\n unmaskMatcher = new RegExp(\n '^'\n + unmask.join('')\n + '(' + (unmaskChar === '' ? '.' : '[^' + unmaskChar + ']') + '+)?'\n + (unmaskChar === '' ? '' : '[' + unmaskChar + ']*') + '$'\n ),\n extractLast = extract.length - 1,\n extractMatcher = extract.map((re, index) => {\n if (index === 0 && props.reverseFillMask === true) {\n return new RegExp('^' + fillCharEscaped + '*' + re)\n }\n else if (index === extractLast) {\n return new RegExp(\n '^' + re\n + '(' + (negateChar === '' ? '.' : negateChar) + '+)?'\n + (props.reverseFillMask === true ? '$' : fillCharEscaped + '*')\n )\n }\n\n return new RegExp('^' + re)\n })\n\n computedMask = mask\n computedUnmask = val => {\n const unmaskMatch = unmaskMatcher.exec(props.reverseFillMask === true ? val : val.slice(0, mask.length + 1))\n if (unmaskMatch !== null) {\n val = unmaskMatch.slice(1).join('')\n }\n\n const\n extractMatch = [],\n extractMatcherLength = extractMatcher.length\n\n for (let i = 0, str = val; i < extractMatcherLength; i++) {\n const m = extractMatcher[ i ].exec(str)\n\n if (m === null) {\n break\n }\n\n str = str.slice(m.shift().length)\n extractMatch.push(...m)\n }\n if (extractMatch.length !== 0) {\n return extractMatch.join('')\n }\n\n return val\n }\n maskMarked = mask.map(v => (typeof v === 'string' ? v : MARKER)).join('')\n maskReplaced = maskMarked.split(MARKER).join(fillChar)\n }\n\n function updateMaskValue (rawVal, updateMaskInternalsFlag, inputType) {\n const\n inp = inputRef.value,\n end = inp.selectionEnd,\n endReverse = inp.value.length - end,\n unmasked = unmaskValue(rawVal)\n\n // Update here so unmask uses the original fillChar\n updateMaskInternalsFlag === true && updateMaskInternals()\n\n const\n preMasked = maskValue(unmasked),\n masked = props.fillMask !== false\n ? fillWithMask(preMasked)\n : preMasked,\n changed = innerValue.value !== masked\n\n // We want to avoid \"flickering\" so we set value immediately\n inp.value !== masked && (inp.value = masked)\n\n changed === true && (innerValue.value = masked)\n\n document.activeElement === inp && nextTick(() => {\n if (masked === maskReplaced) {\n const cursor = props.reverseFillMask === true ? maskReplaced.length : 0\n inp.setSelectionRange(cursor, cursor, 'forward')\n\n return\n }\n\n if (inputType === 'insertFromPaste' && props.reverseFillMask !== true) {\n const maxEnd = inp.selectionEnd\n let cursor = end - 1\n // each non-marker char means we move once to right\n for (let i = pastedTextStart; i <= cursor && i < maxEnd; i++) {\n if (maskMarked[ i ] !== MARKER) {\n cursor++\n }\n }\n moveCursor.right(inp, cursor)\n\n return\n }\n\n if ([ 'deleteContentBackward', 'deleteContentForward' ].indexOf(inputType) > -1) {\n const cursor = props.reverseFillMask === true\n ? (\n end === 0\n ? (masked.length > preMasked.length ? 1 : 0)\n : Math.max(0, masked.length - (masked === maskReplaced ? 0 : Math.min(preMasked.length, endReverse) + 1)) + 1\n )\n : end\n\n inp.setSelectionRange(cursor, cursor, 'forward')\n return\n }\n\n if (props.reverseFillMask === true) {\n if (changed === true) {\n const cursor = Math.max(0, masked.length - (masked === maskReplaced ? 0 : Math.min(preMasked.length, endReverse + 1)))\n\n if (cursor === 1 && end === 1) {\n inp.setSelectionRange(cursor, cursor, 'forward')\n }\n else {\n moveCursor.rightReverse(inp, cursor)\n }\n }\n else {\n const cursor = masked.length - endReverse\n inp.setSelectionRange(cursor, cursor, 'backward')\n }\n }\n else {\n if (changed === true) {\n const cursor = Math.max(0, maskMarked.indexOf(MARKER), Math.min(preMasked.length, end) - 1)\n moveCursor.right(inp, cursor)\n }\n else {\n const cursor = end - 1\n moveCursor.right(inp, cursor)\n }\n }\n })\n\n const val = props.unmaskedValue === true\n ? unmaskValue(masked)\n : masked\n\n if (\n String(props.modelValue) !== val\n && (props.modelValue !== null || val !== '')\n ) {\n emitValue(val, true)\n }\n }\n\n function moveCursorForPaste (inp, start, end) {\n const preMasked = maskValue(unmaskValue(inp.value))\n\n start = Math.max(0, maskMarked.indexOf(MARKER), Math.min(preMasked.length, start))\n pastedTextStart = start\n\n inp.setSelectionRange(start, end, 'forward')\n }\n\n const moveCursor = {\n left (inp, cursor) {\n const noMarkBefore = maskMarked.slice(cursor - 1).indexOf(MARKER) === -1\n let i = Math.max(0, cursor - 1)\n\n for (; i >= 0; i--) {\n if (maskMarked[ i ] === MARKER) {\n cursor = i\n noMarkBefore === true && cursor++\n break\n }\n }\n\n if (\n i < 0\n && maskMarked[ cursor ] !== void 0\n && maskMarked[ cursor ] !== MARKER\n ) {\n return moveCursor.right(inp, 0)\n }\n\n cursor >= 0 && inp.setSelectionRange(cursor, cursor, 'backward')\n },\n\n right (inp, cursor) {\n const limit = inp.value.length\n let i = Math.min(limit, cursor + 1)\n\n for (; i <= limit; i++) {\n if (maskMarked[ i ] === MARKER) {\n cursor = i\n break\n }\n else if (maskMarked[ i - 1 ] === MARKER) {\n cursor = i\n }\n }\n\n if (\n i > limit\n && maskMarked[ cursor - 1 ] !== void 0\n && maskMarked[ cursor - 1 ] !== MARKER\n ) {\n return moveCursor.left(inp, limit)\n }\n\n inp.setSelectionRange(cursor, cursor, 'forward')\n },\n\n leftReverse (inp, cursor) {\n const\n localMaskMarked = getPaddedMaskMarked(inp.value.length)\n let i = Math.max(0, cursor - 1)\n\n for (; i >= 0; i--) {\n if (localMaskMarked[ i - 1 ] === MARKER) {\n cursor = i\n break\n }\n else if (localMaskMarked[ i ] === MARKER) {\n cursor = i\n if (i === 0) {\n break\n }\n }\n }\n\n if (\n i < 0\n && localMaskMarked[ cursor ] !== void 0\n && localMaskMarked[ cursor ] !== MARKER\n ) {\n return moveCursor.rightReverse(inp, 0)\n }\n\n cursor >= 0 && inp.setSelectionRange(cursor, cursor, 'backward')\n },\n\n rightReverse (inp, cursor) {\n const\n limit = inp.value.length,\n localMaskMarked = getPaddedMaskMarked(limit),\n noMarkBefore = localMaskMarked.slice(0, cursor + 1).indexOf(MARKER) === -1\n let i = Math.min(limit, cursor + 1)\n\n for (; i <= limit; i++) {\n if (localMaskMarked[ i - 1 ] === MARKER) {\n cursor = i\n cursor > 0 && noMarkBefore === true && cursor--\n break\n }\n }\n\n if (\n i > limit\n && localMaskMarked[ cursor - 1 ] !== void 0\n && localMaskMarked[ cursor - 1 ] !== MARKER\n ) {\n return moveCursor.leftReverse(inp, limit)\n }\n\n inp.setSelectionRange(cursor, cursor, 'forward')\n }\n }\n\n function onMaskedClick (e) {\n emit('click', e)\n\n selectionAnchor = void 0\n }\n\n function onMaskedKeydown (e) {\n emit('keydown', e)\n\n if (\n shouldIgnoreKey(e) === true\n || e.altKey === true // let browser handle these\n ) {\n return\n }\n\n const\n inp = inputRef.value,\n start = inp.selectionStart,\n end = inp.selectionEnd\n\n if (!e.shiftKey) {\n selectionAnchor = void 0\n }\n\n if (e.keyCode === 37 || e.keyCode === 39) { // Left / Right\n if (e.shiftKey && selectionAnchor === void 0) {\n selectionAnchor = inp.selectionDirection === 'forward' ? start : end\n }\n\n const fn = moveCursor[ (e.keyCode === 39 ? 'right' : 'left') + (props.reverseFillMask === true ? 'Reverse' : '') ]\n\n e.preventDefault()\n fn(inp, selectionAnchor === start ? end : start)\n\n if (e.shiftKey) {\n const cursor = inp.selectionStart\n inp.setSelectionRange(Math.min(selectionAnchor, cursor), Math.max(selectionAnchor, cursor), 'forward')\n }\n }\n else if (\n e.keyCode === 8 // Backspace\n && props.reverseFillMask !== true\n && start === end\n ) {\n moveCursor.left(inp, start)\n inp.setSelectionRange(inp.selectionStart, end, 'backward')\n }\n else if (\n e.keyCode === 46 // Delete\n && props.reverseFillMask === true\n && start === end\n ) {\n moveCursor.rightReverse(inp, end)\n inp.setSelectionRange(start, inp.selectionEnd, 'forward')\n }\n }\n\n function maskValue (val) {\n if (val === void 0 || val === null || val === '') { return '' }\n\n if (props.reverseFillMask === true) {\n return maskValueReverse(val)\n }\n\n const mask = computedMask\n\n let valIndex = 0, output = ''\n\n for (let maskIndex = 0; maskIndex < mask.length; maskIndex++) {\n const\n valChar = val[ valIndex ],\n maskDef = mask[ maskIndex ]\n\n if (typeof maskDef === 'string') {\n output += maskDef\n valChar === maskDef && valIndex++\n }\n else if (valChar !== void 0 && maskDef.regex.test(valChar)) {\n output += maskDef.transform !== void 0\n ? maskDef.transform(valChar)\n : valChar\n valIndex++\n }\n else {\n return output\n }\n }\n\n return output\n }\n\n function maskValueReverse (val) {\n const\n mask = computedMask,\n firstTokenIndex = maskMarked.indexOf(MARKER)\n\n let valIndex = val.length - 1, output = ''\n\n for (let maskIndex = mask.length - 1; maskIndex >= 0 && valIndex > -1; maskIndex--) {\n const maskDef = mask[ maskIndex ]\n\n let valChar = val[ valIndex ]\n\n if (typeof maskDef === 'string') {\n output = maskDef + output\n valChar === maskDef && valIndex--\n }\n else if (valChar !== void 0 && maskDef.regex.test(valChar)) {\n do {\n output = (maskDef.transform !== void 0 ? maskDef.transform(valChar) : valChar) + output\n valIndex--\n valChar = val[ valIndex ]\n // eslint-disable-next-line no-unmodified-loop-condition\n } while (firstTokenIndex === maskIndex && valChar !== void 0 && maskDef.regex.test(valChar))\n }\n else {\n return output\n }\n }\n\n return output\n }\n\n function unmaskValue (val) {\n return typeof val !== 'string' || computedUnmask === void 0\n ? (typeof val === 'number' ? computedUnmask('' + val) : val)\n : computedUnmask(val)\n }\n\n function fillWithMask (val) {\n if (maskReplaced.length - val.length <= 0) {\n return val\n }\n\n return props.reverseFillMask === true && val.length !== 0\n ? maskReplaced.slice(0, -val.length) + val\n : val + maskReplaced.slice(val.length)\n }\n\n return {\n innerValue,\n hasMask,\n moveCursorForPaste,\n updateMaskValue,\n onMaskedKeydown,\n onMaskedClick\n }\n}\n","import { h, ref, computed, watch, onBeforeUnmount, onMounted, nextTick, getCurrentInstance } from 'vue'\n\nimport useField, { useFieldState, useFieldProps, useFieldEmits, fieldValueIsFilled } from '../../composables/private/use-field.js'\nimport useMask, { useMaskProps } from './use-mask.js'\nimport { useFormProps, useFormInputNameAttr } from '../../composables/private/use-form.js'\nimport useFileFormDomProps from '../../composables/private/use-file-dom-props.js'\nimport useKeyComposition from '../../composables/private/use-key-composition.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { stop } from '../../utils/event.js'\nimport { addFocusFn } from '../../utils/private/focus-manager.js'\nimport { injectProp } from '../../utils/private/inject-obj-prop.js'\n\nexport default createComponent({\n name: 'QInput',\n\n inheritAttrs: false,\n\n props: {\n ...useFieldProps,\n ...useMaskProps,\n ...useFormProps,\n\n modelValue: { required: false },\n\n shadowText: String,\n\n type: {\n type: String,\n default: 'text'\n },\n\n debounce: [ String, Number ],\n\n autogrow: Boolean, // makes a textarea\n\n inputClass: [ Array, String, Object ],\n inputStyle: [ Array, String, Object ]\n },\n\n emits: [\n ...useFieldEmits,\n 'paste', 'change',\n 'keydown', 'click', 'animationend'\n ],\n\n setup (props, { emit, attrs }) {\n const { proxy } = getCurrentInstance()\n const { $q } = proxy\n\n const temp = {}\n let emitCachedValue = NaN, typedNumber, stopValueWatcher, emitTimer = null, emitValueFn\n\n const inputRef = ref(null)\n const nameProp = useFormInputNameAttr(props)\n\n const {\n innerValue,\n hasMask,\n moveCursorForPaste,\n updateMaskValue,\n onMaskedKeydown,\n onMaskedClick\n } = useMask(props, emit, emitValue, inputRef)\n\n const formDomProps = useFileFormDomProps(props, /* type guard */ true)\n const hasValue = computed(() => fieldValueIsFilled(innerValue.value))\n\n const onComposition = useKeyComposition(onInput)\n\n const state = useFieldState()\n\n const isTextarea = computed(() =>\n props.type === 'textarea' || props.autogrow === true\n )\n\n const isTypeText = computed(() =>\n isTextarea.value === true\n || [ 'text', 'search', 'url', 'tel', 'password' ].includes(props.type)\n )\n\n const onEvents = computed(() => {\n const evt = {\n ...state.splitAttrs.listeners.value,\n onInput,\n onPaste,\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n onChange,\n onBlur: onFinishEditing,\n onFocus: stop\n }\n\n evt.onCompositionstart = evt.onCompositionupdate = evt.onCompositionend = onComposition\n\n if (hasMask.value === true) {\n evt.onKeydown = onMaskedKeydown\n // reset selection anchor on pointer selection\n evt.onClick = onMaskedClick\n }\n\n if (props.autogrow === true) {\n evt.onAnimationend = onAnimationend\n }\n\n return evt\n })\n\n const inputAttrs = computed(() => {\n const attrs = {\n tabindex: 0,\n 'data-autofocus': props.autofocus === true || void 0,\n rows: props.type === 'textarea' ? 6 : void 0,\n 'aria-label': props.label,\n name: nameProp.value,\n ...state.splitAttrs.attributes.value,\n id: state.targetUid.value,\n maxlength: props.maxlength,\n disabled: props.disable === true,\n readonly: props.readonly === true\n }\n\n if (isTextarea.value === false) {\n attrs.type = props.type\n }\n\n if (props.autogrow === true) {\n attrs.rows = 1\n }\n\n return attrs\n })\n\n // some browsers lose the native input value\n // so we need to reattach it dynamically\n // (like type=\"password\" <-> type=\"text\"; see #12078)\n watch(() => props.type, () => {\n if (inputRef.value) {\n inputRef.value.value = props.modelValue\n }\n })\n\n watch(() => props.modelValue, v => {\n if (hasMask.value === true) {\n if (stopValueWatcher === true) {\n stopValueWatcher = false\n\n if (String(v) === emitCachedValue) {\n return\n }\n }\n\n updateMaskValue(v)\n }\n else if (innerValue.value !== v) {\n innerValue.value = v\n\n if (\n props.type === 'number'\n && temp.hasOwnProperty('value') === true\n ) {\n if (typedNumber === true) {\n typedNumber = false\n }\n else {\n delete temp.value\n }\n }\n }\n\n // textarea only\n props.autogrow === true && nextTick(adjustHeight)\n })\n\n watch(() => props.autogrow, val => {\n // textarea only\n if (val === true) {\n nextTick(adjustHeight)\n }\n // if it has a number of rows set respect it\n else if (inputRef.value !== null && attrs.rows > 0) {\n inputRef.value.style.height = 'auto'\n }\n })\n\n watch(() => props.dense, () => {\n props.autogrow === true && nextTick(adjustHeight)\n })\n\n function focus () {\n addFocusFn(() => {\n const el = document.activeElement\n if (\n inputRef.value !== null\n && inputRef.value !== el\n && (el === null || el.id !== state.targetUid.value)\n ) {\n inputRef.value.focus({ preventScroll: true })\n }\n })\n }\n\n function select () {\n inputRef.value !== null && inputRef.value.select()\n }\n\n function onPaste (e) {\n if (hasMask.value === true && props.reverseFillMask !== true) {\n const inp = e.target\n moveCursorForPaste(inp, inp.selectionStart, inp.selectionEnd)\n }\n\n emit('paste', e)\n }\n\n function onInput (e) {\n if (!e || !e.target) {\n return\n }\n\n if (props.type === 'file') {\n emit('update:modelValue', e.target.files)\n return\n }\n\n const val = e.target.value\n\n if (e.target.qComposing === true) {\n temp.value = val\n\n return\n }\n\n if (hasMask.value === true) {\n updateMaskValue(val, false, e.inputType)\n }\n else {\n emitValue(val)\n\n if (isTypeText.value === true && e.target === document.activeElement) {\n const { selectionStart, selectionEnd } = e.target\n\n if (selectionStart !== void 0 && selectionEnd !== void 0) {\n nextTick(() => {\n if (e.target === document.activeElement && val.indexOf(e.target.value) === 0) {\n e.target.setSelectionRange(selectionStart, selectionEnd)\n }\n })\n }\n }\n }\n\n // we need to trigger it immediately too,\n // to avoid \"flickering\"\n props.autogrow === true && adjustHeight()\n }\n\n function onAnimationend (e) {\n emit('animationend', e)\n adjustHeight()\n }\n\n function emitValue (val, stopWatcher) {\n emitValueFn = () => {\n emitTimer = null\n\n if (\n props.type !== 'number'\n && temp.hasOwnProperty('value') === true\n ) {\n delete temp.value\n }\n\n if (props.modelValue !== val && emitCachedValue !== val) {\n emitCachedValue = val\n\n stopWatcher === true && (stopValueWatcher = true)\n emit('update:modelValue', val)\n\n nextTick(() => {\n emitCachedValue === val && (emitCachedValue = NaN)\n })\n }\n\n emitValueFn = void 0\n }\n\n if (props.type === 'number') {\n typedNumber = true\n temp.value = val\n }\n\n if (props.debounce !== void 0) {\n emitTimer !== null && clearTimeout(emitTimer)\n temp.value = val\n emitTimer = setTimeout(emitValueFn, props.debounce)\n }\n else {\n emitValueFn()\n }\n }\n\n // textarea only\n function adjustHeight () {\n requestAnimationFrame(() => {\n const inp = inputRef.value\n if (inp !== null) {\n const parentStyle = inp.parentNode.style\n // chrome does not keep scroll #15498\n const { scrollTop } = inp\n // chrome calculates a smaller scrollHeight when in a .column container\n const { overflowY, maxHeight } = $q.platform.is.firefox === true\n ? {}\n : window.getComputedStyle(inp)\n // on firefox or if overflowY is specified as scroll #14263, #14344\n // we don't touch overflow\n // firefox is not so bad in the end\n const changeOverflow = overflowY !== void 0 && overflowY !== 'scroll'\n\n // reset height of textarea to a small size to detect the real height\n // but keep the total control size the same\n changeOverflow === true && (inp.style.overflowY = 'hidden')\n parentStyle.marginBottom = (inp.scrollHeight - 1) + 'px'\n inp.style.height = '1px'\n\n inp.style.height = inp.scrollHeight + 'px'\n // we should allow scrollbars only\n // if there is maxHeight and content is taller than maxHeight\n changeOverflow === true && (inp.style.overflowY = parseInt(maxHeight, 10) < inp.scrollHeight ? 'auto' : 'hidden')\n parentStyle.marginBottom = ''\n inp.scrollTop = scrollTop\n }\n })\n }\n\n function onChange (e) {\n onComposition(e)\n\n if (emitTimer !== null) {\n clearTimeout(emitTimer)\n emitTimer = null\n }\n\n emitValueFn !== void 0 && emitValueFn()\n\n emit('change', e.target.value)\n }\n\n function onFinishEditing (e) {\n e !== void 0 && stop(e)\n\n if (emitTimer !== null) {\n clearTimeout(emitTimer)\n emitTimer = null\n }\n\n emitValueFn !== void 0 && emitValueFn()\n\n typedNumber = false\n stopValueWatcher = false\n delete temp.value\n\n // we need to use setTimeout instead of this.$nextTick\n // to avoid a bug where focusout is not emitted for type date/time/week/...\n props.type !== 'file' && setTimeout(() => {\n if (inputRef.value !== null) {\n inputRef.value.value = innerValue.value !== void 0 ? innerValue.value : ''\n }\n })\n }\n\n function getCurValue () {\n return temp.hasOwnProperty('value') === true\n ? temp.value\n : (innerValue.value !== void 0 ? innerValue.value : '')\n }\n\n onBeforeUnmount(() => {\n onFinishEditing()\n })\n\n onMounted(() => {\n // textarea only\n props.autogrow === true && adjustHeight()\n })\n\n Object.assign(state, {\n innerValue,\n\n fieldClass: computed(() =>\n `q-${ isTextarea.value === true ? 'textarea' : 'input' }`\n + (props.autogrow === true ? ' q-textarea--autogrow' : '')\n ),\n\n hasShadow: computed(() =>\n props.type !== 'file'\n && typeof props.shadowText === 'string'\n && props.shadowText.length !== 0\n ),\n\n inputRef,\n\n emitValue,\n\n hasValue,\n\n floatingLabel: computed(() =>\n (\n hasValue.value === true\n && (props.type !== 'number' || isNaN(innerValue.value) === false)\n )\n || fieldValueIsFilled(props.displayValue)\n ),\n\n getControl: () => {\n return h(isTextarea.value === true ? 'textarea' : 'input', {\n ref: inputRef,\n class: [\n 'q-field__native q-placeholder',\n props.inputClass\n ],\n style: props.inputStyle,\n ...inputAttrs.value,\n ...onEvents.value,\n ...(\n props.type !== 'file'\n ? { value: getCurValue() }\n : formDomProps.value\n )\n })\n },\n\n getShadowControl: () => {\n return h('div', {\n class: 'q-field__native q-field__shadow absolute-bottom no-pointer-events'\n + (isTextarea.value === true ? '' : ' text-no-wrap')\n }, [\n h('span', { class: 'invisible' }, getCurValue()),\n h('span', props.shadowText)\n ])\n }\n })\n\n const renderFn = useField(state)\n\n // expose public methods\n Object.assign(proxy, {\n focus,\n select,\n getNativeElement: () => inputRef.value // deprecated\n })\n\n injectProp(proxy, 'nativeEl', () => inputRef.value)\n\n return renderFn\n }\n})\n","import { h, ref, computed, getCurrentInstance } from 'vue'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport useRouterLink, { useRouterLinkProps } from '../../composables/private/use-router-link.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hUniqueSlot } from '../../utils/private/render.js'\nimport { stopAndPrevent } from '../../utils/event.js'\nimport { isKeyCode } from '../../utils/private/key-composition.js'\n\nexport default createComponent({\n name: 'QItem',\n\n props: {\n ...useDarkProps,\n ...useRouterLinkProps,\n\n tag: {\n type: String,\n default: 'div'\n },\n\n active: {\n type: Boolean,\n default: null\n },\n\n clickable: Boolean,\n dense: Boolean,\n insetLevel: Number,\n\n tabindex: [ String, Number ],\n\n focused: Boolean,\n manualFocus: Boolean\n },\n\n emits: [ 'click', 'keyup' ],\n\n setup (props, { slots, emit }) {\n const { proxy: { $q } } = getCurrentInstance()\n\n const isDark = useDark(props, $q)\n const { hasLink, linkAttrs, linkClass, linkTag, navigateOnClick } = useRouterLink()\n\n const rootRef = ref(null)\n const blurTargetRef = ref(null)\n\n const isActionable = computed(() =>\n props.clickable === true\n || hasLink.value === true\n || props.tag === 'label'\n )\n\n const isClickable = computed(() =>\n props.disable !== true && isActionable.value === true\n )\n\n const classes = computed(() =>\n 'q-item q-item-type row no-wrap'\n + (props.dense === true ? ' q-item--dense' : '')\n + (isDark.value === true ? ' q-item--dark' : '')\n + (\n hasLink.value === true && props.active === null\n ? linkClass.value\n : (\n props.active === true\n ? ` q-item--active${ props.activeClass !== void 0 ? ` ${ props.activeClass }` : '' }`\n : ''\n )\n )\n + (props.disable === true ? ' disabled' : '')\n + (\n isClickable.value === true\n ? ' q-item--clickable q-link cursor-pointer '\n + (props.manualFocus === true ? 'q-manual-focusable' : 'q-focusable q-hoverable')\n + (props.focused === true ? ' q-manual-focusable--focused' : '')\n : ''\n )\n )\n\n const style = computed(() => {\n if (props.insetLevel === void 0) {\n return null\n }\n\n const dir = $q.lang.rtl === true ? 'Right' : 'Left'\n return {\n [ 'padding' + dir ]: (16 + props.insetLevel * 56) + 'px'\n }\n })\n\n function onClick (e) {\n if (isClickable.value === true) {\n if (blurTargetRef.value !== null) {\n if (e.qKeyEvent !== true && document.activeElement === rootRef.value) {\n blurTargetRef.value.focus()\n }\n else if (document.activeElement === blurTargetRef.value) {\n rootRef.value.focus()\n }\n }\n\n navigateOnClick(e)\n }\n }\n\n function onKeyup (e) {\n if (isClickable.value === true && isKeyCode(e, [ 13, 32 ]) === true) {\n stopAndPrevent(e)\n\n // for ripple\n e.qKeyEvent = true\n\n // for click trigger\n const evt = new MouseEvent('click', e)\n evt.qKeyEvent = true\n rootRef.value.dispatchEvent(evt)\n }\n\n emit('keyup', e)\n }\n\n function getContent () {\n const child = hUniqueSlot(slots.default, [])\n\n isClickable.value === true && child.unshift(\n h('div', { class: 'q-focus-helper', tabindex: -1, ref: blurTargetRef })\n )\n\n return child\n }\n\n return () => {\n const data = {\n ref: rootRef,\n class: classes.value,\n style: style.value,\n role: 'listitem',\n onClick,\n onKeyup\n }\n\n if (isClickable.value === true) {\n data.tabindex = props.tabindex || '0'\n Object.assign(data, linkAttrs.value)\n }\n else if (isActionable.value === true) {\n data[ 'aria-disabled' ] = 'true'\n }\n\n return h(\n linkTag.value,\n data,\n getContent()\n )\n }\n }\n})\n","import { h, computed } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\n\nexport default createComponent({\n name: 'QItemSection',\n\n props: {\n avatar: Boolean,\n thumbnail: Boolean,\n side: Boolean,\n top: Boolean,\n noWrap: Boolean\n },\n\n setup (props, { slots }) {\n const classes = computed(() =>\n 'q-item__section column'\n + ` q-item__section--${ props.avatar === true || props.side === true || props.thumbnail === true ? 'side' : 'main' }`\n + (props.top === true ? ' q-item__section--top justify-start' : ' justify-center')\n + (props.avatar === true ? ' q-item__section--avatar' : '')\n + (props.thumbnail === true ? ' q-item__section--thumbnail' : '')\n + (props.noWrap === true ? ' q-item__section--nowrap' : '')\n )\n\n return () => h('div', { class: classes.value }, hSlot(slots.default))\n }\n})\n","import { h, computed, getCurrentInstance } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport { hSlot } from '../../utils/private/render.js'\n\nexport default createComponent({\n name: 'QList',\n\n props: {\n ...useDarkProps,\n\n bordered: Boolean,\n dense: Boolean,\n separator: Boolean,\n padding: Boolean,\n\n tag: {\n type: String,\n default: 'div'\n }\n },\n\n setup (props, { slots }) {\n const vm = getCurrentInstance()\n const isDark = useDark(props, vm.proxy.$q)\n\n const classes = computed(() =>\n 'q-list'\n + (props.bordered === true ? ' q-list--bordered' : '')\n + (props.dense === true ? ' q-list--dense' : '')\n + (props.separator === true ? ' q-list--separator' : '')\n + (isDark.value === true ? ' q-list--dark' : '')\n + (props.padding === true ? ' q-list--padding' : '')\n )\n\n return () => h(props.tag, { class: classes.value }, hSlot(slots.default))\n }\n})\n","import { watch, onMounted, onBeforeUnmount, getCurrentInstance } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { getScrollTarget, getVerticalScrollPosition, getHorizontalScrollPosition } from '../../utils/scroll.js'\nimport { listenOpts, noop } from '../../utils/event.js'\n\nconst { passive } = listenOpts\nconst axisValues = [ 'both', 'horizontal', 'vertical' ]\n\nexport default createComponent({\n name: 'QScrollObserver',\n\n props: {\n axis: {\n type: String,\n validator: v => axisValues.includes(v),\n default: 'vertical'\n },\n\n debounce: [ String, Number ],\n\n scrollTarget: {\n default: void 0\n }\n },\n\n emits: [ 'scroll' ],\n\n setup (props, { emit }) {\n const scroll = {\n position: {\n top: 0,\n left: 0\n },\n\n direction: 'down',\n directionChanged: false,\n\n delta: {\n top: 0,\n left: 0\n },\n\n inflectionPoint: {\n top: 0,\n left: 0\n }\n }\n\n let clearTimer = null, localScrollTarget, parentEl\n\n watch(() => props.scrollTarget, () => {\n unconfigureScrollTarget()\n configureScrollTarget()\n })\n\n function emitEvent () {\n clearTimer !== null && clearTimer()\n\n const top = Math.max(0, getVerticalScrollPosition(localScrollTarget))\n const left = getHorizontalScrollPosition(localScrollTarget)\n\n const delta = {\n top: top - scroll.position.top,\n left: left - scroll.position.left\n }\n\n if (\n (props.axis === 'vertical' && delta.top === 0)\n || (props.axis === 'horizontal' && delta.left === 0)\n ) {\n return\n }\n\n const curDir = Math.abs(delta.top) >= Math.abs(delta.left)\n ? (delta.top < 0 ? 'up' : 'down')\n : (delta.left < 0 ? 'left' : 'right')\n\n scroll.position = { top, left }\n scroll.directionChanged = scroll.direction !== curDir\n scroll.delta = delta\n\n if (scroll.directionChanged === true) {\n scroll.direction = curDir\n scroll.inflectionPoint = scroll.position\n }\n\n emit('scroll', { ...scroll })\n }\n\n function configureScrollTarget () {\n localScrollTarget = getScrollTarget(parentEl, props.scrollTarget)\n localScrollTarget.addEventListener('scroll', trigger, passive)\n trigger(true)\n }\n\n function unconfigureScrollTarget () {\n if (localScrollTarget !== void 0) {\n localScrollTarget.removeEventListener('scroll', trigger, passive)\n localScrollTarget = void 0\n }\n }\n\n function trigger (immediately) {\n if (immediately === true || props.debounce === 0 || props.debounce === '0') {\n emitEvent()\n }\n else if (clearTimer === null) {\n const [ timer, fn ] = props.debounce\n ? [ setTimeout(emitEvent, props.debounce), clearTimeout ]\n : [ requestAnimationFrame(emitEvent), cancelAnimationFrame ]\n\n clearTimer = () => {\n fn(timer)\n clearTimer = null\n }\n }\n }\n\n const { proxy } = getCurrentInstance()\n\n watch(() => proxy.$q.lang.rtl, emitEvent)\n\n onMounted(() => {\n parentEl = proxy.$el.parentNode\n configureScrollTarget()\n })\n\n onBeforeUnmount(() => {\n clearTimer !== null && clearTimer()\n unconfigureScrollTarget()\n })\n\n // expose public methods\n Object.assign(proxy, {\n trigger,\n getPosition: () => scroll\n })\n\n return noop\n }\n})\n","import { h, ref, reactive, computed, watch, provide, onUnmounted, getCurrentInstance } from 'vue'\n\nimport { isRuntimeSsrPreHydration } from '../../plugins/Platform.js'\n\nimport QScrollObserver from '../scroll-observer/QScrollObserver.js'\nimport QResizeObserver from '../resize-observer/QResizeObserver.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { getScrollbarWidth } from '../../utils/scroll.js'\nimport { hMergeSlot } from '../../utils/private/render.js'\nimport { layoutKey } from '../../utils/private/symbols.js'\n\nexport default createComponent({\n name: 'QLayout',\n\n props: {\n container: Boolean,\n view: {\n type: String,\n default: 'hhh lpr fff',\n validator: v => /^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(v.toLowerCase())\n },\n\n onScroll: Function,\n onScrollHeight: Function,\n onResize: Function\n },\n\n setup (props, { slots, emit }) {\n const { proxy: { $q } } = getCurrentInstance()\n\n const rootRef = ref(null)\n\n // page related\n const height = ref($q.screen.height)\n const width = ref(props.container === true ? 0 : $q.screen.width)\n const scroll = ref({ position: 0, direction: 'down', inflectionPoint: 0 })\n\n // container only prop\n const containerHeight = ref(0)\n const scrollbarWidth = ref(isRuntimeSsrPreHydration.value === true ? 0 : getScrollbarWidth())\n\n const classes = computed(() =>\n 'q-layout q-layout--'\n + (props.container === true ? 'containerized' : 'standard')\n )\n\n const style = computed(() => (\n props.container === false\n ? { minHeight: $q.screen.height + 'px' }\n : null\n ))\n\n // used by container only\n const targetStyle = computed(() => (\n scrollbarWidth.value !== 0\n ? { [ $q.lang.rtl === true ? 'left' : 'right' ]: `${ scrollbarWidth.value }px` }\n : null\n ))\n\n const targetChildStyle = computed(() => (\n scrollbarWidth.value !== 0\n ? {\n [ $q.lang.rtl === true ? 'right' : 'left' ]: 0,\n [ $q.lang.rtl === true ? 'left' : 'right' ]: `-${ scrollbarWidth.value }px`,\n width: `calc(100% + ${ scrollbarWidth.value }px)`\n }\n : null\n ))\n\n function onPageScroll (data) {\n if (props.container === true || document.qScrollPrevented !== true) {\n const info = {\n position: data.position.top,\n direction: data.direction,\n directionChanged: data.directionChanged,\n inflectionPoint: data.inflectionPoint.top,\n delta: data.delta.top\n }\n\n scroll.value = info\n props.onScroll !== void 0 && emit('scroll', info)\n }\n }\n\n function onPageResize (data) {\n const { height: newHeight, width: newWidth } = data\n let resized = false\n\n if (height.value !== newHeight) {\n resized = true\n height.value = newHeight\n props.onScrollHeight !== void 0 && emit('scrollHeight', newHeight)\n updateScrollbarWidth()\n }\n if (width.value !== newWidth) {\n resized = true\n width.value = newWidth\n }\n\n if (resized === true && props.onResize !== void 0) {\n emit('resize', data)\n }\n }\n\n function onContainerResize ({ height }) {\n if (containerHeight.value !== height) {\n containerHeight.value = height\n updateScrollbarWidth()\n }\n }\n\n function updateScrollbarWidth () {\n if (props.container === true) {\n const width = height.value > containerHeight.value\n ? getScrollbarWidth()\n : 0\n\n if (scrollbarWidth.value !== width) {\n scrollbarWidth.value = width\n }\n }\n }\n\n let animateTimer = null\n\n const $layout = {\n instances: {},\n view: computed(() => props.view),\n isContainer: computed(() => props.container),\n\n rootRef,\n\n height,\n containerHeight,\n scrollbarWidth,\n totalWidth: computed(() => width.value + scrollbarWidth.value),\n\n rows: computed(() => {\n const rows = props.view.toLowerCase().split(' ')\n return {\n top: rows[ 0 ].split(''),\n middle: rows[ 1 ].split(''),\n bottom: rows[ 2 ].split('')\n }\n }),\n\n header: reactive({ size: 0, offset: 0, space: false }),\n right: reactive({ size: 300, offset: 0, space: false }),\n footer: reactive({ size: 0, offset: 0, space: false }),\n left: reactive({ size: 300, offset: 0, space: false }),\n\n scroll,\n\n animate () {\n if (animateTimer !== null) {\n clearTimeout(animateTimer)\n }\n else {\n document.body.classList.add('q-body--layout-animate')\n }\n\n animateTimer = setTimeout(() => {\n animateTimer = null\n document.body.classList.remove('q-body--layout-animate')\n }, 155)\n },\n\n update (part, prop, val) {\n $layout[ part ][ prop ] = val\n }\n }\n\n provide(layoutKey, $layout)\n\n // prevent scrollbar flicker while resizing window height\n // if no page scrollbar is already present\n if (__QUASAR_SSR_SERVER__ !== true && getScrollbarWidth() > 0) {\n let timer = null\n const el = document.body\n\n function restoreScrollbar () {\n timer = null\n el.classList.remove('hide-scrollbar')\n }\n\n function hideScrollbar () {\n if (timer === null) {\n // if it has no scrollbar then there's nothing to do\n\n if (el.scrollHeight > $q.screen.height) {\n return\n }\n\n el.classList.add('hide-scrollbar')\n }\n else {\n clearTimeout(timer)\n }\n\n timer = setTimeout(restoreScrollbar, 300)\n }\n\n function updateScrollEvent (action) {\n if (timer !== null && action === 'remove') {\n clearTimeout(timer)\n restoreScrollbar()\n }\n\n window[ `${ action }EventListener` ]('resize', hideScrollbar)\n }\n\n watch(\n () => (props.container !== true ? 'add' : 'remove'),\n updateScrollEvent\n )\n\n props.container !== true && updateScrollEvent('add')\n\n onUnmounted(() => {\n updateScrollEvent('remove')\n })\n }\n\n return () => {\n const content = hMergeSlot(slots.default, [\n h(QScrollObserver, { onScroll: onPageScroll }),\n h(QResizeObserver, { onResize: onPageResize })\n ])\n\n const layout = h('div', {\n class: classes.value,\n style: style.value,\n ref: props.container === true ? void 0 : rootRef,\n tabindex: -1\n }, content)\n\n if (props.container === true) {\n return h('div', {\n class: 'q-layout-container overflow-hidden',\n ref: rootRef\n }, [\n h(QResizeObserver, { onResize: onContainerResize }),\n h('div', {\n class: 'absolute-full',\n style: targetStyle.value\n }, [\n h('div', {\n class: 'scroll',\n style: targetChildStyle.value\n }, [ layout ])\n ])\n ])\n }\n\n return layout\n }\n }\n})\n","import { h, computed, getCurrentInstance } from 'vue'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport useSize, { useSizeProps } from '../../composables/private/use-size.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hMergeSlot } from '../../utils/private/render.js'\n\nconst defaultSizes = {\n xs: 2,\n sm: 4,\n md: 6,\n lg: 10,\n xl: 14\n}\n\nfunction width (val, reverse, $q) {\n return {\n transform: reverse === true\n ? `translateX(${ $q.lang.rtl === true ? '-' : '' }100%) scale3d(${ -val },1,1)`\n : `scale3d(${ val },1,1)`\n }\n}\n\nexport default createComponent({\n name: 'QLinearProgress',\n\n props: {\n ...useDarkProps,\n ...useSizeProps,\n\n value: {\n type: Number,\n default: 0\n },\n buffer: Number,\n\n color: String,\n trackColor: String,\n\n reverse: Boolean,\n stripe: Boolean,\n indeterminate: Boolean,\n query: Boolean,\n rounded: Boolean,\n\n animationSpeed: {\n type: [ String, Number ],\n default: 2100\n },\n\n instantFeedback: Boolean\n },\n\n setup (props, { slots }) {\n const { proxy } = getCurrentInstance()\n const isDark = useDark(props, proxy.$q)\n const sizeStyle = useSize(props, defaultSizes)\n\n const motion = computed(() => props.indeterminate === true || props.query === true)\n const widthReverse = computed(() => props.reverse !== props.query)\n const style = computed(() => ({\n ...(sizeStyle.value !== null ? sizeStyle.value : {}),\n '--q-linear-progress-speed': `${ props.animationSpeed }ms`\n }))\n\n const classes = computed(() =>\n 'q-linear-progress'\n + (props.color !== void 0 ? ` text-${ props.color }` : '')\n + (props.reverse === true || props.query === true ? ' q-linear-progress--reverse' : '')\n + (props.rounded === true ? ' rounded-borders' : '')\n )\n\n const trackStyle = computed(() => width(props.buffer !== void 0 ? props.buffer : 1, widthReverse.value, proxy.$q))\n const transitionSuffix = computed(() => `with${ props.instantFeedback === true ? 'out' : '' }-transition`)\n\n const trackClass = computed(() =>\n 'q-linear-progress__track absolute-full'\n + ` q-linear-progress__track--${ transitionSuffix.value }`\n + ` q-linear-progress__track--${ isDark.value === true ? 'dark' : 'light' }`\n + (props.trackColor !== void 0 ? ` bg-${ props.trackColor }` : '')\n )\n\n const modelStyle = computed(() => width(motion.value === true ? 1 : props.value, widthReverse.value, proxy.$q))\n const modelClass = computed(() =>\n 'q-linear-progress__model absolute-full'\n + ` q-linear-progress__model--${ transitionSuffix.value }`\n + ` q-linear-progress__model--${ motion.value === true ? 'in' : '' }determinate`\n )\n\n const stripeStyle = computed(() => ({ width: `${ props.value * 100 }%` }))\n const stripeClass = computed(() =>\n `q-linear-progress__stripe absolute-${ props.reverse === true ? 'right' : 'left' }`\n + ` q-linear-progress__stripe--${ transitionSuffix.value }`\n )\n\n return () => {\n const child = [\n h('div', {\n class: trackClass.value,\n style: trackStyle.value\n }),\n\n h('div', {\n class: modelClass.value,\n style: modelStyle.value\n })\n ]\n\n props.stripe === true && motion.value === false && child.push(\n h('div', {\n class: stripeClass.value,\n style: stripeStyle.value\n })\n )\n\n return h('div', {\n class: classes.value,\n style: style.value,\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 1,\n 'aria-valuenow': props.indeterminate === true\n ? void 0\n : props.value\n }, hMergeSlot(slots.default, child))\n }\n }\n})\n","import { ref, watch, onMounted, onBeforeUnmount, nextTick, getCurrentInstance } from 'vue'\n\nimport { clearSelection } from '../../utils/private/selection.js'\nimport { addEvt, cleanEvt, prevent } from '../../utils/event.js'\nimport { isKeyCode } from '../../utils/private/key-composition.js'\n\nexport const useAnchorProps = {\n target: {\n default: true\n },\n noParentEvent: Boolean,\n contextMenu: Boolean\n}\n\nexport default function ({\n showing,\n avoidEmit, // required for QPopupProxy (true)\n configureAnchorEl // optional\n}) {\n const { props, proxy, emit } = getCurrentInstance()\n\n const anchorEl = ref(null)\n\n let touchTimer = null\n\n function canShow (evt) {\n // abort with no parent configured or on multi-touch\n return anchorEl.value === null\n ? false\n : (evt === void 0 || evt.touches === void 0 || evt.touches.length <= 1)\n }\n\n const anchorEvents = {}\n\n if (configureAnchorEl === void 0) {\n // default configureAnchorEl is designed for\n // QMenu & QPopupProxy (which is why it's handled here)\n\n Object.assign(anchorEvents, {\n hide (evt) {\n proxy.hide(evt)\n },\n\n toggle (evt) {\n proxy.toggle(evt)\n evt.qAnchorHandled = true\n },\n\n toggleKey (evt) {\n isKeyCode(evt, 13) === true && anchorEvents.toggle(evt)\n },\n\n contextClick (evt) {\n proxy.hide(evt)\n prevent(evt)\n nextTick(() => {\n proxy.show(evt)\n evt.qAnchorHandled = true\n })\n },\n\n prevent,\n\n mobileTouch (evt) {\n anchorEvents.mobileCleanup(evt)\n\n if (canShow(evt) !== true) {\n return\n }\n\n proxy.hide(evt)\n anchorEl.value.classList.add('non-selectable')\n\n const target = evt.target\n addEvt(anchorEvents, 'anchor', [\n [ target, 'touchmove', 'mobileCleanup', 'passive' ],\n [ target, 'touchend', 'mobileCleanup', 'passive' ],\n [ target, 'touchcancel', 'mobileCleanup', 'passive' ],\n [ anchorEl.value, 'contextmenu', 'prevent', 'notPassive' ]\n ])\n\n touchTimer = setTimeout(() => {\n touchTimer = null\n proxy.show(evt)\n evt.qAnchorHandled = true\n }, 300)\n },\n\n mobileCleanup (evt) {\n anchorEl.value.classList.remove('non-selectable')\n\n if (touchTimer !== null) {\n clearTimeout(touchTimer)\n touchTimer = null\n }\n\n if (showing.value === true && evt !== void 0) {\n clearSelection()\n }\n }\n })\n\n configureAnchorEl = function (context = props.contextMenu) {\n if (props.noParentEvent === true || anchorEl.value === null) { return }\n\n let evts\n\n if (context === true) {\n if (proxy.$q.platform.is.mobile === true) {\n evts = [\n [ anchorEl.value, 'touchstart', 'mobileTouch', 'passive' ]\n ]\n }\n else {\n evts = [\n [ anchorEl.value, 'mousedown', 'hide', 'passive' ],\n [ anchorEl.value, 'contextmenu', 'contextClick', 'notPassive' ]\n ]\n }\n }\n else {\n evts = [\n [ anchorEl.value, 'click', 'toggle', 'passive' ],\n [ anchorEl.value, 'keyup', 'toggleKey', 'passive' ]\n ]\n }\n\n addEvt(anchorEvents, 'anchor', evts)\n }\n }\n\n function unconfigureAnchorEl () {\n cleanEvt(anchorEvents, 'anchor')\n }\n\n function setAnchorEl (el) {\n anchorEl.value = el\n while (anchorEl.value.classList.contains('q-anchor--skip')) {\n anchorEl.value = anchorEl.value.parentNode\n }\n configureAnchorEl()\n }\n\n function pickAnchorEl () {\n if (props.target === false || props.target === '' || proxy.$el.parentNode === null) {\n anchorEl.value = null\n }\n else if (props.target === true) {\n setAnchorEl(proxy.$el.parentNode)\n }\n else {\n let el = props.target\n\n if (typeof props.target === 'string') {\n try {\n el = document.querySelector(props.target)\n }\n catch (err) {\n el = void 0\n }\n }\n\n if (el !== void 0 && el !== null) {\n anchorEl.value = el.$el || el\n configureAnchorEl()\n }\n else {\n anchorEl.value = null\n console.error(`Anchor: target \"${ props.target }\" not found`)\n }\n }\n }\n\n watch(() => props.contextMenu, val => {\n if (anchorEl.value !== null) {\n unconfigureAnchorEl()\n configureAnchorEl(val)\n }\n })\n\n watch(() => props.target, () => {\n if (anchorEl.value !== null) {\n unconfigureAnchorEl()\n }\n\n pickAnchorEl()\n })\n\n watch(() => props.noParentEvent, val => {\n if (anchorEl.value !== null) {\n if (val === true) {\n unconfigureAnchorEl()\n }\n else {\n configureAnchorEl()\n }\n }\n })\n\n onMounted(() => {\n pickAnchorEl()\n\n if (avoidEmit !== true && props.modelValue === true && anchorEl.value === null) {\n emit('update:modelValue', false)\n }\n })\n\n onBeforeUnmount(() => {\n touchTimer !== null && clearTimeout(touchTimer)\n unconfigureAnchorEl()\n })\n\n return {\n anchorEl,\n canShow,\n anchorEvents\n }\n}\n","import { ref, watch, onBeforeUnmount } from 'vue'\n\nimport { listenOpts } from '../../utils/event.js'\n\nexport default function (\n props,\n configureScrollTarget\n) {\n const localScrollTarget = ref(null)\n let scrollFn\n\n function changeScrollEvent (scrollTarget, fn) {\n const fnProp = `${ fn !== void 0 ? 'add' : 'remove' }EventListener`\n const fnHandler = fn !== void 0 ? fn : scrollFn\n\n if (scrollTarget !== window) {\n scrollTarget[ fnProp ]('scroll', fnHandler, listenOpts.passive)\n }\n\n window[ fnProp ]('scroll', fnHandler, listenOpts.passive)\n\n scrollFn = fn\n }\n\n function unconfigureScrollTarget () {\n if (localScrollTarget.value !== null) {\n changeScrollEvent(localScrollTarget.value)\n localScrollTarget.value = null\n }\n }\n\n const noParentEventWatcher = watch(() => props.noParentEvent, () => {\n if (localScrollTarget.value !== null) {\n unconfigureScrollTarget()\n configureScrollTarget()\n }\n })\n\n onBeforeUnmount(noParentEventWatcher)\n\n return {\n localScrollTarget,\n unconfigureScrollTarget,\n changeScrollEvent\n }\n}\n","import { listenOpts } from '../event.js'\nimport { portalProxyList } from '../private/portal.js'\n\nlet timer = null\n\nconst\n { notPassiveCapture } = listenOpts,\n registeredList = []\n\nfunction globalHandler (evt) {\n if (timer !== null) {\n clearTimeout(timer)\n timer = null\n }\n\n const target = evt.target\n\n if (\n target === void 0\n || target.nodeType === 8\n || target.classList.contains('no-pointer-events') === true\n ) {\n return\n }\n\n // check last portal vm if it's\n // a QDialog and not in seamless mode\n let portalIndex = portalProxyList.length - 1\n\n while (portalIndex >= 0) {\n const proxy = portalProxyList[ portalIndex ].$\n\n // skip QTooltip portals\n if (proxy.type.name === 'QTooltip') {\n portalIndex--\n continue\n }\n\n if (proxy.type.name !== 'QDialog') {\n break\n }\n\n if (proxy.props.seamless !== true) {\n return\n }\n\n portalIndex--\n }\n\n for (let i = registeredList.length - 1; i >= 0; i--) {\n const state = registeredList[ i ]\n\n if (\n (\n state.anchorEl.value === null\n || state.anchorEl.value.contains(target) === false\n )\n && (\n target === document.body\n || (\n state.innerRef.value !== null\n && state.innerRef.value.contains(target) === false\n )\n )\n ) {\n // mark the event as being processed by clickOutside\n // used to prevent refocus after menu close\n evt.qClickOutside = true\n state.onClickOutside(evt)\n }\n else {\n return\n }\n }\n}\n\nexport function addClickOutside (clickOutsideProps) {\n registeredList.push(clickOutsideProps)\n\n if (registeredList.length === 1) {\n document.addEventListener('mousedown', globalHandler, notPassiveCapture)\n document.addEventListener('touchstart', globalHandler, notPassiveCapture)\n }\n}\n\nexport function removeClickOutside (clickOutsideProps) {\n const index = registeredList.findIndex(h => h === clickOutsideProps)\n\n if (index > -1) {\n registeredList.splice(index, 1)\n\n if (registeredList.length === 0) {\n if (timer !== null) {\n clearTimeout(timer)\n timer = null\n }\n\n document.removeEventListener('mousedown', globalHandler, notPassiveCapture)\n document.removeEventListener('touchstart', globalHandler, notPassiveCapture)\n }\n }\n}\n","import { getScrollbarWidth } from '../scroll.js'\nimport { client } from '../../plugins/Platform.js'\n\nlet vpLeft, vpTop\n\nexport function validatePosition (pos) {\n const parts = pos.split(' ')\n if (parts.length !== 2) {\n return false\n }\n if ([ 'top', 'center', 'bottom' ].includes(parts[ 0 ]) !== true) {\n console.error('Anchor/Self position must start with one of top/center/bottom')\n return false\n }\n if ([ 'left', 'middle', 'right', 'start', 'end' ].includes(parts[ 1 ]) !== true) {\n console.error('Anchor/Self position must end with one of left/middle/right/start/end')\n return false\n }\n return true\n}\n\nexport function validateOffset (val) {\n if (!val) { return true }\n if (val.length !== 2) { return false }\n if (typeof val[ 0 ] !== 'number' || typeof val[ 1 ] !== 'number') {\n return false\n }\n return true\n}\n\nconst horizontalPos = {\n 'start#ltr': 'left',\n 'start#rtl': 'right',\n 'end#ltr': 'right',\n 'end#rtl': 'left'\n}\n\n;[ 'left', 'middle', 'right' ].forEach(pos => {\n horizontalPos[ `${ pos }#ltr` ] = pos\n horizontalPos[ `${ pos }#rtl` ] = pos\n})\n\nexport function parsePosition (pos, rtl) {\n const parts = pos.split(' ')\n return {\n vertical: parts[ 0 ],\n horizontal: horizontalPos[ `${ parts[ 1 ] }#${ rtl === true ? 'rtl' : 'ltr' }` ]\n }\n}\n\nexport function getAnchorProps (el, offset) {\n let { top, left, right, bottom, width, height } = el.getBoundingClientRect()\n\n if (offset !== void 0) {\n top -= offset[ 1 ]\n left -= offset[ 0 ]\n bottom += offset[ 1 ]\n right += offset[ 0 ]\n\n width += offset[ 0 ]\n height += offset[ 1 ]\n }\n\n return {\n top, bottom, height,\n left, right, width,\n middle: left + (right - left) / 2,\n center: top + (bottom - top) / 2\n }\n}\n\nfunction getAbsoluteAnchorProps (el, absoluteOffset, offset) {\n let { top, left } = el.getBoundingClientRect()\n\n top += absoluteOffset.top\n left += absoluteOffset.left\n\n if (offset !== void 0) {\n top += offset[ 1 ]\n left += offset[ 0 ]\n }\n\n return {\n top, bottom: top + 1, height: 1,\n left, right: left + 1, width: 1,\n middle: left,\n center: top\n }\n}\n\nfunction getTargetProps (width, height) {\n return {\n top: 0,\n center: height / 2,\n bottom: height,\n left: 0,\n middle: width / 2,\n right: width\n }\n}\n\nfunction getTopLeftProps (anchorProps, targetProps, anchorOrigin, selfOrigin) {\n return {\n top: anchorProps[ anchorOrigin.vertical ] - targetProps[ selfOrigin.vertical ],\n left: anchorProps[ anchorOrigin.horizontal ] - targetProps[ selfOrigin.horizontal ]\n }\n}\n\nexport function setPosition (cfg, retryNumber = 0) {\n if (\n cfg.targetEl === null\n || cfg.anchorEl === null\n || retryNumber > 5 // we should try only a few times\n ) {\n return\n }\n\n // some browsers report zero height or width because\n // we are trying too early to get these dimensions\n if (cfg.targetEl.offsetHeight === 0 || cfg.targetEl.offsetWidth === 0) {\n setTimeout(() => {\n setPosition(cfg, retryNumber + 1)\n }, 10)\n return\n }\n\n const {\n targetEl,\n offset,\n anchorEl,\n anchorOrigin,\n selfOrigin,\n absoluteOffset,\n fit,\n cover,\n maxHeight,\n maxWidth\n } = cfg\n\n if (client.is.ios === true && window.visualViewport !== void 0) {\n // uses the q-position-engine CSS class\n\n const el = document.body.style\n const { offsetLeft: left, offsetTop: top } = window.visualViewport\n\n if (left !== vpLeft) {\n el.setProperty('--q-pe-left', left + 'px')\n vpLeft = left\n }\n if (top !== vpTop) {\n el.setProperty('--q-pe-top', top + 'px')\n vpTop = top\n }\n }\n\n // scroll position might change\n // if max-height/-width changes, so we\n // need to restore it after we calculate\n // the new positioning\n const { scrollLeft, scrollTop } = targetEl\n\n const anchorProps = absoluteOffset === void 0\n ? getAnchorProps(anchorEl, cover === true ? [ 0, 0 ] : offset)\n : getAbsoluteAnchorProps(anchorEl, absoluteOffset, offset)\n\n // we \"reset\" the critical CSS properties\n // so we can take an accurate measurement\n Object.assign(targetEl.style, {\n top: 0,\n left: 0,\n minWidth: null,\n minHeight: null,\n maxWidth: maxWidth || '100vw',\n maxHeight: maxHeight || '100vh',\n visibility: 'visible'\n })\n\n const { offsetWidth: origElWidth, offsetHeight: origElHeight } = targetEl\n const { elWidth, elHeight } = fit === true || cover === true\n ? { elWidth: Math.max(anchorProps.width, origElWidth), elHeight: cover === true ? Math.max(anchorProps.height, origElHeight) : origElHeight }\n : { elWidth: origElWidth, elHeight: origElHeight }\n\n let elStyle = { maxWidth, maxHeight }\n\n if (fit === true || cover === true) {\n elStyle.minWidth = anchorProps.width + 'px'\n if (cover === true) {\n elStyle.minHeight = anchorProps.height + 'px'\n }\n }\n\n Object.assign(targetEl.style, elStyle)\n\n const targetProps = getTargetProps(elWidth, elHeight)\n let props = getTopLeftProps(anchorProps, targetProps, anchorOrigin, selfOrigin)\n\n if (absoluteOffset === void 0 || offset === void 0) {\n applyBoundaries(props, anchorProps, targetProps, anchorOrigin, selfOrigin)\n }\n else { // we have touch position or context menu with offset\n const { top, left } = props // cache initial values\n\n // apply initial boundaries\n applyBoundaries(props, anchorProps, targetProps, anchorOrigin, selfOrigin)\n\n let hasChanged = false\n\n // did it flip vertically?\n if (props.top !== top) {\n hasChanged = true\n const offsetY = 2 * offset[ 1 ]\n anchorProps.center = anchorProps.top -= offsetY\n anchorProps.bottom -= offsetY + 2\n }\n\n // did it flip horizontally?\n if (props.left !== left) {\n hasChanged = true\n const offsetX = 2 * offset[ 0 ]\n anchorProps.middle = anchorProps.left -= offsetX\n anchorProps.right -= offsetX + 2\n }\n\n if (hasChanged === true) {\n // re-calculate props with the new anchor\n props = getTopLeftProps(anchorProps, targetProps, anchorOrigin, selfOrigin)\n\n // and re-apply boundaries\n applyBoundaries(props, anchorProps, targetProps, anchorOrigin, selfOrigin)\n }\n }\n\n elStyle = {\n top: props.top + 'px',\n left: props.left + 'px'\n }\n\n if (props.maxHeight !== void 0) {\n elStyle.maxHeight = props.maxHeight + 'px'\n\n if (anchorProps.height > props.maxHeight) {\n elStyle.minHeight = elStyle.maxHeight\n }\n }\n if (props.maxWidth !== void 0) {\n elStyle.maxWidth = props.maxWidth + 'px'\n\n if (anchorProps.width > props.maxWidth) {\n elStyle.minWidth = elStyle.maxWidth\n }\n }\n\n Object.assign(targetEl.style, elStyle)\n\n // restore scroll position\n if (targetEl.scrollTop !== scrollTop) {\n targetEl.scrollTop = scrollTop\n }\n if (targetEl.scrollLeft !== scrollLeft) {\n targetEl.scrollLeft = scrollLeft\n }\n}\n\nfunction applyBoundaries (props, anchorProps, targetProps, anchorOrigin, selfOrigin) {\n const\n currentHeight = targetProps.bottom,\n currentWidth = targetProps.right,\n margin = getScrollbarWidth(),\n innerHeight = window.innerHeight - margin,\n innerWidth = document.body.clientWidth\n\n if (props.top < 0 || props.top + currentHeight > innerHeight) {\n if (selfOrigin.vertical === 'center') {\n props.top = anchorProps[ anchorOrigin.vertical ] > innerHeight / 2\n ? Math.max(0, innerHeight - currentHeight)\n : 0\n props.maxHeight = Math.min(currentHeight, innerHeight)\n }\n else if (anchorProps[ anchorOrigin.vertical ] > innerHeight / 2) {\n const anchorY = Math.min(\n innerHeight,\n anchorOrigin.vertical === 'center'\n ? anchorProps.center\n : (anchorOrigin.vertical === selfOrigin.vertical ? anchorProps.bottom : anchorProps.top)\n )\n props.maxHeight = Math.min(currentHeight, anchorY)\n props.top = Math.max(0, anchorY - currentHeight)\n }\n else {\n props.top = Math.max(0, anchorOrigin.vertical === 'center'\n ? anchorProps.center\n : (anchorOrigin.vertical === selfOrigin.vertical ? anchorProps.top : anchorProps.bottom)\n )\n props.maxHeight = Math.min(currentHeight, innerHeight - props.top)\n }\n }\n\n if (props.left < 0 || props.left + currentWidth > innerWidth) {\n props.maxWidth = Math.min(currentWidth, innerWidth)\n if (selfOrigin.horizontal === 'middle') {\n props.left = anchorProps[ anchorOrigin.horizontal ] > innerWidth / 2\n ? Math.max(0, innerWidth - currentWidth)\n : 0\n }\n else if (anchorProps[ anchorOrigin.horizontal ] > innerWidth / 2) {\n const anchorX = Math.min(\n innerWidth,\n anchorOrigin.horizontal === 'middle'\n ? anchorProps.middle\n : (anchorOrigin.horizontal === selfOrigin.horizontal ? anchorProps.right : anchorProps.left)\n )\n props.maxWidth = Math.min(currentWidth, anchorX)\n props.left = Math.max(0, anchorX - props.maxWidth)\n }\n else {\n props.left = Math.max(0, anchorOrigin.horizontal === 'middle'\n ? anchorProps.middle\n : (anchorOrigin.horizontal === selfOrigin.horizontal ? anchorProps.left : anchorProps.right)\n )\n props.maxWidth = Math.min(currentWidth, innerWidth - props.left)\n }\n }\n}\n","import { h, ref, computed, watch, Transition, onBeforeUnmount, getCurrentInstance } from 'vue'\n\nimport useAnchor, { useAnchorProps } from '../../composables/private/use-anchor.js'\nimport useScrollTarget from '../../composables/private/use-scroll-target.js'\nimport useModelToggle, { useModelToggleProps, useModelToggleEmits } from '../../composables/private/use-model-toggle.js'\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport usePortal from '../../composables/private/use-portal.js'\nimport useTransition, { useTransitionProps } from '../../composables/private/use-transition.js'\nimport useTick from '../../composables/private/use-tick.js'\nimport useTimeout from '../../composables/private/use-timeout.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { closePortalMenus } from '../../utils/private/portal.js'\nimport { getScrollTarget } from '../../utils/scroll.js'\nimport { position, stopAndPrevent } from '../../utils/event.js'\nimport { hSlot } from '../../utils/private/render.js'\nimport { addEscapeKey, removeEscapeKey } from '../../utils/private/escape-key.js'\nimport { addFocusout, removeFocusout } from '../../utils/private/focusout.js'\nimport { childHasFocus } from '../../utils/dom.js'\nimport { addClickOutside, removeClickOutside } from '../../utils/private/click-outside.js'\nimport { addFocusFn } from '../../utils/private/focus-manager.js'\n\nimport {\n validatePosition, validateOffset, setPosition, parsePosition\n} from '../../utils/private/position-engine.js'\n\nexport default createComponent({\n name: 'QMenu',\n\n inheritAttrs: false,\n\n props: {\n ...useAnchorProps,\n ...useModelToggleProps,\n ...useDarkProps,\n ...useTransitionProps,\n\n persistent: Boolean,\n autoClose: Boolean,\n separateClosePopup: Boolean,\n\n noRouteDismiss: Boolean,\n noRefocus: Boolean,\n noFocus: Boolean,\n\n fit: Boolean,\n cover: Boolean,\n\n square: Boolean,\n\n anchor: {\n type: String,\n validator: validatePosition\n },\n self: {\n type: String,\n validator: validatePosition\n },\n offset: {\n type: Array,\n validator: validateOffset\n },\n\n scrollTarget: {\n default: void 0\n },\n\n touchPosition: Boolean,\n\n maxHeight: {\n type: String,\n default: null\n },\n maxWidth: {\n type: String,\n default: null\n }\n },\n\n emits: [\n ...useModelToggleEmits,\n 'click', 'escapeKey'\n ],\n\n setup (props, { slots, emit, attrs }) {\n let refocusTarget = null, absoluteOffset, unwatchPosition, avoidAutoClose\n\n const vm = getCurrentInstance()\n const { proxy } = vm\n const { $q } = proxy\n\n const innerRef = ref(null)\n const showing = ref(false)\n\n const hideOnRouteChange = computed(() =>\n props.persistent !== true\n && props.noRouteDismiss !== true\n )\n\n const isDark = useDark(props, $q)\n const { registerTick, removeTick } = useTick()\n const { registerTimeout } = useTimeout()\n const { transitionProps, transitionStyle } = useTransition(props)\n const { localScrollTarget, changeScrollEvent, unconfigureScrollTarget } = useScrollTarget(props, configureScrollTarget)\n\n const { anchorEl, canShow } = useAnchor({ showing })\n\n const { hide } = useModelToggle({\n showing, canShow, handleShow, handleHide,\n hideOnRouteChange,\n processOnMount: true\n })\n\n const { showPortal, hidePortal, renderPortal } = usePortal(vm, innerRef, renderPortalContent, 'menu')\n\n const clickOutsideProps = {\n anchorEl,\n innerRef,\n onClickOutside (e) {\n if (props.persistent !== true && showing.value === true) {\n hide(e)\n\n if (\n // always prevent touch event\n e.type === 'touchstart'\n // prevent click if it's on a dialog backdrop\n || e.target.classList.contains('q-dialog__backdrop')\n ) {\n stopAndPrevent(e)\n }\n\n return true\n }\n }\n }\n\n const anchorOrigin = computed(() =>\n parsePosition(\n props.anchor || (\n props.cover === true ? 'center middle' : 'bottom start'\n ),\n $q.lang.rtl\n )\n )\n\n const selfOrigin = computed(() => (\n props.cover === true\n ? anchorOrigin.value\n : parsePosition(props.self || 'top start', $q.lang.rtl)\n ))\n\n const menuClass = computed(() =>\n (props.square === true ? ' q-menu--square' : '')\n + (isDark.value === true ? ' q-menu--dark q-dark' : '')\n )\n\n const onEvents = computed(() => (\n props.autoClose === true\n ? { onClick: onAutoClose }\n : {}\n ))\n\n const handlesFocus = computed(() =>\n showing.value === true && props.persistent !== true\n )\n\n watch(handlesFocus, val => {\n if (val === true) {\n addEscapeKey(onEscapeKey)\n addClickOutside(clickOutsideProps)\n }\n else {\n removeEscapeKey(onEscapeKey)\n removeClickOutside(clickOutsideProps)\n }\n })\n\n function focus () {\n addFocusFn(() => {\n let node = innerRef.value\n\n if (node && node.contains(document.activeElement) !== true) {\n node = node.querySelector('[autofocus][tabindex], [data-autofocus][tabindex]')\n || node.querySelector('[autofocus] [tabindex], [data-autofocus] [tabindex]')\n || node.querySelector('[autofocus], [data-autofocus]')\n || node\n node.focus({ preventScroll: true })\n }\n })\n }\n\n function handleShow (evt) {\n refocusTarget = props.noRefocus === false\n ? document.activeElement\n : null\n\n addFocusout(onFocusout)\n\n showPortal()\n configureScrollTarget()\n\n absoluteOffset = void 0\n\n if (evt !== void 0 && (props.touchPosition || props.contextMenu)) {\n const pos = position(evt)\n\n if (pos.left !== void 0) {\n const { top, left } = anchorEl.value.getBoundingClientRect()\n absoluteOffset = { left: pos.left - left, top: pos.top - top }\n }\n }\n\n if (unwatchPosition === void 0) {\n unwatchPosition = watch(\n () => $q.screen.width + '|' + $q.screen.height + '|' + props.self + '|' + props.anchor + '|' + $q.lang.rtl,\n updatePosition\n )\n }\n\n if (props.noFocus !== true) {\n document.activeElement.blur()\n }\n\n // should removeTick() if this gets removed\n registerTick(() => {\n updatePosition()\n props.noFocus !== true && focus()\n })\n\n // should removeTimeout() if this gets removed\n registerTimeout(() => {\n // required in order to avoid the \"double-tap needed\" issue\n if ($q.platform.is.ios === true) {\n // if auto-close, then this click should\n // not close the menu\n avoidAutoClose = props.autoClose\n innerRef.value.click()\n }\n\n updatePosition()\n showPortal(true) // done showing portal\n emit('show', evt)\n }, props.transitionDuration)\n }\n\n function handleHide (evt) {\n removeTick()\n hidePortal()\n\n anchorCleanup(true)\n\n if (\n refocusTarget !== null\n && (\n // menu was hidden from code or ESC plugin\n evt === void 0\n // menu was not closed from a mouse or touch clickOutside\n || evt.qClickOutside !== true\n )\n ) {\n ((evt && evt.type.indexOf('key') === 0\n ? refocusTarget.closest('[tabindex]:not([tabindex^=\"-\"])')\n : void 0\n ) || refocusTarget).focus()\n refocusTarget = null\n }\n\n // should removeTimeout() if this gets removed\n registerTimeout(() => {\n hidePortal(true) // done hiding, now destroy\n emit('hide', evt)\n }, props.transitionDuration)\n }\n\n function anchorCleanup (hiding) {\n absoluteOffset = void 0\n\n if (unwatchPosition !== void 0) {\n unwatchPosition()\n unwatchPosition = void 0\n }\n\n if (hiding === true || showing.value === true) {\n removeFocusout(onFocusout)\n unconfigureScrollTarget()\n removeClickOutside(clickOutsideProps)\n removeEscapeKey(onEscapeKey)\n }\n\n if (hiding !== true) {\n refocusTarget = null\n }\n }\n\n function configureScrollTarget () {\n if (anchorEl.value !== null || props.scrollTarget !== void 0) {\n localScrollTarget.value = getScrollTarget(anchorEl.value, props.scrollTarget)\n changeScrollEvent(localScrollTarget.value, updatePosition)\n }\n }\n\n function onAutoClose (e) {\n // if auto-close, then the ios double-tap fix which\n // issues a click should not close the menu\n if (avoidAutoClose !== true) {\n closePortalMenus(proxy, e)\n emit('click', e)\n }\n else {\n avoidAutoClose = false\n }\n }\n\n function onFocusout (evt) {\n // the focus is not in a vue child component\n if (\n handlesFocus.value === true\n && props.noFocus !== true\n && childHasFocus(innerRef.value, evt.target) !== true\n ) {\n focus()\n }\n }\n\n function onEscapeKey (evt) {\n emit('escapeKey')\n hide(evt)\n }\n\n function updatePosition () {\n setPosition({\n targetEl: innerRef.value,\n offset: props.offset,\n anchorEl: anchorEl.value,\n anchorOrigin: anchorOrigin.value,\n selfOrigin: selfOrigin.value,\n absoluteOffset,\n fit: props.fit,\n cover: props.cover,\n maxHeight: props.maxHeight,\n maxWidth: props.maxWidth\n })\n }\n\n function renderPortalContent () {\n return h(\n Transition,\n transitionProps.value,\n () => (\n showing.value === true\n ? h('div', {\n role: 'menu',\n ...attrs,\n ref: innerRef,\n tabindex: -1,\n class: [\n 'q-menu q-position-engine scroll' + menuClass.value,\n attrs.class\n ],\n style: [\n attrs.style,\n transitionStyle.value\n ],\n ...onEvents.value\n }, hSlot(slots.default))\n : null\n )\n )\n }\n\n onBeforeUnmount(anchorCleanup)\n\n // expose public methods\n Object.assign(proxy, { focus, updatePosition })\n\n return renderPortal\n }\n})\n","import { h, computed, provide, inject, getCurrentInstance } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\nimport { pageContainerKey, layoutKey, emptyRenderFn } from '../../utils/private/symbols.js'\n\nexport default createComponent({\n name: 'QPageContainer',\n\n setup (_, { slots }) {\n const { proxy: { $q } } = getCurrentInstance()\n\n const $layout = inject(layoutKey, emptyRenderFn)\n if ($layout === emptyRenderFn) {\n console.error('QPageContainer needs to be child of QLayout')\n return emptyRenderFn\n }\n\n provide(pageContainerKey, true)\n\n const style = computed(() => {\n const css = {}\n\n if ($layout.header.space === true) {\n css.paddingTop = `${ $layout.header.size }px`\n }\n if ($layout.right.space === true) {\n css[ `padding${ $q.lang.rtl === true ? 'Left' : 'Right' }` ] = `${ $layout.right.size }px`\n }\n if ($layout.footer.space === true) {\n css.paddingBottom = `${ $layout.footer.size }px`\n }\n if ($layout.left.space === true) {\n css[ `padding${ $q.lang.rtl === true ? 'Right' : 'Left' }` ] = `${ $layout.left.size }px`\n }\n\n return css\n })\n\n return () => h('div', {\n class: 'q-page-container',\n style: style.value\n }, hSlot(slots.default))\n }\n})\n","import { ref, onMounted } from 'vue'\n\n// using it to manage SSR rendering with best performance\nimport { isRuntimeSsrPreHydration } from '../../plugins/Platform.js'\n\nexport default function () {\n const canRender = ref(!isRuntimeSsrPreHydration.value)\n\n if (canRender.value === false) {\n onMounted(() => {\n canRender.value = true\n })\n }\n\n return canRender\n}\n","import { h, onMounted, onBeforeUnmount, getCurrentInstance, nextTick } from 'vue'\n\nimport useCanRender from '../../composables/private/use-can-render.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { listenOpts, noop } from '../../utils/event.js'\n\nconst hasObserver = typeof ResizeObserver !== 'undefined'\nconst resizeProps = hasObserver === true\n ? {}\n : {\n style: 'display:block;position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;',\n url: 'about:blank'\n }\n\nexport default createComponent({\n name: 'QResizeObserver',\n\n props: {\n debounce: {\n type: [ String, Number ],\n default: 100\n }\n },\n\n emits: [ 'resize' ],\n\n setup (props, { emit }) {\n if (__QUASAR_SSR_SERVER__) { return noop }\n\n let timer = null, targetEl, size = { width: -1, height: -1 }\n\n function trigger (immediately) {\n if (immediately === true || props.debounce === 0 || props.debounce === '0') {\n emitEvent()\n }\n else if (timer === null) {\n timer = setTimeout(emitEvent, props.debounce)\n }\n }\n\n function emitEvent () {\n if (timer !== null) {\n clearTimeout(timer)\n timer = null\n }\n\n if (targetEl) {\n const { offsetWidth: width, offsetHeight: height } = targetEl\n\n if (width !== size.width || height !== size.height) {\n size = { width, height }\n emit('resize', size)\n }\n }\n }\n\n const { proxy } = getCurrentInstance()\n\n if (hasObserver === true) {\n let observer\n\n // initialize as soon as possible\n const init = stop => {\n targetEl = proxy.$el.parentNode\n\n if (targetEl) {\n observer = new ResizeObserver(trigger)\n observer.observe(targetEl)\n emitEvent()\n }\n else if (stop !== true) {\n nextTick(() => { init(true) })\n }\n }\n\n onMounted(() => { init() })\n\n onBeforeUnmount(() => {\n timer !== null && clearTimeout(timer)\n\n if (observer !== void 0) {\n if (observer.disconnect !== void 0) {\n observer.disconnect()\n }\n else if (targetEl) { // FF for Android\n observer.unobserve(targetEl)\n }\n }\n })\n\n return noop\n }\n else { // no observer, so fallback to old iframe method\n const canRender = useCanRender()\n\n let curDocView\n\n function cleanup () {\n if (timer !== null) {\n clearTimeout(timer)\n timer = null\n }\n\n if (curDocView !== void 0) {\n // iOS is fuzzy, need to check it first\n if (curDocView.removeEventListener !== void 0) {\n curDocView.removeEventListener('resize', trigger, listenOpts.passive)\n }\n curDocView = void 0\n }\n }\n\n function onObjLoad () {\n cleanup()\n\n if (targetEl && targetEl.contentDocument) {\n curDocView = targetEl.contentDocument.defaultView\n curDocView.addEventListener('resize', trigger, listenOpts.passive)\n emitEvent()\n }\n }\n\n onMounted(() => {\n nextTick(() => {\n targetEl = proxy.$el\n targetEl && onObjLoad()\n })\n })\n\n onBeforeUnmount(cleanup)\n\n // expose public method\n proxy.trigger = trigger\n\n return () => {\n if (canRender.value === true) {\n return h('object', {\n style: resizeProps.style,\n tabindex: -1, // fix for Firefox\n type: 'text/html',\n data: resizeProps.url,\n 'aria-hidden': 'true',\n onLoad: onObjLoad\n })\n }\n }\n }\n }\n})\n","import useField, { useFieldState, useFieldProps, useFieldEmits } from '../../composables/private/use-field.js'\n\nimport { createComponent } from '../../utils/private/create.js'\n\nexport default createComponent({\n name: 'QField',\n\n inheritAttrs: false,\n\n props: {\n ...useFieldProps,\n\n tag: {\n type: String,\n default: 'label'\n }\n },\n\n emits: useFieldEmits,\n\n setup () {\n return useField(\n useFieldState({\n requiredForAttr: false,\n tagProp: true\n })\n )\n }\n})\n","import { h, computed } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\n\nexport default createComponent({\n name: 'QItemLabel',\n\n props: {\n overline: Boolean,\n caption: Boolean,\n header: Boolean,\n lines: [ Number, String ]\n },\n\n setup (props, { slots }) {\n const parsedLines = computed(() => parseInt(props.lines, 10))\n\n const classes = computed(() =>\n 'q-item__label'\n + (props.overline === true ? ' q-item__label--overline text-overline' : '')\n + (props.caption === true ? ' q-item__label--caption text-caption' : '')\n + (props.header === true ? ' q-item__label--header' : '')\n + (parsedLines.value === 1 ? ' ellipsis' : '')\n )\n\n const style = computed(() => {\n return props.lines !== void 0 && parsedLines.value > 1\n ? {\n overflow: 'hidden',\n display: '-webkit-box',\n '-webkit-box-orient': 'vertical',\n '-webkit-line-clamp': parsedLines.value\n }\n : null\n })\n\n return () => h('div', {\n style: style.value,\n class: classes.value\n }, hSlot(slots.default))\n }\n})\n","let rtlHasScrollBug = false\n\n// mobile Chrome takes the crown for this\nif (!__QUASAR_SSR__) {\n const scroller = document.createElement('div')\n scroller.setAttribute('dir', 'rtl')\n Object.assign(scroller.style, {\n width: '1px',\n height: '1px',\n overflow: 'auto'\n })\n\n const spacer = document.createElement('div')\n Object.assign(spacer.style, {\n width: '1000px',\n height: '1px'\n })\n\n document.body.appendChild(scroller)\n scroller.appendChild(spacer)\n scroller.scrollLeft = -1000\n\n rtlHasScrollBug = scroller.scrollLeft >= 0\n\n scroller.remove()\n}\n\nexport {\n rtlHasScrollBug\n}\n","import { h, ref, computed, watch, onActivated, onDeactivated, onBeforeMount, onBeforeUnmount, nextTick, getCurrentInstance } from 'vue'\n\nimport debounce from '../../utils/debounce.js'\nimport { noop } from '../../utils/event.js'\nimport { rtlHasScrollBug } from '../../utils/private/rtl.js'\n\nconst aggBucketSize = 1000\n\nconst scrollToEdges = [\n 'start',\n 'center',\n 'end',\n 'start-force',\n 'center-force',\n 'end-force'\n]\n\nconst filterProto = Array.prototype.filter\n\nconst setOverflowAnchor = __QUASAR_SSR__ || window.getComputedStyle(document.body).overflowAnchor === void 0\n ? noop\n : function (contentEl, index) {\n if (contentEl === null) {\n return\n }\n\n if (contentEl._qOverflowAnimationFrame !== void 0) {\n cancelAnimationFrame(contentEl._qOverflowAnimationFrame)\n }\n\n contentEl._qOverflowAnimationFrame = requestAnimationFrame(() => {\n if (contentEl === null) {\n return\n }\n\n contentEl._qOverflowAnimationFrame = void 0\n const children = contentEl.children || []\n\n filterProto\n .call(children, el => el.dataset && el.dataset.qVsAnchor !== void 0)\n .forEach(el => {\n delete el.dataset.qVsAnchor\n })\n\n const el = children[ index ]\n\n if (el && el.dataset) {\n el.dataset.qVsAnchor = ''\n }\n })\n }\n\nfunction sumFn (acc, h) {\n return acc + h\n}\n\nfunction getScrollDetails (\n parent,\n child,\n beforeRef,\n afterRef,\n horizontal,\n rtl,\n stickyStart,\n stickyEnd\n) {\n const\n parentCalc = parent === window ? document.scrollingElement || document.documentElement : parent,\n propElSize = horizontal === true ? 'offsetWidth' : 'offsetHeight',\n details = {\n scrollStart: 0,\n scrollViewSize: -stickyStart - stickyEnd,\n scrollMaxSize: 0,\n offsetStart: -stickyStart,\n offsetEnd: -stickyEnd\n }\n\n if (horizontal === true) {\n if (parent === window) {\n details.scrollStart = window.pageXOffset || window.scrollX || document.body.scrollLeft || 0\n details.scrollViewSize += document.documentElement.clientWidth\n }\n else {\n details.scrollStart = parentCalc.scrollLeft\n details.scrollViewSize += parentCalc.clientWidth\n }\n details.scrollMaxSize = parentCalc.scrollWidth\n\n if (rtl === true) {\n details.scrollStart = (rtlHasScrollBug === true ? details.scrollMaxSize - details.scrollViewSize : 0) - details.scrollStart\n }\n }\n else {\n if (parent === window) {\n details.scrollStart = window.pageYOffset || window.scrollY || document.body.scrollTop || 0\n details.scrollViewSize += document.documentElement.clientHeight\n }\n else {\n details.scrollStart = parentCalc.scrollTop\n details.scrollViewSize += parentCalc.clientHeight\n }\n details.scrollMaxSize = parentCalc.scrollHeight\n }\n\n if (beforeRef !== null) {\n for (let el = beforeRef.previousElementSibling; el !== null; el = el.previousElementSibling) {\n if (el.classList.contains('q-virtual-scroll--skip') === false) {\n details.offsetStart += el[ propElSize ]\n }\n }\n }\n\n if (afterRef !== null) {\n for (let el = afterRef.nextElementSibling; el !== null; el = el.nextElementSibling) {\n if (el.classList.contains('q-virtual-scroll--skip') === false) {\n details.offsetEnd += el[ propElSize ]\n }\n }\n }\n\n if (child !== parent) {\n const\n parentRect = parentCalc.getBoundingClientRect(),\n childRect = child.getBoundingClientRect()\n\n if (horizontal === true) {\n details.offsetStart += childRect.left - parentRect.left\n details.offsetEnd -= childRect.width\n }\n else {\n details.offsetStart += childRect.top - parentRect.top\n details.offsetEnd -= childRect.height\n }\n\n if (parent !== window) {\n details.offsetStart += details.scrollStart\n }\n details.offsetEnd += details.scrollMaxSize - details.offsetStart\n }\n\n return details\n}\n\nfunction setScroll (parent, scroll, horizontal, rtl) {\n if (scroll === 'end') {\n scroll = (parent === window ? document.body : parent)[\n horizontal === true ? 'scrollWidth' : 'scrollHeight'\n ]\n }\n\n if (parent === window) {\n if (horizontal === true) {\n if (rtl === true) {\n scroll = (rtlHasScrollBug === true ? document.body.scrollWidth - document.documentElement.clientWidth : 0) - scroll\n }\n window.scrollTo(scroll, window.pageYOffset || window.scrollY || document.body.scrollTop || 0)\n }\n else {\n window.scrollTo(window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, scroll)\n }\n }\n else if (horizontal === true) {\n if (rtl === true) {\n scroll = (rtlHasScrollBug === true ? parent.scrollWidth - parent.offsetWidth : 0) - scroll\n }\n parent.scrollLeft = scroll\n }\n else {\n parent.scrollTop = scroll\n }\n}\n\nfunction sumSize (sizeAgg, size, from, to) {\n if (from >= to) { return 0 }\n\n const\n lastTo = size.length,\n fromAgg = Math.floor(from / aggBucketSize),\n toAgg = Math.floor((to - 1) / aggBucketSize) + 1\n\n let total = sizeAgg.slice(fromAgg, toAgg).reduce(sumFn, 0)\n\n if (from % aggBucketSize !== 0) {\n total -= size.slice(fromAgg * aggBucketSize, from).reduce(sumFn, 0)\n }\n if (to % aggBucketSize !== 0 && to !== lastTo) {\n total -= size.slice(to, toAgg * aggBucketSize).reduce(sumFn, 0)\n }\n\n return total\n}\n\nconst commonVirtScrollProps = {\n virtualScrollSliceSize: {\n type: [ Number, String ],\n default: null\n },\n\n virtualScrollSliceRatioBefore: {\n type: [ Number, String ],\n default: 1\n },\n\n virtualScrollSliceRatioAfter: {\n type: [ Number, String ],\n default: 1\n },\n\n virtualScrollItemSize: {\n type: [ Number, String ],\n default: 24\n },\n\n virtualScrollStickySizeStart: {\n type: [ Number, String ],\n default: 0\n },\n\n virtualScrollStickySizeEnd: {\n type: [ Number, String ],\n default: 0\n },\n\n tableColspan: [ Number, String ]\n}\n\nexport const commonVirtPropsList = Object.keys(commonVirtScrollProps)\n\nexport const useVirtualScrollProps = {\n virtualScrollHorizontal: Boolean,\n onVirtualScroll: Function,\n ...commonVirtScrollProps\n}\n\nexport function useVirtualScroll ({\n virtualScrollLength, getVirtualScrollTarget, getVirtualScrollEl,\n virtualScrollItemSizeComputed // optional\n}) {\n const vm = getCurrentInstance()\n\n const { props, emit, proxy } = vm\n const { $q } = proxy\n\n let prevScrollStart, prevToIndex, localScrollViewSize, virtualScrollSizesAgg = [], virtualScrollSizes\n\n const virtualScrollPaddingBefore = ref(0)\n const virtualScrollPaddingAfter = ref(0)\n const virtualScrollSliceSizeComputed = ref({})\n\n const beforeRef = ref(null)\n const afterRef = ref(null)\n const contentRef = ref(null)\n\n const virtualScrollSliceRange = ref({ from: 0, to: 0 })\n\n const colspanAttr = computed(() => (props.tableColspan !== void 0 ? props.tableColspan : 100))\n\n if (virtualScrollItemSizeComputed === void 0) {\n virtualScrollItemSizeComputed = computed(() => props.virtualScrollItemSize)\n }\n\n const needsReset = computed(() => virtualScrollItemSizeComputed.value + ';' + props.virtualScrollHorizontal)\n\n const needsSliceRecalc = computed(() =>\n needsReset.value + ';' + props.virtualScrollSliceRatioBefore + ';' + props.virtualScrollSliceRatioAfter\n )\n\n watch(needsSliceRecalc, () => { setVirtualScrollSize() })\n watch(needsReset, reset)\n\n function reset () {\n localResetVirtualScroll(prevToIndex, true)\n }\n\n function refresh (toIndex) {\n localResetVirtualScroll(toIndex === void 0 ? prevToIndex : toIndex)\n }\n\n function scrollTo (toIndex, edge) {\n const scrollEl = getVirtualScrollTarget()\n\n if (scrollEl === void 0 || scrollEl === null || scrollEl.nodeType === 8) {\n return\n }\n\n const scrollDetails = getScrollDetails(\n scrollEl,\n getVirtualScrollEl(),\n beforeRef.value,\n afterRef.value,\n props.virtualScrollHorizontal,\n $q.lang.rtl,\n props.virtualScrollStickySizeStart,\n props.virtualScrollStickySizeEnd\n )\n\n localScrollViewSize !== scrollDetails.scrollViewSize && setVirtualScrollSize(scrollDetails.scrollViewSize)\n\n setVirtualScrollSliceRange(\n scrollEl,\n scrollDetails,\n Math.min(virtualScrollLength.value - 1, Math.max(0, parseInt(toIndex, 10) || 0)),\n 0,\n scrollToEdges.indexOf(edge) > -1 ? edge : (prevToIndex > -1 && toIndex > prevToIndex ? 'end' : 'start')\n )\n }\n\n function localOnVirtualScrollEvt () {\n const scrollEl = getVirtualScrollTarget()\n\n if (scrollEl === void 0 || scrollEl === null || scrollEl.nodeType === 8) {\n return\n }\n\n const\n scrollDetails = getScrollDetails(\n scrollEl,\n getVirtualScrollEl(),\n beforeRef.value,\n afterRef.value,\n props.virtualScrollHorizontal,\n $q.lang.rtl,\n props.virtualScrollStickySizeStart,\n props.virtualScrollStickySizeEnd\n ),\n listLastIndex = virtualScrollLength.value - 1,\n listEndOffset = scrollDetails.scrollMaxSize - scrollDetails.offsetStart - scrollDetails.offsetEnd - virtualScrollPaddingAfter.value\n\n if (prevScrollStart === scrollDetails.scrollStart) {\n return\n }\n\n if (scrollDetails.scrollMaxSize <= 0) {\n setVirtualScrollSliceRange(scrollEl, scrollDetails, 0, 0)\n return\n }\n\n localScrollViewSize !== scrollDetails.scrollViewSize && setVirtualScrollSize(scrollDetails.scrollViewSize)\n\n updateVirtualScrollSizes(virtualScrollSliceRange.value.from)\n\n const scrollMaxStart = Math.floor(scrollDetails.scrollMaxSize\n - Math.max(scrollDetails.scrollViewSize, scrollDetails.offsetEnd)\n - Math.min(virtualScrollSizes[ listLastIndex ], scrollDetails.scrollViewSize / 2))\n\n if (scrollMaxStart > 0 && Math.ceil(scrollDetails.scrollStart) >= scrollMaxStart) {\n setVirtualScrollSliceRange(\n scrollEl,\n scrollDetails,\n listLastIndex,\n scrollDetails.scrollMaxSize - scrollDetails.offsetEnd - virtualScrollSizesAgg.reduce(sumFn, 0)\n )\n\n return\n }\n\n let\n toIndex = 0,\n listOffset = scrollDetails.scrollStart - scrollDetails.offsetStart,\n offset = listOffset\n\n if (listOffset <= listEndOffset && listOffset + scrollDetails.scrollViewSize >= virtualScrollPaddingBefore.value) {\n listOffset -= virtualScrollPaddingBefore.value\n toIndex = virtualScrollSliceRange.value.from\n offset = listOffset\n }\n else {\n for (let j = 0; listOffset >= virtualScrollSizesAgg[ j ] && toIndex < listLastIndex; j++) {\n listOffset -= virtualScrollSizesAgg[ j ]\n toIndex += aggBucketSize\n }\n }\n\n while (listOffset > 0 && toIndex < listLastIndex) {\n listOffset -= virtualScrollSizes[ toIndex ]\n if (listOffset > -scrollDetails.scrollViewSize) {\n toIndex++\n offset = listOffset\n }\n else {\n offset = virtualScrollSizes[ toIndex ] + listOffset\n }\n }\n\n setVirtualScrollSliceRange(\n scrollEl,\n scrollDetails,\n toIndex,\n offset\n )\n }\n\n function setVirtualScrollSliceRange (scrollEl, scrollDetails, toIndex, offset, align) {\n const alignForce = typeof align === 'string' && align.indexOf('-force') > -1\n const alignEnd = alignForce === true ? align.replace('-force', '') : align\n const alignRange = alignEnd !== void 0 ? alignEnd : 'start'\n\n let\n from = Math.max(0, toIndex - virtualScrollSliceSizeComputed.value[ alignRange ]),\n to = from + virtualScrollSliceSizeComputed.value.total\n\n if (to > virtualScrollLength.value) {\n to = virtualScrollLength.value\n from = Math.max(0, to - virtualScrollSliceSizeComputed.value.total)\n }\n\n prevScrollStart = scrollDetails.scrollStart\n\n const rangeChanged = from !== virtualScrollSliceRange.value.from || to !== virtualScrollSliceRange.value.to\n\n if (rangeChanged === false && alignEnd === void 0) {\n emitScroll(toIndex)\n return\n }\n\n const { activeElement } = document\n const contentEl = contentRef.value\n if (\n rangeChanged === true\n && contentEl !== null\n && contentEl !== activeElement\n && contentEl.contains(activeElement) === true\n ) {\n contentEl.addEventListener('focusout', onBlurRefocusFn)\n\n setTimeout(() => {\n contentEl !== null && contentEl.removeEventListener('focusout', onBlurRefocusFn)\n })\n }\n\n setOverflowAnchor(contentEl, toIndex - from)\n\n const sizeBefore = alignEnd !== void 0 ? virtualScrollSizes.slice(from, toIndex).reduce(sumFn, 0) : 0\n\n if (rangeChanged === true) {\n // vue key matching algorithm works only if\n // the array of VNodes changes on only one of the ends\n // so we first change one end and then the other\n\n const tempTo = to >= virtualScrollSliceRange.value.from && from <= virtualScrollSliceRange.value.to\n ? virtualScrollSliceRange.value.to\n : to\n\n virtualScrollSliceRange.value = { from, to: tempTo }\n virtualScrollPaddingBefore.value = sumSize(virtualScrollSizesAgg, virtualScrollSizes, 0, from)\n virtualScrollPaddingAfter.value = sumSize(virtualScrollSizesAgg, virtualScrollSizes, to, virtualScrollLength.value)\n\n requestAnimationFrame(() => {\n if (virtualScrollSliceRange.value.to !== to && prevScrollStart === scrollDetails.scrollStart) {\n virtualScrollSliceRange.value = { from: virtualScrollSliceRange.value.from, to }\n virtualScrollPaddingAfter.value = sumSize(virtualScrollSizesAgg, virtualScrollSizes, to, virtualScrollLength.value)\n }\n })\n }\n\n requestAnimationFrame(() => {\n // if the scroll was changed give up\n // (another call to setVirtualScrollSliceRange before animation frame)\n if (prevScrollStart !== scrollDetails.scrollStart) {\n return\n }\n\n if (rangeChanged === true) {\n updateVirtualScrollSizes(from)\n }\n\n const\n sizeAfter = virtualScrollSizes.slice(from, toIndex).reduce(sumFn, 0),\n posStart = sizeAfter + scrollDetails.offsetStart + virtualScrollPaddingBefore.value,\n posEnd = posStart + virtualScrollSizes[ toIndex ]\n\n let scrollPosition = posStart + offset\n\n if (alignEnd !== void 0) {\n const sizeDiff = sizeAfter - sizeBefore\n const scrollStart = scrollDetails.scrollStart + sizeDiff\n\n scrollPosition = alignForce !== true && scrollStart < posStart && posEnd < scrollStart + scrollDetails.scrollViewSize\n ? scrollStart\n : (\n alignEnd === 'end'\n ? posEnd - scrollDetails.scrollViewSize\n : posStart - (alignEnd === 'start' ? 0 : Math.round((scrollDetails.scrollViewSize - virtualScrollSizes[ toIndex ]) / 2))\n )\n }\n\n prevScrollStart = scrollPosition\n\n setScroll(\n scrollEl,\n scrollPosition,\n props.virtualScrollHorizontal,\n $q.lang.rtl\n )\n\n emitScroll(toIndex)\n })\n }\n\n function updateVirtualScrollSizes (from) {\n const contentEl = contentRef.value\n\n if (contentEl) {\n const\n children = filterProto.call(\n contentEl.children,\n el => el.classList && el.classList.contains('q-virtual-scroll--skip') === false\n ),\n childrenLength = children.length,\n sizeFn = props.virtualScrollHorizontal === true\n ? el => el.getBoundingClientRect().width\n : el => el.offsetHeight\n\n let\n index = from,\n size, diff\n\n for (let i = 0; i < childrenLength;) {\n size = sizeFn(children[ i ])\n i++\n\n while (i < childrenLength && children[ i ].classList.contains('q-virtual-scroll--with-prev') === true) {\n size += sizeFn(children[ i ])\n i++\n }\n\n diff = size - virtualScrollSizes[ index ]\n\n if (diff !== 0) {\n virtualScrollSizes[ index ] += diff\n virtualScrollSizesAgg[ Math.floor(index / aggBucketSize) ] += diff\n }\n\n index++\n }\n }\n }\n\n function onBlurRefocusFn () {\n contentRef.value !== null && contentRef.value !== void 0 && contentRef.value.focus()\n }\n\n function localResetVirtualScroll (toIndex, fullReset) {\n const defaultSize = 1 * virtualScrollItemSizeComputed.value\n\n if (fullReset === true || Array.isArray(virtualScrollSizes) === false) {\n virtualScrollSizes = []\n }\n\n const oldVirtualScrollSizesLength = virtualScrollSizes.length\n\n virtualScrollSizes.length = virtualScrollLength.value\n\n for (let i = virtualScrollLength.value - 1; i >= oldVirtualScrollSizesLength; i--) {\n virtualScrollSizes[ i ] = defaultSize\n }\n\n const jMax = Math.floor((virtualScrollLength.value - 1) / aggBucketSize)\n virtualScrollSizesAgg = []\n for (let j = 0; j <= jMax; j++) {\n let size = 0\n const iMax = Math.min((j + 1) * aggBucketSize, virtualScrollLength.value)\n for (let i = j * aggBucketSize; i < iMax; i++) {\n size += virtualScrollSizes[ i ]\n }\n virtualScrollSizesAgg.push(size)\n }\n\n prevToIndex = -1\n prevScrollStart = void 0\n\n virtualScrollPaddingBefore.value = sumSize(virtualScrollSizesAgg, virtualScrollSizes, 0, virtualScrollSliceRange.value.from)\n virtualScrollPaddingAfter.value = sumSize(virtualScrollSizesAgg, virtualScrollSizes, virtualScrollSliceRange.value.to, virtualScrollLength.value)\n\n if (toIndex >= 0) {\n updateVirtualScrollSizes(virtualScrollSliceRange.value.from)\n nextTick(() => { scrollTo(toIndex) })\n }\n else {\n onVirtualScrollEvt()\n }\n }\n\n function setVirtualScrollSize (scrollViewSize) {\n if (scrollViewSize === void 0 && typeof window !== 'undefined') {\n const scrollEl = getVirtualScrollTarget()\n\n if (scrollEl !== void 0 && scrollEl !== null && scrollEl.nodeType !== 8) {\n scrollViewSize = getScrollDetails(\n scrollEl,\n getVirtualScrollEl(),\n beforeRef.value,\n afterRef.value,\n props.virtualScrollHorizontal,\n $q.lang.rtl,\n props.virtualScrollStickySizeStart,\n props.virtualScrollStickySizeEnd\n ).scrollViewSize\n }\n }\n\n localScrollViewSize = scrollViewSize\n\n const virtualScrollSliceRatioBefore = parseFloat(props.virtualScrollSliceRatioBefore) || 0\n const virtualScrollSliceRatioAfter = parseFloat(props.virtualScrollSliceRatioAfter) || 0\n const multiplier = 1 + virtualScrollSliceRatioBefore + virtualScrollSliceRatioAfter\n const view = scrollViewSize === void 0 || scrollViewSize <= 0\n ? 1\n : Math.ceil(scrollViewSize / virtualScrollItemSizeComputed.value)\n\n const baseSize = Math.max(\n 1,\n view,\n Math.ceil((props.virtualScrollSliceSize > 0 ? props.virtualScrollSliceSize : 10) / multiplier)\n )\n\n virtualScrollSliceSizeComputed.value = {\n total: Math.ceil(baseSize * multiplier),\n start: Math.ceil(baseSize * virtualScrollSliceRatioBefore),\n center: Math.ceil(baseSize * (0.5 + virtualScrollSliceRatioBefore)),\n end: Math.ceil(baseSize * (1 + virtualScrollSliceRatioBefore)),\n view\n }\n }\n\n function padVirtualScroll (tag, content) {\n const paddingSize = props.virtualScrollHorizontal === true ? 'width' : 'height'\n const style = {\n [ '--q-virtual-scroll-item-' + paddingSize ]: virtualScrollItemSizeComputed.value + 'px'\n }\n\n return [\n tag === 'tbody'\n ? h(tag, {\n class: 'q-virtual-scroll__padding',\n key: 'before',\n ref: beforeRef\n }, [\n h('tr', [\n h('td', {\n style: { [ paddingSize ]: `${ virtualScrollPaddingBefore.value }px`, ...style },\n colspan: colspanAttr.value\n })\n ])\n ])\n : h(tag, {\n class: 'q-virtual-scroll__padding',\n key: 'before',\n ref: beforeRef,\n style: { [ paddingSize ]: `${ virtualScrollPaddingBefore.value }px`, ...style }\n }),\n\n h(tag, {\n class: 'q-virtual-scroll__content',\n key: 'content',\n ref: contentRef,\n tabindex: -1\n }, content.flat()),\n\n tag === 'tbody'\n ? h(tag, {\n class: 'q-virtual-scroll__padding',\n key: 'after',\n ref: afterRef\n }, [\n h('tr', [\n h('td', {\n style: { [ paddingSize ]: `${ virtualScrollPaddingAfter.value }px`, ...style },\n colspan: colspanAttr.value\n })\n ])\n ])\n : h(tag, {\n class: 'q-virtual-scroll__padding',\n key: 'after',\n ref: afterRef,\n style: { [ paddingSize ]: `${ virtualScrollPaddingAfter.value }px`, ...style }\n })\n ]\n }\n\n function emitScroll (index) {\n if (prevToIndex !== index) {\n props.onVirtualScroll !== void 0 && emit('virtualScroll', {\n index,\n from: virtualScrollSliceRange.value.from,\n to: virtualScrollSliceRange.value.to - 1,\n direction: index < prevToIndex ? 'decrease' : 'increase',\n ref: proxy\n })\n\n prevToIndex = index\n }\n }\n\n setVirtualScrollSize()\n const onVirtualScrollEvt = debounce(\n localOnVirtualScrollEvt,\n $q.platform.is.ios === true ? 120 : 35\n )\n\n onBeforeMount(() => {\n setVirtualScrollSize()\n })\n\n let shouldActivate = false\n\n onDeactivated(() => {\n shouldActivate = true\n })\n\n onActivated(() => {\n if (shouldActivate !== true) { return }\n\n const scrollEl = getVirtualScrollTarget()\n\n if (prevScrollStart !== void 0 && scrollEl !== void 0 && scrollEl !== null && scrollEl.nodeType !== 8) {\n setScroll(\n scrollEl,\n prevScrollStart,\n props.virtualScrollHorizontal,\n $q.lang.rtl\n )\n }\n else {\n scrollTo(prevToIndex)\n }\n })\n\n __QUASAR_SSR__ || onBeforeUnmount(() => {\n onVirtualScrollEvt.cancel()\n })\n\n // expose public methods\n Object.assign(proxy, { scrollTo, reset, refresh })\n\n return {\n virtualScrollSliceRange,\n virtualScrollSliceSizeComputed,\n\n setVirtualScrollSize,\n onVirtualScrollEvt,\n localResetVirtualScroll,\n padVirtualScroll,\n\n scrollTo,\n reset,\n refresh\n }\n}\n","import { h, ref, computed, watch, onBeforeUpdate, onUpdated, onBeforeUnmount, nextTick, getCurrentInstance } from 'vue'\n\nimport QField from '../field/QField.js'\nimport QIcon from '../icon/QIcon.js'\nimport QChip from '../chip/QChip.js'\n\nimport QItem from '../item/QItem.js'\nimport QItemSection from '../item/QItemSection.js'\nimport QItemLabel from '../item/QItemLabel.js'\n\nimport QMenu from '../menu/QMenu.js'\nimport QDialog from '../dialog/QDialog.js'\n\nimport useField, { useFieldState, useFieldProps, useFieldEmits, fieldValueIsFilled } from '../../composables/private/use-field.js'\nimport { useVirtualScroll, useVirtualScrollProps } from '../virtual-scroll/use-virtual-scroll.js'\nimport { useFormProps, useFormInputNameAttr } from '../../composables/private/use-form.js'\nimport useKeyComposition from '../../composables/private/use-key-composition.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { isDeepEqual } from '../../utils/is.js'\nimport { stop, prevent, stopAndPrevent } from '../../utils/event.js'\nimport { normalizeToInterval } from '../../utils/format.js'\nimport { shouldIgnoreKey, isKeyCode } from '../../utils/private/key-composition.js'\nimport { hMergeSlot } from '../../utils/private/render.js'\n\nconst validateNewValueMode = v => [ 'add', 'add-unique', 'toggle' ].includes(v)\nconst reEscapeList = '.*+?^${}()|[]\\\\'\nconst fieldPropsList = Object.keys(useFieldProps)\n\nexport default createComponent({\n name: 'QSelect',\n\n inheritAttrs: false,\n\n props: {\n ...useVirtualScrollProps,\n ...useFormProps,\n ...useFieldProps,\n\n modelValue: {\n required: true\n },\n\n multiple: Boolean,\n\n displayValue: [ String, Number ],\n displayValueHtml: Boolean,\n dropdownIcon: String,\n\n options: {\n type: Array,\n default: () => []\n },\n\n optionValue: [ Function, String ],\n optionLabel: [ Function, String ],\n optionDisable: [ Function, String ],\n\n hideSelected: Boolean,\n hideDropdownIcon: Boolean,\n fillInput: Boolean,\n\n maxValues: [ Number, String ],\n\n optionsDense: Boolean,\n optionsDark: {\n type: Boolean,\n default: null\n },\n optionsSelectedClass: String,\n optionsHtml: Boolean,\n\n optionsCover: Boolean,\n\n menuShrink: Boolean,\n menuAnchor: String,\n menuSelf: String,\n menuOffset: Array,\n\n popupContentClass: String,\n popupContentStyle: [ String, Array, Object ],\n\n useInput: Boolean,\n useChips: Boolean,\n\n newValueMode: {\n type: String,\n validator: validateNewValueMode\n },\n\n mapOptions: Boolean,\n emitValue: Boolean,\n\n inputDebounce: {\n type: [ Number, String ],\n default: 500\n },\n\n inputClass: [ Array, String, Object ],\n inputStyle: [ Array, String, Object ],\n\n tabindex: {\n type: [ String, Number ],\n default: 0\n },\n\n autocomplete: String,\n\n transitionShow: String,\n transitionHide: String,\n transitionDuration: [ String, Number ],\n\n behavior: {\n type: String,\n validator: v => [ 'default', 'menu', 'dialog' ].includes(v),\n default: 'default'\n },\n\n virtualScrollItemSize: {\n type: [ Number, String ],\n default: void 0\n },\n\n onNewValue: Function,\n onFilter: Function\n },\n\n emits: [\n ...useFieldEmits,\n 'add', 'remove', 'inputValue', 'newValue',\n 'keyup', 'keypress', 'keydown',\n 'filterAbort'\n ],\n\n setup (props, { slots, emit }) {\n const { proxy } = getCurrentInstance()\n const { $q } = proxy\n\n const menu = ref(false)\n const dialog = ref(false)\n const optionIndex = ref(-1)\n const inputValue = ref('')\n const dialogFieldFocused = ref(false)\n const innerLoadingIndicator = ref(false)\n\n let filterTimer = null, inputValueTimer = null,\n innerValueCache,\n hasDialog, userInputValue, filterId = null, defaultInputValue,\n transitionShowComputed, searchBuffer, searchBufferExp\n\n const inputRef = ref(null)\n const targetRef = ref(null)\n const menuRef = ref(null)\n const dialogRef = ref(null)\n const menuContentRef = ref(null)\n\n const nameProp = useFormInputNameAttr(props)\n\n const onComposition = useKeyComposition(onInput)\n\n const virtualScrollLength = computed(() => (\n Array.isArray(props.options)\n ? props.options.length\n : 0\n ))\n\n const virtualScrollItemSizeComputed = computed(() => (\n props.virtualScrollItemSize === void 0\n ? (props.optionsDense === true ? 24 : 48)\n : props.virtualScrollItemSize\n ))\n\n const {\n virtualScrollSliceRange,\n virtualScrollSliceSizeComputed,\n localResetVirtualScroll,\n padVirtualScroll,\n onVirtualScrollEvt,\n scrollTo,\n setVirtualScrollSize\n } = useVirtualScroll({\n virtualScrollLength, getVirtualScrollTarget, getVirtualScrollEl,\n virtualScrollItemSizeComputed\n })\n\n const state = useFieldState()\n\n const innerValue = computed(() => {\n const\n mapNull = props.mapOptions === true && props.multiple !== true,\n val = props.modelValue !== void 0 && (props.modelValue !== null || mapNull === true)\n ? (props.multiple === true && Array.isArray(props.modelValue) ? props.modelValue : [ props.modelValue ])\n : []\n\n if (props.mapOptions === true && Array.isArray(props.options) === true) {\n const cache = props.mapOptions === true && innerValueCache !== void 0\n ? innerValueCache\n : []\n const values = val.map(v => getOption(v, cache))\n\n return props.modelValue === null && mapNull === true\n ? values.filter(v => v !== null)\n : values\n }\n\n return val\n })\n\n const innerFieldProps = computed(() => {\n const acc = {}\n fieldPropsList.forEach(key => {\n const val = props[ key ]\n if (val !== void 0) {\n acc[ key ] = val\n }\n })\n return acc\n })\n\n const isOptionsDark = computed(() => (\n props.optionsDark === null\n ? state.isDark.value\n : props.optionsDark\n ))\n\n const hasValue = computed(() => fieldValueIsFilled(innerValue.value))\n\n const computedInputClass = computed(() => {\n let cls = 'q-field__input q-placeholder col'\n\n if (props.hideSelected === true || innerValue.value.length === 0) {\n return [ cls, props.inputClass ]\n }\n\n cls += ' q-field__input--padding'\n\n return props.inputClass === void 0\n ? cls\n : [ cls, props.inputClass ]\n })\n\n const menuContentClass = computed(() =>\n (props.virtualScrollHorizontal === true ? 'q-virtual-scroll--horizontal' : '')\n + (props.popupContentClass ? ' ' + props.popupContentClass : '')\n )\n\n const noOptions = computed(() => virtualScrollLength.value === 0)\n\n const selectedString = computed(() =>\n innerValue.value\n .map(opt => getOptionLabel.value(opt))\n .join(', ')\n )\n\n const ariaCurrentValue = computed(() => (props.displayValue !== void 0\n ? props.displayValue\n : selectedString.value\n ))\n\n const needsHtmlFn = computed(() => (\n props.optionsHtml === true\n ? () => true\n : opt => opt !== void 0 && opt !== null && opt.html === true\n ))\n\n const valueAsHtml = computed(() => (\n props.displayValueHtml === true || (\n props.displayValue === void 0 && (\n props.optionsHtml === true\n || innerValue.value.some(needsHtmlFn.value)\n )\n )\n ))\n\n const tabindex = computed(() => (state.focused.value === true ? props.tabindex : -1))\n\n const comboboxAttrs = computed(() => {\n const attrs = {\n tabindex: props.tabindex,\n role: 'combobox',\n 'aria-label': props.label,\n 'aria-readonly': props.readonly === true ? 'true' : 'false',\n 'aria-autocomplete': props.useInput === true ? 'list' : 'none',\n 'aria-expanded': menu.value === true ? 'true' : 'false',\n 'aria-controls': `${ state.targetUid.value }_lb`\n }\n\n if (optionIndex.value >= 0) {\n attrs[ 'aria-activedescendant' ] = `${ state.targetUid.value }_${ optionIndex.value }`\n }\n\n return attrs\n })\n\n const listboxAttrs = computed(() => ({\n id: `${ state.targetUid.value }_lb`,\n role: 'listbox',\n 'aria-multiselectable': props.multiple === true ? 'true' : 'false'\n }))\n\n const selectedScope = computed(() => {\n return innerValue.value.map((opt, i) => ({\n index: i,\n opt,\n html: needsHtmlFn.value(opt),\n selected: true,\n removeAtIndex: removeAtIndexAndFocus,\n toggleOption,\n tabindex: tabindex.value\n }))\n })\n\n const optionScope = computed(() => {\n if (virtualScrollLength.value === 0) {\n return []\n }\n\n const { from, to } = virtualScrollSliceRange.value\n\n return props.options.slice(from, to).map((opt, i) => {\n const disable = isOptionDisabled.value(opt) === true\n const active = isOptionSelected(opt) === true\n const index = from + i\n\n const itemProps = {\n clickable: true,\n active,\n activeClass: computedOptionsSelectedClass.value,\n manualFocus: true,\n focused: false,\n disable,\n tabindex: -1,\n dense: props.optionsDense,\n dark: isOptionsDark.value,\n role: 'option',\n 'aria-selected': active === true ? 'true' : 'false',\n id: `${ state.targetUid.value }_${ index }`,\n onClick: () => { toggleOption(opt) }\n }\n\n if (disable !== true) {\n optionIndex.value === index && (itemProps.focused = true)\n\n if ($q.platform.is.desktop === true) {\n itemProps.onMousemove = () => { menu.value === true && setOptionIndex(index) }\n }\n }\n\n return {\n index,\n opt,\n html: needsHtmlFn.value(opt),\n label: getOptionLabel.value(opt),\n selected: itemProps.active,\n focused: itemProps.focused,\n toggleOption,\n setOptionIndex,\n itemProps\n }\n })\n })\n\n const dropdownArrowIcon = computed(() => (\n props.dropdownIcon !== void 0\n ? props.dropdownIcon\n : $q.iconSet.arrow.dropdown\n ))\n\n const squaredMenu = computed(() =>\n props.optionsCover === false\n && props.outlined !== true\n && props.standout !== true\n && props.borderless !== true\n && props.rounded !== true\n )\n\n const computedOptionsSelectedClass = computed(() => (\n props.optionsSelectedClass !== void 0\n ? props.optionsSelectedClass\n : (props.color !== void 0 ? `text-${ props.color }` : '')\n ))\n\n // returns method to get value of an option;\n // takes into account 'option-value' prop\n const getOptionValue = computed(() => getPropValueFn(props.optionValue, 'value'))\n\n // returns method to get label of an option;\n // takes into account 'option-label' prop\n const getOptionLabel = computed(() => getPropValueFn(props.optionLabel, 'label'))\n\n // returns method to tell if an option is disabled;\n // takes into account 'option-disable' prop\n const isOptionDisabled = computed(() => getPropValueFn(props.optionDisable, 'disable'))\n\n const innerOptionsValue = computed(() => innerValue.value.map(opt => getOptionValue.value(opt)))\n\n const inputControlEvents = computed(() => {\n const evt = {\n onInput,\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n onChange: onComposition,\n onKeydown: onTargetKeydown,\n onKeyup: onTargetAutocomplete,\n onKeypress: onTargetKeypress,\n onFocus: selectInputText,\n onClick (e) { hasDialog === true && stop(e) }\n }\n\n evt.onCompositionstart = evt.onCompositionupdate = evt.onCompositionend = onComposition\n\n return evt\n })\n\n watch(innerValue, val => {\n innerValueCache = val\n\n if (\n props.useInput === true\n && props.fillInput === true\n && props.multiple !== true\n // Prevent re-entering in filter while filtering\n // Also prevent clearing inputValue while filtering\n && state.innerLoading.value !== true\n && ((dialog.value !== true && menu.value !== true) || hasValue.value !== true)\n ) {\n userInputValue !== true && resetInputValue()\n if (dialog.value === true || menu.value === true) {\n filter('')\n }\n }\n }, { immediate: true })\n\n watch(() => props.fillInput, resetInputValue)\n\n watch(menu, updateMenu)\n\n watch(virtualScrollLength, rerenderMenu)\n\n function getEmittingOptionValue (opt) {\n return props.emitValue === true\n ? getOptionValue.value(opt)\n : opt\n }\n\n function removeAtIndex (index) {\n if (index > -1 && index < innerValue.value.length) {\n if (props.multiple === true) {\n const model = props.modelValue.slice()\n emit('remove', { index, value: model.splice(index, 1)[ 0 ] })\n emit('update:modelValue', model)\n }\n else {\n emit('update:modelValue', null)\n }\n }\n }\n\n function removeAtIndexAndFocus (index) {\n removeAtIndex(index)\n state.focus()\n }\n\n function add (opt, unique) {\n const val = getEmittingOptionValue(opt)\n\n if (props.multiple !== true) {\n props.fillInput === true && updateInputValue(\n getOptionLabel.value(opt),\n true,\n true\n )\n\n emit('update:modelValue', val)\n return\n }\n\n if (innerValue.value.length === 0) {\n emit('add', { index: 0, value: val })\n emit('update:modelValue', props.multiple === true ? [ val ] : val)\n return\n }\n\n if (unique === true && isOptionSelected(opt) === true) {\n return\n }\n\n if (props.maxValues !== void 0 && props.modelValue.length >= props.maxValues) {\n return\n }\n\n const model = props.modelValue.slice()\n\n emit('add', { index: model.length, value: val })\n model.push(val)\n emit('update:modelValue', model)\n }\n\n function toggleOption (opt, keepOpen) {\n if (state.editable.value !== true || opt === void 0 || isOptionDisabled.value(opt) === true) {\n return\n }\n\n const optValue = getOptionValue.value(opt)\n\n if (props.multiple !== true) {\n if (keepOpen !== true) {\n updateInputValue(\n props.fillInput === true ? getOptionLabel.value(opt) : '',\n true,\n true\n )\n\n hidePopup()\n }\n\n targetRef.value !== null && targetRef.value.focus()\n\n if (\n innerValue.value.length === 0\n || isDeepEqual(getOptionValue.value(innerValue.value[ 0 ]), optValue) !== true\n ) {\n emit('update:modelValue', props.emitValue === true ? optValue : opt)\n }\n return\n }\n\n (hasDialog !== true || dialogFieldFocused.value === true) && state.focus()\n\n selectInputText()\n\n if (innerValue.value.length === 0) {\n const val = props.emitValue === true ? optValue : opt\n emit('add', { index: 0, value: val })\n emit('update:modelValue', props.multiple === true ? [ val ] : val)\n return\n }\n\n const\n model = props.modelValue.slice(),\n index = innerOptionsValue.value.findIndex(v => isDeepEqual(v, optValue))\n\n if (index > -1) {\n emit('remove', { index, value: model.splice(index, 1)[ 0 ] })\n }\n else {\n if (props.maxValues !== void 0 && model.length >= props.maxValues) {\n return\n }\n\n const val = props.emitValue === true ? optValue : opt\n\n emit('add', { index: model.length, value: val })\n model.push(val)\n }\n\n emit('update:modelValue', model)\n }\n\n function setOptionIndex (index) {\n if ($q.platform.is.desktop !== true) { return }\n\n const val = index > -1 && index < virtualScrollLength.value\n ? index\n : -1\n\n if (optionIndex.value !== val) {\n optionIndex.value = val\n }\n }\n\n function moveOptionSelection (offset = 1, skipInputValue) {\n if (menu.value === true) {\n let index = optionIndex.value\n do {\n index = normalizeToInterval(\n index + offset,\n -1,\n virtualScrollLength.value - 1\n )\n }\n while (index !== -1 && index !== optionIndex.value && isOptionDisabled.value(props.options[ index ]) === true)\n\n if (optionIndex.value !== index) {\n setOptionIndex(index)\n scrollTo(index)\n\n if (skipInputValue !== true && props.useInput === true && props.fillInput === true) {\n setInputValue(\n index >= 0\n ? getOptionLabel.value(props.options[ index ])\n : defaultInputValue,\n true\n )\n }\n }\n }\n }\n\n function getOption (value, valueCache) {\n const fn = opt => isDeepEqual(getOptionValue.value(opt), value)\n return props.options.find(fn) || valueCache.find(fn) || value\n }\n\n function getPropValueFn (propValue, defaultVal) {\n const val = propValue !== void 0\n ? propValue\n : defaultVal\n\n return typeof val === 'function'\n ? val\n : opt => (opt !== null && typeof opt === 'object' && val in opt ? opt[ val ] : opt)\n }\n\n function isOptionSelected (opt) {\n const val = getOptionValue.value(opt)\n return innerOptionsValue.value.find(v => isDeepEqual(v, val)) !== void 0\n }\n\n function selectInputText (e) {\n if (\n props.useInput === true\n && targetRef.value !== null\n && (e === void 0 || (targetRef.value === e.target && e.target.value === selectedString.value))\n ) {\n targetRef.value.select()\n }\n }\n\n function onTargetKeyup (e) {\n // if ESC and we have an opened menu\n // then stop propagation (might be caught by a QDialog\n // and so it will also close the QDialog, which is wrong)\n if (isKeyCode(e, 27) === true && menu.value === true) {\n stop(e)\n // on ESC we need to close the dialog also\n hidePopup()\n resetInputValue()\n }\n\n emit('keyup', e)\n }\n\n function onTargetAutocomplete (e) {\n const { value } = e.target\n\n if (e.keyCode !== void 0) {\n onTargetKeyup(e)\n return\n }\n\n e.target.value = ''\n\n if (filterTimer !== null) {\n clearTimeout(filterTimer)\n filterTimer = null\n }\n if (inputValueTimer !== null) {\n clearTimeout(inputValueTimer)\n inputValueTimer = null\n }\n\n resetInputValue()\n\n if (typeof value === 'string' && value.length !== 0) {\n const needle = value.toLocaleLowerCase()\n const findFn = extractFn => {\n const option = props.options.find(opt => extractFn.value(opt).toLocaleLowerCase() === needle)\n\n if (option === void 0) {\n return false\n }\n\n if (innerValue.value.indexOf(option) === -1) {\n toggleOption(option)\n }\n else {\n hidePopup()\n }\n\n return true\n }\n const fillFn = afterFilter => {\n if (findFn(getOptionValue) === true) {\n return\n }\n if (findFn(getOptionLabel) === true || afterFilter === true) {\n return\n }\n\n filter(value, true, () => fillFn(true))\n }\n\n fillFn()\n }\n else {\n state.clearValue(e)\n }\n }\n\n function onTargetKeypress (e) {\n emit('keypress', e)\n }\n\n function onTargetKeydown (e) {\n emit('keydown', e)\n\n if (shouldIgnoreKey(e) === true) {\n return\n }\n\n const newValueModeValid = inputValue.value.length !== 0\n && (props.newValueMode !== void 0 || props.onNewValue !== void 0)\n\n const tabShouldSelect = e.shiftKey !== true\n && props.multiple !== true\n && (optionIndex.value > -1 || newValueModeValid === true)\n\n // escape\n if (e.keyCode === 27) {\n prevent(e) // prevent clearing the inputValue\n return\n }\n\n // tab\n if (e.keyCode === 9 && tabShouldSelect === false) {\n closeMenu()\n return\n }\n\n if (\n e.target === void 0\n || e.target.id !== state.targetUid.value\n || state.editable.value !== true\n ) { return }\n\n // down\n if (\n e.keyCode === 40\n && state.innerLoading.value !== true\n && menu.value === false\n ) {\n stopAndPrevent(e)\n showPopup()\n return\n }\n\n // backspace\n if (\n e.keyCode === 8\n && (\n props.useChips === true\n || props.clearable === true\n )\n && props.hideSelected !== true\n && inputValue.value.length === 0\n ) {\n if (props.multiple === true && Array.isArray(props.modelValue) === true) {\n removeAtIndex(props.modelValue.length - 1)\n }\n else if (props.multiple !== true && props.modelValue !== null) {\n emit('update:modelValue', null)\n }\n return\n }\n\n // home, end - 36, 35\n if (\n (e.keyCode === 35 || e.keyCode === 36)\n && (typeof inputValue.value !== 'string' || inputValue.value.length === 0)\n ) {\n stopAndPrevent(e)\n optionIndex.value = -1\n moveOptionSelection(e.keyCode === 36 ? 1 : -1, props.multiple)\n }\n\n // pg up, pg down - 33, 34\n if (\n (e.keyCode === 33 || e.keyCode === 34)\n && virtualScrollSliceSizeComputed.value !== void 0\n ) {\n stopAndPrevent(e)\n optionIndex.value = Math.max(\n -1,\n Math.min(\n virtualScrollLength.value,\n optionIndex.value + (e.keyCode === 33 ? -1 : 1) * virtualScrollSliceSizeComputed.value.view\n )\n )\n moveOptionSelection(e.keyCode === 33 ? 1 : -1, props.multiple)\n }\n\n // up, down\n if (e.keyCode === 38 || e.keyCode === 40) {\n stopAndPrevent(e)\n moveOptionSelection(e.keyCode === 38 ? -1 : 1, props.multiple)\n }\n\n const optionsLength = virtualScrollLength.value\n\n // clear search buffer if expired\n if (searchBuffer === void 0 || searchBufferExp < Date.now()) {\n searchBuffer = ''\n }\n\n // keyboard search when not having use-input\n if (\n optionsLength > 0\n && props.useInput !== true\n && e.key !== void 0\n && e.key.length === 1 // printable char\n && e.altKey === false // not kbd shortcut\n && e.ctrlKey === false // not kbd shortcut\n && e.metaKey === false // not kbd shortcut, especially on macOS with Command key\n && (e.keyCode !== 32 || searchBuffer.length !== 0) // space in middle of search\n ) {\n menu.value !== true && showPopup(e)\n\n const\n char = e.key.toLocaleLowerCase(),\n keyRepeat = searchBuffer.length === 1 && searchBuffer[ 0 ] === char\n\n searchBufferExp = Date.now() + 1500\n if (keyRepeat === false) {\n stopAndPrevent(e)\n searchBuffer += char\n }\n\n const searchRe = new RegExp('^' + searchBuffer.split('').map(l => (reEscapeList.indexOf(l) > -1 ? '\\\\' + l : l)).join('.*'), 'i')\n\n let index = optionIndex.value\n\n if (keyRepeat === true || index < 0 || searchRe.test(getOptionLabel.value(props.options[ index ])) !== true) {\n do {\n index = normalizeToInterval(index + 1, -1, optionsLength - 1)\n }\n while (index !== optionIndex.value && (\n isOptionDisabled.value(props.options[ index ]) === true\n || searchRe.test(getOptionLabel.value(props.options[ index ])) !== true\n ))\n }\n\n if (optionIndex.value !== index) {\n nextTick(() => {\n setOptionIndex(index)\n scrollTo(index)\n\n if (index >= 0 && props.useInput === true && props.fillInput === true) {\n setInputValue(getOptionLabel.value(props.options[ index ]), true)\n }\n })\n }\n\n return\n }\n\n // enter, space (when not using use-input and not in search), or tab (when not using multiple and option selected)\n // same target is checked above\n if (\n e.keyCode !== 13\n && (e.keyCode !== 32 || props.useInput === true || searchBuffer !== '')\n && (e.keyCode !== 9 || tabShouldSelect === false)\n ) { return }\n\n e.keyCode !== 9 && stopAndPrevent(e)\n\n if (optionIndex.value > -1 && optionIndex.value < optionsLength) {\n toggleOption(props.options[ optionIndex.value ])\n return\n }\n\n if (newValueModeValid === true) {\n const done = (val, mode) => {\n if (mode) {\n if (validateNewValueMode(mode) !== true) {\n return\n }\n }\n else {\n mode = props.newValueMode\n }\n\n updateInputValue('', props.multiple !== true, true)\n\n if (val === void 0 || val === null) {\n return\n }\n\n const fn = mode === 'toggle' ? toggleOption : add\n fn(val, mode === 'add-unique')\n\n if (props.multiple !== true) {\n targetRef.value !== null && targetRef.value.focus()\n hidePopup()\n }\n }\n\n if (props.onNewValue !== void 0) {\n emit('newValue', inputValue.value, done)\n }\n else {\n done(inputValue.value)\n }\n\n if (props.multiple !== true) {\n return\n }\n }\n\n if (menu.value === true) {\n closeMenu()\n }\n else if (state.innerLoading.value !== true) {\n showPopup()\n }\n }\n\n function getVirtualScrollEl () {\n return hasDialog === true\n ? menuContentRef.value\n : (\n menuRef.value !== null && menuRef.value.contentEl !== null\n ? menuRef.value.contentEl\n : void 0\n )\n }\n\n function getVirtualScrollTarget () {\n return getVirtualScrollEl()\n }\n\n function getSelection () {\n if (props.hideSelected === true) {\n return []\n }\n\n if (slots[ 'selected-item' ] !== void 0) {\n return selectedScope.value.map(scope => slots[ 'selected-item' ](scope)).slice()\n }\n\n if (slots.selected !== void 0) {\n return [].concat(slots.selected())\n }\n\n if (props.useChips === true) {\n return selectedScope.value.map((scope, i) => h(QChip, {\n key: 'option-' + i,\n removable: state.editable.value === true && isOptionDisabled.value(scope.opt) !== true,\n dense: true,\n textColor: props.color,\n tabindex: tabindex.value,\n onRemove () { scope.removeAtIndex(i) }\n }, () => h('span', {\n class: 'ellipsis',\n [ scope.html === true ? 'innerHTML' : 'textContent' ]: getOptionLabel.value(scope.opt)\n })))\n }\n\n return [\n h('span', {\n [ valueAsHtml.value === true ? 'innerHTML' : 'textContent' ]: ariaCurrentValue.value\n })\n ]\n }\n\n function getAllOptions () {\n if (noOptions.value === true) {\n return slots[ 'no-option' ] !== void 0\n ? slots[ 'no-option' ]({ inputValue: inputValue.value })\n : void 0\n }\n\n const fn = slots.option !== void 0\n ? slots.option\n : scope => {\n return h(QItem, {\n key: scope.index,\n ...scope.itemProps\n }, () => {\n return h(\n QItemSection,\n () => h(\n QItemLabel,\n () => h('span', {\n [ scope.html === true ? 'innerHTML' : 'textContent' ]: scope.label\n })\n )\n )\n })\n }\n\n let options = padVirtualScroll('div', optionScope.value.map(fn))\n\n if (slots[ 'before-options' ] !== void 0) {\n options = slots[ 'before-options' ]().concat(options)\n }\n\n return hMergeSlot(slots[ 'after-options' ], options)\n }\n\n function getInput (fromDialog, isTarget) {\n const attrs = isTarget === true ? { ...comboboxAttrs.value, ...state.splitAttrs.attributes.value } : void 0\n\n const data = {\n ref: isTarget === true ? targetRef : void 0,\n key: 'i_t',\n class: computedInputClass.value,\n style: props.inputStyle,\n value: inputValue.value !== void 0 ? inputValue.value : '',\n // required for Android in order to show ENTER key when in form\n type: 'search',\n ...attrs,\n id: isTarget === true ? state.targetUid.value : void 0,\n maxlength: props.maxlength,\n autocomplete: props.autocomplete,\n 'data-autofocus': fromDialog === true || props.autofocus === true || void 0,\n disabled: props.disable === true,\n readonly: props.readonly === true,\n ...inputControlEvents.value\n }\n\n if (fromDialog !== true && hasDialog === true) {\n if (Array.isArray(data.class) === true) {\n data.class = [ ...data.class, 'no-pointer-events' ]\n }\n else {\n data.class += ' no-pointer-events'\n }\n }\n\n return h('input', data)\n }\n\n function onInput (e) {\n if (filterTimer !== null) {\n clearTimeout(filterTimer)\n filterTimer = null\n }\n if (inputValueTimer !== null) {\n clearTimeout(inputValueTimer)\n inputValueTimer = null\n }\n\n if (e && e.target && e.target.qComposing === true) {\n return\n }\n\n setInputValue(e.target.value || '')\n // mark it here as user input so that if updateInputValue is called\n // before filter is called the indicator is reset\n userInputValue = true\n defaultInputValue = inputValue.value\n\n if (\n state.focused.value !== true\n && (hasDialog !== true || dialogFieldFocused.value === true)\n ) {\n state.focus()\n }\n\n if (props.onFilter !== void 0) {\n filterTimer = setTimeout(() => {\n filterTimer = null\n filter(inputValue.value)\n }, props.inputDebounce)\n }\n }\n\n function setInputValue (val, emitImmediately) {\n if (inputValue.value !== val) {\n inputValue.value = val\n\n if (emitImmediately === true || props.inputDebounce === 0 || props.inputDebounce === '0') {\n emit('inputValue', val)\n }\n else {\n inputValueTimer = setTimeout(() => {\n inputValueTimer = null\n emit('inputValue', val)\n }, props.inputDebounce)\n }\n }\n }\n\n function updateInputValue (val, noFiltering, internal) {\n userInputValue = internal !== true\n\n if (props.useInput === true) {\n setInputValue(val, true)\n\n if (noFiltering === true || internal !== true) {\n defaultInputValue = val\n }\n\n noFiltering !== true && filter(val)\n }\n }\n\n function filter (val, keepClosed, afterUpdateFn) {\n if (props.onFilter === void 0 || (keepClosed !== true && state.focused.value !== true)) {\n return\n }\n\n if (state.innerLoading.value === true) {\n emit('filterAbort')\n }\n else {\n state.innerLoading.value = true\n innerLoadingIndicator.value = true\n }\n\n if (\n val !== ''\n && props.multiple !== true\n && innerValue.value.length !== 0\n && userInputValue !== true\n && val === getOptionLabel.value(innerValue.value[ 0 ])\n ) {\n val = ''\n }\n\n const localFilterId = setTimeout(() => {\n menu.value === true && (menu.value = false)\n }, 10)\n\n filterId !== null && clearTimeout(filterId)\n filterId = localFilterId\n\n emit(\n 'filter',\n val,\n (fn, afterFn) => {\n if ((keepClosed === true || state.focused.value === true) && filterId === localFilterId) {\n clearTimeout(filterId)\n\n typeof fn === 'function' && fn()\n\n // hide indicator to allow arrow to animate\n innerLoadingIndicator.value = false\n\n nextTick(() => {\n state.innerLoading.value = false\n\n if (state.editable.value === true) {\n if (keepClosed === true) {\n menu.value === true && hidePopup()\n }\n else if (menu.value === true) {\n updateMenu(true)\n }\n else {\n menu.value = true\n }\n }\n\n typeof afterFn === 'function' && nextTick(() => { afterFn(proxy) })\n typeof afterUpdateFn === 'function' && nextTick(() => { afterUpdateFn(proxy) })\n })\n }\n },\n () => {\n if (state.focused.value === true && filterId === localFilterId) {\n clearTimeout(filterId)\n state.innerLoading.value = false\n innerLoadingIndicator.value = false\n }\n menu.value === true && (menu.value = false)\n }\n )\n }\n\n function getMenu () {\n return h(QMenu, {\n ref: menuRef,\n class: menuContentClass.value,\n style: props.popupContentStyle,\n modelValue: menu.value,\n fit: props.menuShrink !== true,\n cover: props.optionsCover === true && noOptions.value !== true && props.useInput !== true,\n anchor: props.menuAnchor,\n self: props.menuSelf,\n offset: props.menuOffset,\n dark: isOptionsDark.value,\n noParentEvent: true,\n noRefocus: true,\n noFocus: true,\n square: squaredMenu.value,\n transitionShow: props.transitionShow,\n transitionHide: props.transitionHide,\n transitionDuration: props.transitionDuration,\n separateClosePopup: true,\n ...listboxAttrs.value,\n onScrollPassive: onVirtualScrollEvt,\n onBeforeShow: onControlPopupShow,\n onBeforeHide: onMenuBeforeHide,\n onShow: onMenuShow\n }, getAllOptions)\n }\n\n function onMenuBeforeHide (e) {\n onControlPopupHide(e)\n closeMenu()\n }\n\n function onMenuShow () {\n setVirtualScrollSize()\n }\n\n function onDialogFieldFocus (e) {\n stop(e)\n targetRef.value !== null && targetRef.value.focus()\n dialogFieldFocused.value = true\n window.scrollTo(window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, 0)\n }\n\n function onDialogFieldBlur (e) {\n stop(e)\n nextTick(() => {\n dialogFieldFocused.value = false\n })\n }\n\n function getDialog () {\n const content = [\n h(QField, {\n class: `col-auto ${ state.fieldClass.value }`,\n ...innerFieldProps.value,\n for: state.targetUid.value,\n dark: isOptionsDark.value,\n square: true,\n loading: innerLoadingIndicator.value,\n itemAligned: false,\n filled: true,\n stackLabel: inputValue.value.length !== 0,\n ...state.splitAttrs.listeners.value,\n onFocus: onDialogFieldFocus,\n onBlur: onDialogFieldBlur\n }, {\n ...slots,\n rawControl: () => state.getControl(true),\n before: void 0,\n after: void 0\n })\n ]\n\n menu.value === true && content.push(\n h('div', {\n ref: menuContentRef,\n class: menuContentClass.value + ' scroll',\n style: props.popupContentStyle,\n ...listboxAttrs.value,\n onClick: prevent,\n onScrollPassive: onVirtualScrollEvt\n }, getAllOptions())\n )\n\n return h(QDialog, {\n ref: dialogRef,\n modelValue: dialog.value,\n position: props.useInput === true ? 'top' : void 0,\n transitionShow: transitionShowComputed,\n transitionHide: props.transitionHide,\n transitionDuration: props.transitionDuration,\n onBeforeShow: onControlPopupShow,\n onBeforeHide: onDialogBeforeHide,\n onHide: onDialogHide,\n onShow: onDialogShow\n }, () => h('div', {\n class: 'q-select__dialog'\n + (isOptionsDark.value === true ? ' q-select__dialog--dark q-dark' : '')\n + (dialogFieldFocused.value === true ? ' q-select__dialog--focused' : '')\n }, content))\n }\n\n function onDialogBeforeHide (e) {\n onControlPopupHide(e)\n\n if (dialogRef.value !== null) {\n dialogRef.value.__updateRefocusTarget(\n state.rootRef.value.querySelector('.q-field__native > [tabindex]:last-child')\n )\n }\n\n state.focused.value = false\n }\n\n function onDialogHide (e) {\n hidePopup()\n state.focused.value === false && emit('blur', e)\n resetInputValue()\n }\n\n function onDialogShow () {\n const el = document.activeElement\n if (\n (el === null || el.id !== state.targetUid.value)\n && targetRef.value !== null\n && targetRef.value !== el\n ) {\n targetRef.value.focus()\n }\n\n setVirtualScrollSize()\n }\n\n function closeMenu () {\n if (dialog.value === true) {\n return\n }\n\n optionIndex.value = -1\n\n if (menu.value === true) {\n menu.value = false\n }\n\n if (state.focused.value === false) {\n if (filterId !== null) {\n clearTimeout(filterId)\n filterId = null\n }\n\n if (state.innerLoading.value === true) {\n emit('filterAbort')\n state.innerLoading.value = false\n innerLoadingIndicator.value = false\n }\n }\n }\n\n function showPopup (e) {\n if (state.editable.value !== true) {\n return\n }\n\n if (hasDialog === true) {\n state.onControlFocusin(e)\n dialog.value = true\n nextTick(() => {\n state.focus()\n })\n }\n else {\n state.focus()\n }\n\n if (props.onFilter !== void 0) {\n filter(inputValue.value)\n }\n else if (noOptions.value !== true || slots[ 'no-option' ] !== void 0) {\n menu.value = true\n }\n }\n\n function hidePopup () {\n dialog.value = false\n closeMenu()\n }\n\n function resetInputValue () {\n props.useInput === true && updateInputValue(\n props.multiple !== true && props.fillInput === true && innerValue.value.length !== 0\n ? getOptionLabel.value(innerValue.value[ 0 ]) || ''\n : '',\n true,\n true\n )\n }\n\n function updateMenu (show) {\n let optionIndex = -1\n\n if (show === true) {\n if (innerValue.value.length !== 0) {\n const val = getOptionValue.value(innerValue.value[ 0 ])\n optionIndex = props.options.findIndex(v => isDeepEqual(getOptionValue.value(v), val))\n }\n\n localResetVirtualScroll(optionIndex)\n }\n\n setOptionIndex(optionIndex)\n }\n\n function rerenderMenu (newLength, oldLength) {\n if (menu.value === true && state.innerLoading.value === false) {\n localResetVirtualScroll(-1, true)\n\n nextTick(() => {\n if (menu.value === true && state.innerLoading.value === false) {\n if (newLength > oldLength) {\n localResetVirtualScroll()\n }\n else {\n updateMenu(true)\n }\n }\n })\n }\n }\n\n function updateMenuPosition () {\n if (dialog.value === false && menuRef.value !== null) {\n menuRef.value.updatePosition()\n }\n }\n\n function onControlPopupShow (e) {\n e !== void 0 && stop(e)\n emit('popupShow', e)\n state.hasPopupOpen = true\n state.onControlFocusin(e)\n }\n\n function onControlPopupHide (e) {\n e !== void 0 && stop(e)\n emit('popupHide', e)\n state.hasPopupOpen = false\n state.onControlFocusout(e)\n }\n\n function updatePreState () {\n hasDialog = $q.platform.is.mobile !== true && props.behavior !== 'dialog'\n ? false\n : props.behavior !== 'menu' && (\n props.useInput === true\n ? slots[ 'no-option' ] !== void 0 || props.onFilter !== void 0 || noOptions.value === false\n : true\n )\n\n transitionShowComputed = $q.platform.is.ios === true && hasDialog === true && props.useInput === true\n ? 'fade'\n : props.transitionShow\n }\n\n onBeforeUpdate(updatePreState)\n onUpdated(updateMenuPosition)\n\n updatePreState()\n\n onBeforeUnmount(() => {\n filterTimer !== null && clearTimeout(filterTimer)\n inputValueTimer !== null && clearTimeout(inputValueTimer)\n })\n\n // expose public methods\n Object.assign(proxy, {\n showPopup, hidePopup,\n removeAtIndex, add, toggleOption,\n getOptionIndex: () => optionIndex.value,\n setOptionIndex, moveOptionSelection,\n filter, updateMenuPosition, updateInputValue,\n isOptionSelected,\n getEmittingOptionValue,\n isOptionDisabled: (...args) => isOptionDisabled.value.apply(null, args) === true,\n getOptionValue: (...args) => getOptionValue.value.apply(null, args),\n getOptionLabel: (...args) => getOptionLabel.value.apply(null, args)\n })\n\n Object.assign(state, {\n innerValue,\n\n fieldClass: computed(() =>\n `q-select q-field--auto-height q-select--with${ props.useInput !== true ? 'out' : '' }-input`\n + ` q-select--with${ props.useChips !== true ? 'out' : '' }-chips`\n + ` q-select--${ props.multiple === true ? 'multiple' : 'single' }`\n ),\n\n inputRef,\n targetRef,\n hasValue,\n showPopup,\n\n floatingLabel: computed(() =>\n (props.hideSelected !== true && hasValue.value === true)\n || typeof inputValue.value === 'number'\n || inputValue.value.length !== 0\n || fieldValueIsFilled(props.displayValue)\n ),\n\n getControlChild: () => {\n if (\n state.editable.value !== false && (\n dialog.value === true // dialog always has menu displayed, so need to render it\n || noOptions.value !== true\n || slots[ 'no-option' ] !== void 0\n )\n ) {\n return hasDialog === true ? getDialog() : getMenu()\n }\n else if (state.hasPopupOpen === true) {\n // explicitly set it otherwise TAB will not blur component\n state.hasPopupOpen = false\n }\n },\n\n controlEvents: {\n onFocusin (e) { state.onControlFocusin(e) },\n onFocusout (e) {\n state.onControlFocusout(e, () => {\n resetInputValue()\n closeMenu()\n })\n },\n onClick (e) {\n // label from QField will propagate click on the input\n prevent(e)\n\n if (hasDialog !== true && menu.value === true) {\n closeMenu()\n targetRef.value !== null && targetRef.value.focus()\n return\n }\n\n showPopup(e)\n }\n },\n\n getControl: fromDialog => {\n const child = getSelection()\n const isTarget = fromDialog === true || dialog.value !== true || hasDialog !== true\n\n if (props.useInput === true) {\n child.push(getInput(fromDialog, isTarget))\n }\n // there can be only one (when dialog is opened the control in dialog should be target)\n else if (state.editable.value === true) {\n const attrs = isTarget === true ? comboboxAttrs.value : void 0\n\n child.push(\n h('input', {\n ref: isTarget === true ? targetRef : void 0,\n key: 'd_t',\n class: 'q-select__focus-target',\n id: isTarget === true ? state.targetUid.value : void 0,\n value: ariaCurrentValue.value,\n readonly: true,\n 'data-autofocus': fromDialog === true || props.autofocus === true || void 0,\n ...attrs,\n onKeydown: onTargetKeydown,\n onKeyup: onTargetKeyup,\n onKeypress: onTargetKeypress\n })\n )\n\n if (isTarget === true && typeof props.autocomplete === 'string' && props.autocomplete.length !== 0) {\n child.push(\n h('input', {\n class: 'q-select__autocomplete-input',\n autocomplete: props.autocomplete,\n tabindex: -1,\n onKeyup: onTargetAutocomplete\n })\n )\n }\n }\n\n if (nameProp.value !== void 0 && props.disable !== true && innerOptionsValue.value.length !== 0) {\n const opts = innerOptionsValue.value.map(value => h('option', { value, selected: true }))\n\n child.push(\n h('select', {\n class: 'hidden',\n name: nameProp.value,\n multiple: props.multiple\n }, opts)\n )\n }\n\n const attrs = props.useInput === true || isTarget !== true ? void 0 : state.splitAttrs.attributes.value\n\n return h('div', {\n class: 'q-field__native row items-center',\n ...attrs,\n ...state.splitAttrs.listeners.value\n }, child)\n },\n\n getInnerAppend: () => (\n props.loading !== true && innerLoadingIndicator.value !== true && props.hideDropdownIcon !== true\n ? [\n h(QIcon, {\n class: 'q-select__dropdown-icon' + (menu.value === true ? ' rotate-180' : ''),\n name: dropdownArrowIcon.value\n })\n ]\n : null\n )\n })\n\n return useField(state)\n }\n})\n","import { h, computed, getCurrentInstance } from 'vue'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\n\nimport { createComponent } from '../../utils/private/create.js'\n\nconst insetMap = {\n true: 'inset',\n item: 'item-inset',\n 'item-thumbnail': 'item-thumbnail-inset'\n}\n\nexport const margins = {\n xs: 2,\n sm: 4,\n md: 8,\n lg: 16,\n xl: 24\n}\n\nexport default createComponent({\n name: 'QSeparator',\n\n props: {\n ...useDarkProps,\n\n spaced: [ Boolean, String ],\n inset: [ Boolean, String ],\n vertical: Boolean,\n color: String,\n size: String\n },\n\n setup (props) {\n const vm = getCurrentInstance()\n const isDark = useDark(props, vm.proxy.$q)\n\n const orientation = computed(() => (\n props.vertical === true\n ? 'vertical'\n : 'horizontal'\n ))\n\n const orientClass = computed(() => ` q-separator--${ orientation.value }`)\n\n const insetClass = computed(() => (\n props.inset !== false\n ? `${ orientClass.value }-${ insetMap[ props.inset ] }`\n : ''\n ))\n\n const classes = computed(() =>\n `q-separator${ orientClass.value }${ insetClass.value }`\n + (props.color !== void 0 ? ` bg-${ props.color }` : '')\n + (isDark.value === true ? ' q-separator--dark' : '')\n )\n\n const style = computed(() => {\n const acc = {}\n\n if (props.size !== void 0) {\n acc[ props.vertical === true ? 'width' : 'height' ] = props.size\n }\n\n if (props.spaced !== false) {\n const size = props.spaced === true\n ? `${ margins.md }px`\n : props.spaced in margins ? `${ margins[ props.spaced ] }px` : props.spaced\n\n const dir = props.vertical === true\n ? [ 'Left', 'Right' ]\n : [ 'Top', 'Bottom' ]\n\n acc[ `margin${ dir[ 0 ] }` ] = acc[ `margin${ dir[ 1 ] }` ] = size\n }\n\n return acc\n })\n\n return () => h('hr', {\n class: classes.value,\n style: style.value,\n 'aria-orientation': orientation.value\n })\n }\n})\n","import { h } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\n\nconst space = h('div', { class: 'q-space' })\n\nexport default createComponent({\n name: 'QSpace',\n\n setup () {\n return () => space\n }\n})\n","import { computed } from 'vue'\nimport { useSizeDefaults } from '../../composables/private/use-size.js'\n\nexport const useSpinnerProps = {\n size: {\n type: [ Number, String ],\n default: '1em'\n },\n color: String\n}\n\nexport default function useSpinner (props) {\n return {\n cSize: computed(() => (\n props.size in useSizeDefaults\n ? `${ useSizeDefaults[ props.size ] }px`\n : props.size\n )),\n\n classes: computed(() =>\n 'q-spinner' + (props.color ? ` text-${ props.color }` : '')\n )\n }\n}\n","import { h } from 'vue'\n\nimport useSpinner, { useSpinnerProps } from './use-spinner.js'\n\nimport { createComponent } from '../../utils/private/create.js'\n\nexport default createComponent({\n name: 'QSpinner',\n\n props: {\n ...useSpinnerProps,\n\n thickness: {\n type: Number,\n default: 5\n }\n },\n\n setup (props) {\n const { cSize, classes } = useSpinner(props)\n\n return () => h('svg', {\n class: classes.value + ' q-spinner-mat',\n width: cSize.value,\n height: cSize.value,\n viewBox: '25 25 50 50'\n }, [\n h('circle', {\n class: 'path',\n cx: '50',\n cy: '50',\n r: '20',\n fill: 'none',\n stroke: 'currentColor',\n 'stroke-width': props.thickness,\n 'stroke-miterlimit': '10'\n })\n ])\n }\n})\n","import { h, computed, provide, getCurrentInstance } from 'vue'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\nimport { timelineKey } from '../../utils/private/symbols.js'\n\nexport default createComponent({\n name: 'QTimeline',\n\n props: {\n ...useDarkProps,\n\n color: {\n type: String,\n default: 'primary'\n },\n side: {\n type: String,\n default: 'right',\n validator: v => [ 'left', 'right' ].includes(v)\n },\n layout: {\n type: String,\n default: 'dense',\n validator: v => [ 'dense', 'comfortable', 'loose' ].includes(v)\n }\n },\n\n setup (props, { slots }) {\n const vm = getCurrentInstance()\n const isDark = useDark(props, vm.proxy.$q)\n\n provide(timelineKey, props)\n\n const classes = computed(() =>\n `q-timeline q-timeline--${ props.layout } q-timeline--${ props.layout }--${ props.side }`\n + (isDark.value === true ? ' q-timeline--dark' : '')\n )\n\n return () => h('ul', { class: classes.value }, hSlot(slots.default))\n }\n})\n","import { h, computed, inject } from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot, hUniqueSlot } from '../../utils/private/render.js'\nimport { timelineKey, emptyRenderFn } from '../../utils/private/symbols.js'\n\nexport default createComponent({\n name: 'QTimelineEntry',\n\n props: {\n heading: Boolean,\n tag: {\n type: String,\n default: 'h3'\n },\n side: {\n type: String,\n default: 'right',\n validator: v => [ 'left', 'right' ].includes(v)\n },\n\n icon: String,\n avatar: String,\n\n color: String,\n\n title: String,\n subtitle: String,\n body: String\n },\n\n setup (props, { slots }) {\n const $timeline = inject(timelineKey, emptyRenderFn)\n if ($timeline === emptyRenderFn) {\n console.error('QTimelineEntry needs to be child of QTimeline')\n return emptyRenderFn\n }\n\n const classes = computed(() =>\n `q-timeline__entry q-timeline__entry--${ props.side }`\n + (props.icon !== void 0 || props.avatar !== void 0 ? ' q-timeline__entry--icon' : '')\n )\n\n const dotClass = computed(() =>\n `q-timeline__dot text-${ props.color || $timeline.color }`\n )\n\n const reverse = computed(() =>\n $timeline.layout === 'comfortable' && $timeline.side === 'left'\n )\n\n return () => {\n const child = hUniqueSlot(slots.default, [])\n\n if (props.body !== void 0) {\n child.unshift(props.body)\n }\n\n if (props.heading === true) {\n const content = [\n h('div'),\n h('div'),\n h(\n props.tag,\n { class: 'q-timeline__heading-title' },\n child\n )\n ]\n\n return h('div', {\n class: 'q-timeline__heading'\n }, reverse.value === true ? content.reverse() : content)\n }\n\n let dot\n\n if (props.icon !== void 0) {\n dot = [\n h(QIcon, {\n class: 'row items-center justify-center',\n name: props.icon\n })\n ]\n }\n else if (props.avatar !== void 0) {\n dot = [\n h('img', {\n class: 'q-timeline__dot-img',\n src: props.avatar\n })\n ]\n }\n\n const content = [\n h('div', { class: 'q-timeline__subtitle' }, [\n h('span', {}, hSlot(slots.subtitle, [ props.subtitle ]))\n ]),\n\n h('div', { class: dotClass.value }, dot),\n\n h('div', { class: 'q-timeline__content' }, [\n h('h6', { class: 'q-timeline__title' }, hSlot(slots.title, [ props.title ]))\n ].concat(child))\n ]\n\n return h('li', {\n class: classes.value\n }, reverse.value === true ? content.reverse() : content)\n }\n }\n})\n","import { h, computed, ref } from 'vue'\n\nexport default function (props, rootRef) {\n const refocusRef = ref(null)\n\n const refocusTargetEl = computed(() => {\n if (props.disable === true) {\n return null\n }\n\n return h('span', {\n ref: refocusRef,\n class: 'no-outline',\n tabindex: -1\n })\n })\n\n function refocusTarget (e) {\n const root = rootRef.value\n\n if (e !== void 0 && e.type.indexOf('key') === 0) {\n if (\n root !== null\n && document.activeElement !== root\n && root.contains(document.activeElement) === true\n ) {\n root.focus()\n }\n }\n else if (\n refocusRef.value !== null\n && (e === void 0 || (root !== null && root.contains(e.target) === true))\n ) {\n refocusRef.value.focus()\n }\n }\n\n return {\n refocusTargetEl,\n refocusTarget\n }\n}\n","export default {\n xs: 30,\n sm: 35,\n md: 40,\n lg: 50,\n xl: 60\n}\n","import { h, ref, computed, getCurrentInstance, toRaw } from 'vue'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport useSize, { useSizeProps } from '../../composables/private/use-size.js'\nimport useRefocusTarget from '../../composables/private/use-refocus-target.js'\nimport { useFormInject, useFormProps } from '../../composables/private/use-form.js'\n\nimport optionSizes from '../../utils/private/option-sizes.js'\nimport { stopAndPrevent } from '../../utils/event.js'\nimport { hSlot, hMergeSlot } from '../../utils/private/render.js'\n\nexport const useCheckboxProps = {\n ...useDarkProps,\n ...useSizeProps,\n ...useFormProps,\n\n modelValue: {\n required: true,\n default: null\n },\n val: {},\n\n trueValue: { default: true },\n falseValue: { default: false },\n indeterminateValue: { default: null },\n\n checkedIcon: String,\n uncheckedIcon: String,\n indeterminateIcon: String,\n\n toggleOrder: {\n type: String,\n validator: v => v === 'tf' || v === 'ft'\n },\n toggleIndeterminate: Boolean,\n\n label: String,\n leftLabel: Boolean,\n\n color: String,\n keepColor: Boolean,\n dense: Boolean,\n\n disable: Boolean,\n tabindex: [ String, Number ]\n}\n\nexport const useCheckboxEmits = [ 'update:modelValue' ]\n\nexport default function (type, getInner) {\n const { props, slots, emit, proxy } = getCurrentInstance()\n const { $q } = proxy\n\n const isDark = useDark(props, $q)\n\n const rootRef = ref(null)\n const { refocusTargetEl, refocusTarget } = useRefocusTarget(props, rootRef)\n const sizeStyle = useSize(props, optionSizes)\n\n const modelIsArray = computed(() =>\n props.val !== void 0 && Array.isArray(props.modelValue)\n )\n\n const index = computed(() => {\n const val = toRaw(props.val)\n return modelIsArray.value === true\n ? props.modelValue.findIndex(opt => toRaw(opt) === val)\n : -1\n })\n\n const isTrue = computed(() => (\n modelIsArray.value === true\n ? index.value > -1\n : toRaw(props.modelValue) === toRaw(props.trueValue)\n ))\n\n const isFalse = computed(() => (\n modelIsArray.value === true\n ? index.value === -1\n : toRaw(props.modelValue) === toRaw(props.falseValue)\n ))\n\n const isIndeterminate = computed(() =>\n isTrue.value === false && isFalse.value === false\n )\n\n const tabindex = computed(() => (\n props.disable === true ? -1 : props.tabindex || 0\n ))\n\n const classes = computed(() =>\n `q-${ type } cursor-pointer no-outline row inline no-wrap items-center`\n + (props.disable === true ? ' disabled' : '')\n + (isDark.value === true ? ` q-${ type }--dark` : '')\n + (props.dense === true ? ` q-${ type }--dense` : '')\n + (props.leftLabel === true ? ' reverse' : '')\n )\n\n const innerClass = computed(() => {\n const state = isTrue.value === true ? 'truthy' : (isFalse.value === true ? 'falsy' : 'indet')\n const color = props.color !== void 0 && (\n props.keepColor === true\n || (type === 'toggle' ? isTrue.value === true : isFalse.value !== true)\n )\n ? ` text-${ props.color }`\n : ''\n\n return `q-${ type }__inner relative-position non-selectable q-${ type }__inner--${ state }${ color }`\n })\n\n const formAttrs = computed(() => {\n const prop = { type: 'checkbox' }\n\n props.name !== void 0 && Object.assign(prop, {\n // see https://vuejs.org/guide/extras/render-function.html#creating-vnodes (.prop)\n '.checked': isTrue.value,\n '^checked': isTrue.value === true ? 'checked' : void 0,\n name: props.name,\n value: modelIsArray.value === true\n ? props.val\n : props.trueValue\n })\n\n return prop\n })\n\n const injectFormInput = useFormInject(formAttrs)\n\n const attributes = computed(() => {\n const attrs = {\n tabindex: tabindex.value,\n role: type === 'toggle' ? 'switch' : 'checkbox',\n 'aria-label': props.label,\n 'aria-checked': isIndeterminate.value === true\n ? 'mixed'\n : (isTrue.value === true ? 'true' : 'false')\n }\n\n if (props.disable === true) {\n attrs[ 'aria-disabled' ] = 'true'\n }\n\n return attrs\n })\n\n function onClick (e) {\n if (e !== void 0) {\n stopAndPrevent(e)\n refocusTarget(e)\n }\n\n if (props.disable !== true) {\n emit('update:modelValue', getNextValue(), e)\n }\n }\n\n function getNextValue () {\n if (modelIsArray.value === true) {\n if (isTrue.value === true) {\n const val = props.modelValue.slice()\n val.splice(index.value, 1)\n return val\n }\n\n return props.modelValue.concat([ props.val ])\n }\n\n if (isTrue.value === true) {\n if (props.toggleOrder !== 'ft' || props.toggleIndeterminate === false) {\n return props.falseValue\n }\n }\n else if (isFalse.value === true) {\n if (props.toggleOrder === 'ft' || props.toggleIndeterminate === false) {\n return props.trueValue\n }\n }\n else {\n return props.toggleOrder !== 'ft'\n ? props.trueValue\n : props.falseValue\n }\n\n return props.indeterminateValue\n }\n\n function onKeydown (e) {\n if (e.keyCode === 13 || e.keyCode === 32) {\n stopAndPrevent(e)\n }\n }\n\n function onKeyup (e) {\n if (e.keyCode === 13 || e.keyCode === 32) {\n onClick(e)\n }\n }\n\n const getInnerContent = getInner(isTrue, isIndeterminate)\n\n // expose public methods\n Object.assign(proxy, { toggle: onClick })\n\n return () => {\n const inner = getInnerContent()\n\n props.disable !== true && injectFormInput(\n inner,\n 'unshift',\n ` q-${ type }__native absolute q-ma-none q-pa-none`\n )\n\n const child = [\n h('div', {\n class: innerClass.value,\n style: sizeStyle.value,\n 'aria-hidden': 'true'\n }, inner)\n ]\n\n if (refocusTargetEl.value !== null) {\n child.push(refocusTargetEl.value)\n }\n\n const label = props.label !== void 0\n ? hMergeSlot(slots.default, [ props.label ])\n : hSlot(slots.default)\n\n label !== void 0 && child.push(\n h('div', {\n class: `q-${ type }__label q-anchor--skip`\n }, label)\n )\n\n return h('div', {\n ref: rootRef,\n class: classes.value,\n ...attributes.value,\n onClick,\n onKeydown,\n onKeyup\n }, child)\n }\n}\n","import { h, computed } from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport useCheckbox, { useCheckboxProps, useCheckboxEmits } from '../checkbox/use-checkbox.js'\n\nimport { createComponent } from '../../utils/private/create.js'\n\nexport default createComponent({\n name: 'QToggle',\n\n props: {\n ...useCheckboxProps,\n\n icon: String,\n iconColor: String\n },\n\n emits: useCheckboxEmits,\n\n setup (props) {\n function getInner (isTrue, isIndeterminate) {\n const icon = computed(() =>\n (isTrue.value === true\n ? props.checkedIcon\n : (isIndeterminate.value === true ? props.indeterminateIcon : props.uncheckedIcon)\n ) || props.icon\n )\n\n const color = computed(() => (isTrue.value === true ? props.iconColor : null))\n\n return () => [\n h('div', { class: 'q-toggle__track' }),\n\n h('div', {\n class: 'q-toggle__thumb absolute flex flex-center no-wrap'\n }, icon.value !== void 0\n ? [\n h(QIcon, {\n name: icon.value,\n color: color.value\n })\n ]\n : void 0\n )\n ]\n }\n\n return useCheckbox('toggle', getInner)\n }\n})\n","import { computed } from 'vue'\n\nexport const alignMap = {\n left: 'start',\n center: 'center',\n right: 'end',\n between: 'between',\n around: 'around',\n evenly: 'evenly',\n stretch: 'stretch'\n}\n\nexport const alignValues = Object.keys(alignMap)\n\nexport const useAlignProps = {\n align: {\n type: String,\n validator: v => alignValues.includes(v)\n }\n}\n\nexport default function (props) {\n // return alignClass\n return computed(() => {\n const align = props.align === void 0\n ? props.vertical === true ? 'stretch' : 'left'\n : props.align\n\n return `${ props.vertical === true ? 'items' : 'justify' }-${ alignMap[ align ] }`\n })\n}\n","import { computed } from 'vue'\n\nexport const useDarkProps = {\n dark: {\n type: Boolean,\n default: null\n }\n}\n\nexport default function (props, $q) {\n // return isDark\n return computed(() => (\n props.dark === null\n ? $q.dark.isActive\n : props.dark\n ))\n}\n","import { inject, watch, getCurrentInstance, onMounted, onBeforeUnmount } from 'vue'\n\nimport { formKey } from '../utils/private/symbols.js'\n\nexport default function ({ validate, resetValidation, requiresQForm }) {\n const $form = inject(formKey, false)\n\n if ($form !== false) {\n const { props, proxy } = getCurrentInstance()\n\n // export public method (so it can be used in QForm)\n Object.assign(proxy, { validate, resetValidation })\n\n watch(() => props.disable, val => {\n if (val === true) {\n typeof resetValidation === 'function' && resetValidation()\n $form.unbindComponent(proxy)\n }\n else {\n $form.bindComponent(proxy)\n }\n })\n\n onMounted(() => {\n // register to parent QForm\n props.disable !== true && $form.bindComponent(proxy)\n })\n\n onBeforeUnmount(() => {\n // un-register from parent QForm\n props.disable !== true && $form.unbindComponent(proxy)\n })\n }\n else if (requiresQForm === true) {\n console.error('Parent QForm not found on useFormChild()!')\n }\n}\n","// file referenced from docs\n\nconst\n hex = /^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/,\n hexa = /^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/,\n hexOrHexa = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,\n rgb = /^rgb\\(((0|[1-9][\\d]?|1[\\d]{0,2}|2[\\d]?|2[0-4][\\d]|25[0-5]),){2}(0|[1-9][\\d]?|1[\\d]{0,2}|2[\\d]?|2[0-4][\\d]|25[0-5])\\)$/,\n rgba = /^rgba\\(((0|[1-9][\\d]?|1[\\d]{0,2}|2[\\d]?|2[0-4][\\d]|25[0-5]),){2}(0|[1-9][\\d]?|1[\\d]{0,2}|2[\\d]?|2[0-4][\\d]|25[0-5]),(0|0\\.[0-9]+[1-9]|0\\.[1-9]+|1)\\)$/\n\n// Keep in sync with ui/types/api/validation.d.ts\nexport const testPattern = {\n date: v => /^-?[\\d]+\\/[0-1]\\d\\/[0-3]\\d$/.test(v),\n time: v => /^([0-1]?\\d|2[0-3]):[0-5]\\d$/.test(v),\n fulltime: v => /^([0-1]?\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/.test(v),\n timeOrFulltime: v => /^([0-1]?\\d|2[0-3]):[0-5]\\d(:[0-5]\\d)?$/.test(v),\n\n // -- RFC 5322 --\n // -- Added in v2.6.6 --\n // This is a basic helper validation.\n // For something more complex (like RFC 822) you should write and use your own rule.\n // We won't be accepting PRs to enhance the one below because of the reason above.\n // eslint-disable-next-line\n email: v => /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(v),\n\n hexColor: v => hex.test(v),\n hexaColor: v => hexa.test(v),\n hexOrHexaColor: v => hexOrHexa.test(v),\n\n rgbColor: v => rgb.test(v),\n rgbaColor: v => rgba.test(v),\n rgbOrRgbaColor: v => rgb.test(v) || rgba.test(v),\n\n hexOrRgbColor: v => hex.test(v) || rgb.test(v),\n hexaOrRgbaColor: v => hexa.test(v) || rgba.test(v),\n anyColor: v => hexOrHexa.test(v) || rgb.test(v) || rgba.test(v)\n}\n\nexport default {\n testPattern\n}\n","import { ref, computed, watch, onBeforeUnmount, getCurrentInstance } from 'vue'\n\nimport useFormChild from '../use-form-child.js'\nimport { testPattern } from '../../utils/patterns.js'\nimport debounce from '../../utils/debounce.js'\nimport { injectProp } from '../../utils/private/inject-obj-prop.js'\n\nconst lazyRulesValues = [ true, false, 'ondemand' ]\n\nexport const useValidateProps = {\n modelValue: {},\n\n error: {\n type: Boolean,\n default: null\n },\n errorMessage: String,\n noErrorIcon: Boolean,\n\n rules: Array,\n reactiveRules: Boolean,\n lazyRules: {\n type: [ Boolean, String ],\n validator: v => lazyRulesValues.includes(v)\n }\n}\n\nexport default function (focused, innerLoading) {\n const { props, proxy } = getCurrentInstance()\n\n const innerError = ref(false)\n const innerErrorMessage = ref(null)\n const isDirtyModel = ref(null)\n\n useFormChild({ validate, resetValidation })\n\n let validateIndex = 0, unwatchRules\n\n const hasRules = computed(() =>\n props.rules !== void 0\n && props.rules !== null\n && props.rules.length !== 0\n )\n\n const hasActiveRules = computed(() =>\n props.disable !== true\n && hasRules.value === true\n )\n\n const hasError = computed(() =>\n props.error === true || innerError.value === true\n )\n\n const errorMessage = computed(() => (\n typeof props.errorMessage === 'string' && props.errorMessage.length !== 0\n ? props.errorMessage\n : innerErrorMessage.value\n ))\n\n watch(() => props.modelValue, () => {\n validateIfNeeded()\n })\n\n watch(() => props.reactiveRules, val => {\n if (val === true) {\n if (unwatchRules === void 0) {\n unwatchRules = watch(() => props.rules, () => {\n validateIfNeeded(true)\n })\n }\n }\n else if (unwatchRules !== void 0) {\n unwatchRules()\n unwatchRules = void 0\n }\n }, { immediate: true })\n\n watch(focused, val => {\n if (val === true) {\n if (isDirtyModel.value === null) {\n isDirtyModel.value = false\n }\n }\n else if (isDirtyModel.value === false) {\n isDirtyModel.value = true\n\n if (\n hasActiveRules.value === true\n && props.lazyRules !== 'ondemand'\n // Don't re-trigger if it's already in progress;\n // It might mean that focus switched to submit btn and\n // QForm's submit() has been called already (ENTER key)\n && innerLoading.value === false\n ) {\n debouncedValidate()\n }\n }\n })\n\n function resetValidation () {\n validateIndex++\n innerLoading.value = false\n isDirtyModel.value = null\n innerError.value = false\n innerErrorMessage.value = null\n debouncedValidate.cancel()\n }\n\n /*\n * Return value\n * - true (validation succeeded)\n * - false (validation failed)\n * - Promise (pending async validation)\n */\n function validate (val = props.modelValue) {\n if (hasActiveRules.value !== true) {\n return true\n }\n\n const index = ++validateIndex\n\n const setDirty = innerLoading.value !== true\n ? () => { isDirtyModel.value = true }\n : () => {}\n\n const update = (err, msg) => {\n err === true && setDirty()\n\n innerError.value = err\n innerErrorMessage.value = msg || null\n innerLoading.value = false\n }\n\n const promises = []\n\n for (let i = 0; i < props.rules.length; i++) {\n const rule = props.rules[ i ]\n let res\n\n if (typeof rule === 'function') {\n res = rule(val, testPattern)\n }\n else if (typeof rule === 'string' && testPattern[ rule ] !== void 0) {\n res = testPattern[ rule ](val)\n }\n\n if (res === false || typeof res === 'string') {\n update(true, res)\n return false\n }\n else if (res !== true && res !== void 0) {\n promises.push(res)\n }\n }\n\n if (promises.length === 0) {\n update(false)\n return true\n }\n\n innerLoading.value = true\n\n return Promise.all(promises).then(\n res => {\n if (res === void 0 || Array.isArray(res) === false || res.length === 0) {\n index === validateIndex && update(false)\n return true\n }\n\n const msg = res.find(r => r === false || typeof r === 'string')\n index === validateIndex && update(msg !== void 0, msg)\n return msg === void 0\n },\n e => {\n if (index === validateIndex) {\n console.error(e)\n update(true)\n }\n\n return false\n }\n )\n }\n\n function validateIfNeeded (changedRules) {\n if (\n hasActiveRules.value === true\n && props.lazyRules !== 'ondemand'\n && (isDirtyModel.value === true || (props.lazyRules !== true && changedRules !== true))\n ) {\n debouncedValidate()\n }\n }\n\n const debouncedValidate = debounce(validate, 0)\n\n onBeforeUnmount(() => {\n unwatchRules !== void 0 && unwatchRules()\n debouncedValidate.cancel()\n })\n\n // expose public methods & props\n Object.assign(proxy, { resetValidation, validate })\n injectProp(proxy, 'hasError', () => hasError.value)\n\n return {\n isDirtyModel,\n hasRules,\n hasError,\n errorMessage,\n\n validate,\n resetValidation\n }\n}\n","import { ref, onBeforeUpdate } from 'vue'\n\nconst listenerRE = /^on[A-Z]/\n\nexport default function (attrs, vnode) {\n const acc = {\n listeners: ref({}),\n attributes: ref({})\n }\n\n function update () {\n const attributes = {}\n const listeners = {}\n\n for (const key in attrs) {\n if (key !== 'class' && key !== 'style' && listenerRE.test(key) === false) {\n attributes[ key ] = attrs[ key ]\n }\n }\n\n for (const key in vnode.props) {\n if (listenerRE.test(key) === true) {\n listeners[ key ] = vnode.props[ key ]\n }\n }\n\n acc.attributes.value = attributes\n acc.listeners.value = listeners\n }\n\n onBeforeUpdate(update)\n\n update()\n\n return acc\n}\n","/**\n * Based on the work of https://github.com/jchook/uuid-random\n */\n\nlet\n buf,\n bufIdx = 0\nconst hexBytes = new Array(256)\n\n// Pre-calculate toString(16) for speed\nfor (let i = 0; i < 256; i++) {\n hexBytes[ i ] = (i + 0x100).toString(16).substring(1)\n}\n\n// Use best available PRNG\nconst randomBytes = (() => {\n // Node & Browser support\n const lib = typeof crypto !== 'undefined'\n ? crypto\n : (\n typeof window !== 'undefined'\n ? window.crypto || window.msCrypto\n : void 0\n )\n\n if (lib !== void 0) {\n if (lib.randomBytes !== void 0) {\n return lib.randomBytes\n }\n if (lib.getRandomValues !== void 0) {\n return n => {\n const bytes = new Uint8Array(n)\n lib.getRandomValues(bytes)\n return bytes\n }\n }\n }\n\n return n => {\n const r = []\n for (let i = n; i > 0; i--) {\n r.push(Math.floor(Math.random() * 256))\n }\n return r\n }\n})()\n\n// Buffer random numbers for speed\n// Reduce memory usage by decreasing this number (min 16)\n// or improve speed by increasing this number (try 16384)\nconst BUFFER_SIZE = 4096\n\nexport default function () {\n // Buffer some random bytes for speed\n if (buf === void 0 || (bufIdx + 16 > BUFFER_SIZE)) {\n bufIdx = 0\n buf = randomBytes(BUFFER_SIZE)\n }\n\n const b = Array.prototype.slice.call(buf, bufIdx, (bufIdx += 16))\n b[ 6 ] = (b[ 6 ] & 0x0f) | 0x40\n b[ 8 ] = (b[ 8 ] & 0x3f) | 0x80\n\n return hexBytes[ b[ 0 ] ] + hexBytes[ b[ 1 ] ]\n + hexBytes[ b[ 2 ] ] + hexBytes[ b[ 3 ] ] + '-'\n + hexBytes[ b[ 4 ] ] + hexBytes[ b[ 5 ] ] + '-'\n + hexBytes[ b[ 6 ] ] + hexBytes[ b[ 7 ] ] + '-'\n + hexBytes[ b[ 8 ] ] + hexBytes[ b[ 9 ] ] + '-'\n + hexBytes[ b[ 10 ] ] + hexBytes[ b[ 11 ] ]\n + hexBytes[ b[ 12 ] ] + hexBytes[ b[ 13 ] ]\n + hexBytes[ b[ 14 ] ] + hexBytes[ b[ 15 ] ]\n}\n","import { h, ref, computed, watch, Transition, nextTick, onActivated, onDeactivated, onBeforeUnmount, onMounted, getCurrentInstance } from 'vue'\n\nimport { isRuntimeSsrPreHydration } from '../../plugins/Platform.js'\n\nimport QIcon from '../../components/icon/QIcon.js'\nimport QSpinner from '../../components/spinner/QSpinner.js'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport useValidate, { useValidateProps } from './use-validate.js'\nimport useSplitAttrs from './use-split-attrs.js'\n\nimport { hSlot } from '../../utils/private/render.js'\nimport uid from '../../utils/uid.js'\nimport { prevent, stopAndPrevent } from '../../utils/event.js'\nimport { addFocusFn, removeFocusFn } from '../../utils/private/focus-manager.js'\n\nfunction getTargetUid (val, requiredForAttr) {\n return val === void 0\n ? (requiredForAttr === true ? `f_${ uid() }` : void 0)\n : val\n}\n\nexport function fieldValueIsFilled (val) {\n return val !== void 0\n && val !== null\n && ('' + val).length !== 0\n}\n\nexport const useFieldProps = {\n ...useDarkProps,\n ...useValidateProps,\n\n label: String,\n stackLabel: Boolean,\n hint: String,\n hideHint: Boolean,\n prefix: String,\n suffix: String,\n\n labelColor: String,\n color: String,\n bgColor: String,\n\n filled: Boolean,\n outlined: Boolean,\n borderless: Boolean,\n standout: [ Boolean, String ],\n\n square: Boolean,\n\n loading: Boolean,\n\n labelSlot: Boolean,\n\n bottomSlots: Boolean,\n hideBottomSpace: Boolean,\n\n rounded: Boolean,\n dense: Boolean,\n itemAligned: Boolean,\n\n counter: Boolean,\n\n clearable: Boolean,\n clearIcon: String,\n\n disable: Boolean,\n readonly: Boolean,\n\n autofocus: Boolean,\n\n for: String,\n\n maxlength: [ Number, String ]\n}\n\nexport const useFieldEmits = [ 'update:modelValue', 'clear', 'focus', 'blur', 'popupShow', 'popupHide' ]\n\nexport function useFieldState ({ requiredForAttr = true, tagProp } = {}) {\n const { props, attrs, proxy, vnode } = getCurrentInstance()\n\n const isDark = useDark(props, proxy.$q)\n\n return {\n requiredForAttr,\n tag: tagProp === true\n ? computed(() => props.tag)\n : { value: 'label' },\n\n isDark,\n\n editable: computed(() =>\n props.disable !== true && props.readonly !== true\n ),\n\n innerLoading: ref(false),\n focused: ref(false),\n hasPopupOpen: false,\n\n splitAttrs: useSplitAttrs(attrs, vnode),\n targetUid: ref(\n getTargetUid(props.for, requiredForAttr)\n ),\n\n rootRef: ref(null),\n targetRef: ref(null),\n controlRef: ref(null)\n\n /**\n * user supplied additionals:\n\n * innerValue - computed\n * floatingLabel - computed\n * inputRef - computed\n\n * fieldClass - computed\n * hasShadow - computed\n\n * controlEvents - Object with fn(e)\n\n * getControl - fn\n * getInnerAppend - fn\n * getControlChild - fn\n * getShadowControl - fn\n * showPopup - fn\n */\n }\n}\n\nexport default function (state) {\n const { props, emit, slots, attrs, proxy } = getCurrentInstance()\n const { $q } = proxy\n\n let focusoutTimer = null\n\n if (state.hasValue === void 0) {\n state.hasValue = computed(() => fieldValueIsFilled(props.modelValue))\n }\n\n if (state.emitValue === void 0) {\n state.emitValue = value => {\n emit('update:modelValue', value)\n }\n }\n\n if (state.controlEvents === void 0) {\n state.controlEvents = {\n onFocusin: onControlFocusin,\n onFocusout: onControlFocusout\n }\n }\n\n Object.assign(state, {\n clearValue,\n onControlFocusin,\n onControlFocusout,\n focus\n })\n\n if (state.computedCounter === void 0) {\n state.computedCounter = computed(() => {\n if (props.counter !== false) {\n const len = typeof props.modelValue === 'string' || typeof props.modelValue === 'number'\n ? ('' + props.modelValue).length\n : (Array.isArray(props.modelValue) === true ? props.modelValue.length : 0)\n\n const max = props.maxlength !== void 0\n ? props.maxlength\n : props.maxValues\n\n return len + (max !== void 0 ? ' / ' + max : '')\n }\n })\n }\n\n const {\n isDirtyModel,\n hasRules,\n hasError,\n errorMessage,\n resetValidation\n } = useValidate(state.focused, state.innerLoading)\n\n const floatingLabel = state.floatingLabel !== void 0\n ? computed(() => props.stackLabel === true || state.focused.value === true || state.floatingLabel.value === true)\n : computed(() => props.stackLabel === true || state.focused.value === true || state.hasValue.value === true)\n\n const shouldRenderBottom = computed(() =>\n props.bottomSlots === true\n || props.hint !== void 0\n || hasRules.value === true\n || props.counter === true\n || props.error !== null\n )\n\n const styleType = computed(() => {\n if (props.filled === true) { return 'filled' }\n if (props.outlined === true) { return 'outlined' }\n if (props.borderless === true) { return 'borderless' }\n if (props.standout) { return 'standout' }\n return 'standard'\n })\n\n const classes = computed(() =>\n `q-field row no-wrap items-start q-field--${ styleType.value }`\n + (state.fieldClass !== void 0 ? ` ${ state.fieldClass.value }` : '')\n + (props.rounded === true ? ' q-field--rounded' : '')\n + (props.square === true ? ' q-field--square' : '')\n + (floatingLabel.value === true ? ' q-field--float' : '')\n + (hasLabel.value === true ? ' q-field--labeled' : '')\n + (props.dense === true ? ' q-field--dense' : '')\n + (props.itemAligned === true ? ' q-field--item-aligned q-item-type' : '')\n + (state.isDark.value === true ? ' q-field--dark' : '')\n + (state.getControl === void 0 ? ' q-field--auto-height' : '')\n + (state.focused.value === true ? ' q-field--focused' : '')\n + (hasError.value === true ? ' q-field--error' : '')\n + (hasError.value === true || state.focused.value === true ? ' q-field--highlighted' : '')\n + (props.hideBottomSpace !== true && shouldRenderBottom.value === true ? ' q-field--with-bottom' : '')\n + (props.disable === true ? ' q-field--disabled' : (props.readonly === true ? ' q-field--readonly' : ''))\n )\n\n const contentClass = computed(() =>\n 'q-field__control relative-position row no-wrap'\n + (props.bgColor !== void 0 ? ` bg-${ props.bgColor }` : '')\n + (\n hasError.value === true\n ? ' text-negative'\n : (\n typeof props.standout === 'string' && props.standout.length !== 0 && state.focused.value === true\n ? ` ${ props.standout }`\n : (props.color !== void 0 ? ` text-${ props.color }` : '')\n )\n )\n )\n\n const hasLabel = computed(() =>\n props.labelSlot === true || props.label !== void 0\n )\n\n const labelClass = computed(() =>\n 'q-field__label no-pointer-events absolute ellipsis'\n + (props.labelColor !== void 0 && hasError.value !== true ? ` text-${ props.labelColor }` : '')\n )\n\n const controlSlotScope = computed(() => ({\n id: state.targetUid.value,\n editable: state.editable.value,\n focused: state.focused.value,\n floatingLabel: floatingLabel.value,\n modelValue: props.modelValue,\n emitValue: state.emitValue\n }))\n\n const attributes = computed(() => {\n const acc = {\n for: state.targetUid.value\n }\n\n if (props.disable === true) {\n acc[ 'aria-disabled' ] = 'true'\n }\n else if (props.readonly === true) {\n acc[ 'aria-readonly' ] = 'true'\n }\n\n return acc\n })\n\n watch(() => props.for, val => {\n // don't transform targetUid into a computed\n // prop as it will break SSR\n state.targetUid.value = getTargetUid(val, state.requiredForAttr)\n })\n\n function focusHandler () {\n const el = document.activeElement\n let target = state.targetRef !== void 0 && state.targetRef.value\n\n if (target && (el === null || el.id !== state.targetUid.value)) {\n target.hasAttribute('tabindex') === true || (target = target.querySelector('[tabindex]'))\n if (target && target !== el) {\n target.focus({ preventScroll: true })\n }\n }\n }\n\n function focus () {\n addFocusFn(focusHandler)\n }\n\n function blur () {\n removeFocusFn(focusHandler)\n const el = document.activeElement\n if (el !== null && state.rootRef.value.contains(el)) {\n el.blur()\n }\n }\n\n function onControlFocusin (e) {\n if (focusoutTimer !== null) {\n clearTimeout(focusoutTimer)\n focusoutTimer = null\n }\n\n if (state.editable.value === true && state.focused.value === false) {\n state.focused.value = true\n emit('focus', e)\n }\n }\n\n function onControlFocusout (e, then) {\n focusoutTimer !== null && clearTimeout(focusoutTimer)\n focusoutTimer = setTimeout(() => {\n focusoutTimer = null\n\n if (\n document.hasFocus() === true && (\n state.hasPopupOpen === true\n || state.controlRef === void 0\n || state.controlRef.value === null\n || state.controlRef.value.contains(document.activeElement) !== false\n )\n ) {\n return\n }\n\n if (state.focused.value === true) {\n state.focused.value = false\n emit('blur', e)\n }\n\n then !== void 0 && then()\n })\n }\n\n function clearValue (e) {\n // prevent activating the field but keep focus on desktop\n stopAndPrevent(e)\n\n if ($q.platform.is.mobile !== true) {\n const el = (state.targetRef !== void 0 && state.targetRef.value) || state.rootRef.value\n el.focus()\n }\n else if (state.rootRef.value.contains(document.activeElement) === true) {\n document.activeElement.blur()\n }\n\n if (props.type === 'file') { // TODO vue3\n // do not let focus be triggered\n // as it will make the native file dialog\n // appear for another selection\n state.inputRef.value.value = null\n }\n\n emit('update:modelValue', null)\n emit('clear', props.modelValue)\n\n nextTick(() => {\n resetValidation()\n\n if ($q.platform.is.mobile !== true) {\n isDirtyModel.value = false\n }\n })\n }\n\n function getContent () {\n const node = []\n\n slots.prepend !== void 0 && node.push(\n h('div', {\n class: 'q-field__prepend q-field__marginal row no-wrap items-center',\n key: 'prepend',\n onClick: prevent\n }, slots.prepend())\n )\n\n node.push(\n h('div', {\n class: 'q-field__control-container col relative-position row no-wrap q-anchor--skip'\n }, getControlContainer())\n )\n\n hasError.value === true && props.noErrorIcon === false && node.push(\n getInnerAppendNode('error', [\n h(QIcon, { name: $q.iconSet.field.error, color: 'negative' })\n ])\n )\n\n if (props.loading === true || state.innerLoading.value === true) {\n node.push(\n getInnerAppendNode(\n 'inner-loading-append',\n slots.loading !== void 0\n ? slots.loading()\n : [ h(QSpinner, { color: props.color }) ]\n )\n )\n }\n else if (props.clearable === true && state.hasValue.value === true && state.editable.value === true) {\n node.push(\n getInnerAppendNode('inner-clearable-append', [\n h(QIcon, {\n class: 'q-field__focusable-action',\n tag: 'button',\n name: props.clearIcon || $q.iconSet.field.clear,\n tabindex: 0,\n type: 'button',\n 'aria-hidden': null,\n role: null,\n onClick: clearValue\n })\n ])\n )\n }\n\n slots.append !== void 0 && node.push(\n h('div', {\n class: 'q-field__append q-field__marginal row no-wrap items-center',\n key: 'append',\n onClick: prevent\n }, slots.append())\n )\n\n state.getInnerAppend !== void 0 && node.push(\n getInnerAppendNode('inner-append', state.getInnerAppend())\n )\n\n state.getControlChild !== void 0 && node.push(\n state.getControlChild()\n )\n\n return node\n }\n\n function getControlContainer () {\n const node = []\n\n props.prefix !== void 0 && props.prefix !== null && node.push(\n h('div', {\n class: 'q-field__prefix no-pointer-events row items-center'\n }, props.prefix)\n )\n\n if (state.getShadowControl !== void 0 && state.hasShadow.value === true) {\n node.push(\n state.getShadowControl()\n )\n }\n\n if (state.getControl !== void 0) {\n node.push(state.getControl())\n }\n // internal usage only:\n else if (slots.rawControl !== void 0) {\n node.push(slots.rawControl())\n }\n else if (slots.control !== void 0) {\n node.push(\n h('div', {\n ref: state.targetRef,\n class: 'q-field__native row',\n tabindex: -1,\n ...state.splitAttrs.attributes.value,\n 'data-autofocus': props.autofocus === true || void 0\n }, slots.control(controlSlotScope.value))\n )\n }\n\n hasLabel.value === true && node.push(\n h('div', {\n class: labelClass.value\n }, hSlot(slots.label, props.label))\n )\n\n props.suffix !== void 0 && props.suffix !== null && node.push(\n h('div', {\n class: 'q-field__suffix no-pointer-events row items-center'\n }, props.suffix)\n )\n\n return node.concat(hSlot(slots.default))\n }\n\n function getBottom () {\n let msg, key\n\n if (hasError.value === true) {\n if (errorMessage.value !== null) {\n msg = [ h('div', { role: 'alert' }, errorMessage.value) ]\n key = `q--slot-error-${ errorMessage.value }`\n }\n else {\n msg = hSlot(slots.error)\n key = 'q--slot-error'\n }\n }\n else if (props.hideHint !== true || state.focused.value === true) {\n if (props.hint !== void 0) {\n msg = [ h('div', props.hint) ]\n key = `q--slot-hint-${ props.hint }`\n }\n else {\n msg = hSlot(slots.hint)\n key = 'q--slot-hint'\n }\n }\n\n const hasCounter = props.counter === true || slots.counter !== void 0\n\n if (props.hideBottomSpace === true && hasCounter === false && msg === void 0) {\n return\n }\n\n const main = h('div', {\n key,\n class: 'q-field__messages col'\n }, msg)\n\n return h('div', {\n class: 'q-field__bottom row items-start q-field__bottom--'\n + (props.hideBottomSpace !== true ? 'animated' : 'stale'),\n onClick: prevent\n }, [\n props.hideBottomSpace === true\n ? main\n : h(Transition, { name: 'q-transition--field-message' }, () => main),\n\n hasCounter === true\n ? h('div', {\n class: 'q-field__counter'\n }, slots.counter !== void 0 ? slots.counter() : state.computedCounter.value)\n : null\n ])\n }\n\n function getInnerAppendNode (key, content) {\n return content === null\n ? null\n : h('div', {\n key,\n class: 'q-field__append q-field__marginal row no-wrap items-center q-anchor--skip'\n }, content)\n }\n\n let shouldActivate = false\n\n onDeactivated(() => {\n shouldActivate = true\n })\n\n onActivated(() => {\n shouldActivate === true && props.autofocus === true && proxy.focus()\n })\n\n onMounted(() => {\n if (\n isRuntimeSsrPreHydration.value === true\n && state.requiredForAttr === true\n && props.for === void 0\n ) {\n state.targetUid.value = `f_${ uid() }` // getTargetUid(void 0, true)\n }\n\n props.autofocus === true && proxy.focus()\n })\n\n onBeforeUnmount(() => {\n focusoutTimer !== null && clearTimeout(focusoutTimer)\n })\n\n // expose public methods\n Object.assign(proxy, { focus, blur })\n\n return function renderField () {\n const labelAttrs = state.getControl === void 0 && slots.control === void 0\n ? {\n ...state.splitAttrs.attributes.value,\n 'data-autofocus': props.autofocus === true || void 0,\n ...attributes.value\n }\n : attributes.value\n\n return h(state.tag.value, {\n ref: state.rootRef,\n class: [\n classes.value,\n attrs.class\n ],\n style: attrs.style,\n ...labelAttrs\n }, [\n slots.before !== void 0\n ? h('div', {\n class: 'q-field__before q-field__marginal row no-wrap items-center',\n onClick: prevent\n }, slots.before())\n : null,\n\n h('div', {\n class: 'q-field__inner relative-position col self-stretch'\n }, [\n h('div', {\n ref: state.controlRef,\n class: contentClass.value,\n tabindex: -1,\n ...state.controlEvents\n }, getContent()),\n\n shouldRenderBottom.value === true\n ? getBottom()\n : null\n ]),\n\n slots.after !== void 0\n ? h('div', {\n class: 'q-field__after q-field__marginal row no-wrap items-center',\n onClick: prevent\n }, slots.after())\n : null\n ])\n }\n}\n","import { computed } from 'vue'\n\nexport default function (props, typeGuard) {\n function getFormDomProps () {\n const model = props.modelValue\n\n try {\n const dt = 'DataTransfer' in window\n ? new DataTransfer()\n : ('ClipboardEvent' in window\n ? new ClipboardEvent('').clipboardData\n : void 0\n )\n\n if (Object(model) === model) {\n ('length' in model\n ? Array.from(model)\n : [ model ]\n ).forEach(file => {\n dt.items.add(file)\n })\n }\n\n return {\n files: dt.files\n }\n }\n catch (e) {\n return {\n files: void 0\n }\n }\n }\n\n return typeGuard === true\n ? computed(() => {\n if (props.type !== 'file') {\n return\n }\n\n return getFormDomProps()\n })\n : computed(getFormDomProps)\n}\n","import { h, computed } from 'vue'\n\nexport const useFormProps = {\n name: String\n}\n\nexport function useFormAttrs (props) {\n return computed(() => ({\n type: 'hidden',\n name: props.name,\n value: props.modelValue\n }))\n}\n\nexport function useFormInject (formAttrs = {}) {\n return (child, action, className) => {\n child[ action ](\n h('input', {\n class: 'hidden' + (className || ''),\n ...formAttrs.value\n })\n )\n }\n}\n\nexport function useFormInputNameAttr (props) {\n return computed(() => props.name || props.for)\n}\n","import { onBeforeUnmount } from 'vue'\n\nimport History from '../../history.js'\n\nexport default function (showing, hide, hideOnRouteChange) {\n let historyEntry\n\n function removeFromHistory () {\n if (historyEntry !== void 0) {\n History.remove(historyEntry)\n historyEntry = void 0\n }\n }\n\n onBeforeUnmount(() => {\n showing.value === true && removeFromHistory()\n })\n\n return {\n removeFromHistory,\n\n addToHistory () {\n historyEntry = {\n condition: () => hideOnRouteChange.value === true,\n handler: hide\n }\n\n History.add(historyEntry)\n }\n }\n}\n","import { client } from '../../plugins/Platform.js'\n\nconst isJapanese = /[\\u3000-\\u303f\\u3040-\\u309f\\u30a0-\\u30ff\\uff00-\\uff9f\\u4e00-\\u9faf\\u3400-\\u4dbf]/\nconst isChinese = /[\\u4e00-\\u9fff\\u3400-\\u4dbf\\u{20000}-\\u{2a6df}\\u{2a700}-\\u{2b73f}\\u{2b740}-\\u{2b81f}\\u{2b820}-\\u{2ceaf}\\uf900-\\ufaff\\u3300-\\u33ff\\ufe30-\\ufe4f\\uf900-\\ufaff\\u{2f800}-\\u{2fa1f}]/u\nconst isKorean = /[\\u3131-\\u314e\\u314f-\\u3163\\uac00-\\ud7a3]/\nconst isPlainText = /[a-z0-9_ -]$/i\n\nexport default function (onInput) {\n return function onComposition (e) {\n if (e.type === 'compositionend' || e.type === 'change') {\n if (e.target.qComposing !== true) { return }\n e.target.qComposing = false\n onInput(e)\n }\n else if (\n e.type === 'compositionupdate'\n && e.target.qComposing !== true\n && typeof e.data === 'string'\n ) {\n const isComposing = client.is.firefox === true\n ? isPlainText.test(e.data) === false\n : isJapanese.test(e.data) === true || isChinese.test(e.data) === true || isKorean.test(e.data) === true\n\n if (isComposing === true) {\n e.target.qComposing = true\n }\n }\n }\n}\n","import { watch, nextTick, onMounted, getCurrentInstance } from 'vue'\n\nimport { vmHasRouter } from '../../utils/private/vm.js'\n\nexport const useModelToggleProps = {\n modelValue: {\n type: Boolean,\n default: null\n },\n\n 'onUpdate:modelValue': [ Function, Array ]\n}\n\nexport const useModelToggleEmits = [\n 'beforeShow', 'show', 'beforeHide', 'hide'\n]\n\n// handleShow/handleHide -> removeTick(), self (& emit show)\n\nexport default function ({\n showing,\n canShow, // optional\n hideOnRouteChange, // optional\n handleShow, // optional\n handleHide, // optional\n processOnMount // optional\n}) {\n const vm = getCurrentInstance()\n const { props, emit, proxy } = vm\n\n let payload\n\n function toggle (evt) {\n if (showing.value === true) {\n hide(evt)\n }\n else {\n show(evt)\n }\n }\n\n function show (evt) {\n if (\n props.disable === true\n || (evt !== void 0 && evt.qAnchorHandled === true)\n || (canShow !== void 0 && canShow(evt) !== true)\n ) {\n return\n }\n\n const listener = props[ 'onUpdate:modelValue' ] !== void 0\n\n if (listener === true && __QUASAR_SSR_SERVER__ !== true) {\n emit('update:modelValue', true)\n payload = evt\n nextTick(() => {\n if (payload === evt) {\n payload = void 0\n }\n })\n }\n\n if (props.modelValue === null || listener === false || __QUASAR_SSR_SERVER__) {\n processShow(evt)\n }\n }\n\n function processShow (evt) {\n if (showing.value === true) {\n return\n }\n\n showing.value = true\n\n emit('beforeShow', evt)\n\n if (handleShow !== void 0) {\n handleShow(evt)\n }\n else {\n emit('show', evt)\n }\n }\n\n function hide (evt) {\n if (__QUASAR_SSR_SERVER__ || props.disable === true) {\n return\n }\n\n const listener = props[ 'onUpdate:modelValue' ] !== void 0\n\n if (listener === true && __QUASAR_SSR_SERVER__ !== true) {\n emit('update:modelValue', false)\n payload = evt\n nextTick(() => {\n if (payload === evt) {\n payload = void 0\n }\n })\n }\n\n if (props.modelValue === null || listener === false || __QUASAR_SSR_SERVER__) {\n processHide(evt)\n }\n }\n\n function processHide (evt) {\n if (showing.value === false) {\n return\n }\n\n showing.value = false\n\n emit('beforeHide', evt)\n\n if (handleHide !== void 0) {\n handleHide(evt)\n }\n else {\n emit('hide', evt)\n }\n }\n\n function processModelChange (val) {\n if (props.disable === true && val === true) {\n if (props[ 'onUpdate:modelValue' ] !== void 0) {\n emit('update:modelValue', false)\n }\n }\n else if ((val === true) !== showing.value) {\n const fn = val === true ? processShow : processHide\n fn(payload)\n }\n }\n\n watch(() => props.modelValue, processModelChange)\n\n if (hideOnRouteChange !== void 0 && vmHasRouter(vm) === true) {\n watch(() => proxy.$route.fullPath, () => {\n if (hideOnRouteChange.value === true && showing.value === true) {\n hide()\n }\n })\n }\n\n processOnMount === true && onMounted(() => {\n processModelChange(props.modelValue)\n })\n\n // expose public methods\n const publicMethods = { show, hide, toggle }\n Object.assign(proxy, publicMethods)\n\n return publicMethods\n}\n","import { h, ref, onUnmounted, Teleport } from 'vue'\n\nimport { noop } from '../../utils/event.js'\nimport { addFocusWaitFlag, removeFocusWaitFlag } from '../../utils/private/focus-manager.js'\nimport { createGlobalNode, removeGlobalNode } from '../../utils/private/global-nodes.js'\nimport { portalProxyList } from '../../utils/private/portal.js'\nimport { injectProp } from '../../utils/private/inject-obj-prop.js'\n\nfunction isOnGlobalDialog (vm) {\n vm = vm.parent\n\n while (vm !== void 0 && vm !== null) {\n if (vm.type.name === 'QGlobalDialog') {\n return true\n }\n if (vm.type.name === 'QDialog' || vm.type.name === 'QMenu') {\n return false\n }\n\n vm = vm.parent\n }\n\n return false\n}\n\n// Warning!\n// You MUST specify \"inheritAttrs: false\" in your component\n\nexport default function (vm, innerRef, renderPortalContent, type) {\n // showing, including while in show/hide transition\n const portalIsActive = ref(false)\n\n // showing & not in any show/hide transition\n const portalIsAccessible = ref(false)\n\n if (__QUASAR_SSR_SERVER__) {\n return {\n portalIsActive,\n portalIsAccessible,\n\n showPortal: noop,\n hidePortal: noop,\n renderPortal: noop\n }\n }\n\n let portalEl = null\n const focusObj = {}\n const onGlobalDialog = type === 'dialog' && isOnGlobalDialog(vm)\n\n function showPortal (isReady) {\n if (isReady === true) {\n removeFocusWaitFlag(focusObj)\n portalIsAccessible.value = true\n return\n }\n\n portalIsAccessible.value = false\n\n if (portalIsActive.value === false) {\n if (onGlobalDialog === false && portalEl === null) {\n portalEl = createGlobalNode(false, type)\n }\n\n portalIsActive.value = true\n\n // register portal\n portalProxyList.push(vm.proxy)\n\n addFocusWaitFlag(focusObj)\n }\n }\n\n function hidePortal (isReady) {\n portalIsAccessible.value = false\n\n if (isReady !== true) { return }\n\n removeFocusWaitFlag(focusObj)\n portalIsActive.value = false\n\n // unregister portal\n const index = portalProxyList.indexOf(vm.proxy)\n if (index !== -1) {\n portalProxyList.splice(index, 1)\n }\n\n if (portalEl !== null) {\n removeGlobalNode(portalEl)\n portalEl = null\n }\n }\n\n onUnmounted(() => { hidePortal(true) })\n\n // needed for portal vm detection\n vm.proxy.__qPortal = true\n\n // public way of accessing the rendered content\n injectProp(vm.proxy, 'contentEl', () => innerRef.value)\n\n return {\n showPortal,\n hidePortal,\n\n portalIsActive,\n portalIsAccessible,\n\n renderPortal: () => (\n onGlobalDialog === true\n ? renderPortalContent()\n : (\n portalIsActive.value === true\n ? [ h(Teleport, { to: portalEl }, renderPortalContent()) ]\n : void 0\n )\n )\n }\n}\n","import { getEventPath, listenOpts, stopAndPrevent } from '../utils/event.js'\nimport { hasScrollbar, getVerticalScrollPosition, getHorizontalScrollPosition } from '../utils/scroll.js'\nimport { client } from '../plugins/Platform.js'\n\nlet\n registered = 0,\n scrollPositionX,\n scrollPositionY,\n maxScrollTop,\n vpPendingUpdate = false,\n bodyLeft,\n bodyTop,\n href,\n closeTimer = null\n\nfunction onWheel (e) {\n if (shouldPreventScroll(e)) {\n stopAndPrevent(e)\n }\n}\n\nfunction shouldPreventScroll (e) {\n if (e.target === document.body || e.target.classList.contains('q-layout__backdrop')) {\n return true\n }\n\n const\n path = getEventPath(e),\n shift = e.shiftKey && !e.deltaX,\n scrollY = !shift && Math.abs(e.deltaX) <= Math.abs(e.deltaY),\n delta = shift || scrollY ? e.deltaY : e.deltaX\n\n for (let index = 0; index < path.length; index++) {\n const el = path[ index ]\n\n if (hasScrollbar(el, scrollY)) {\n return scrollY\n ? (\n delta < 0 && el.scrollTop === 0\n ? true\n : delta > 0 && el.scrollTop + el.clientHeight === el.scrollHeight\n )\n : (\n delta < 0 && el.scrollLeft === 0\n ? true\n : delta > 0 && el.scrollLeft + el.clientWidth === el.scrollWidth\n )\n }\n }\n\n return true\n}\n\nfunction onAppleScroll (e) {\n if (e.target === document) {\n // required, otherwise iOS blocks further scrolling\n // until the mobile scrollbar dissappears\n document.scrollingElement.scrollTop = document.scrollingElement.scrollTop // eslint-disable-line\n }\n}\n\nfunction onAppleResize (evt) {\n if (vpPendingUpdate === true) {\n return\n }\n\n vpPendingUpdate = true\n\n requestAnimationFrame(() => {\n vpPendingUpdate = false\n\n const\n { height } = evt.target,\n { clientHeight, scrollTop } = document.scrollingElement\n\n if (maxScrollTop === void 0 || height !== window.innerHeight) {\n maxScrollTop = clientHeight - height\n document.scrollingElement.scrollTop = scrollTop\n }\n\n if (scrollTop > maxScrollTop) {\n document.scrollingElement.scrollTop -= Math.ceil((scrollTop - maxScrollTop) / 8)\n }\n })\n}\n\nfunction apply (action) {\n const\n body = document.body,\n hasViewport = window.visualViewport !== void 0\n\n if (action === 'add') {\n const { overflowY, overflowX } = window.getComputedStyle(body)\n\n scrollPositionX = getHorizontalScrollPosition(window)\n scrollPositionY = getVerticalScrollPosition(window)\n bodyLeft = body.style.left\n bodyTop = body.style.top\n\n href = window.location.href\n\n body.style.left = `-${ scrollPositionX }px`\n body.style.top = `-${ scrollPositionY }px`\n\n if (overflowX !== 'hidden' && (overflowX === 'scroll' || body.scrollWidth > window.innerWidth)) {\n body.classList.add('q-body--force-scrollbar-x')\n }\n if (overflowY !== 'hidden' && (overflowY === 'scroll' || body.scrollHeight > window.innerHeight)) {\n body.classList.add('q-body--force-scrollbar-y')\n }\n\n body.classList.add('q-body--prevent-scroll')\n document.qScrollPrevented = true\n\n if (client.is.ios === true) {\n if (hasViewport === true) {\n window.scrollTo(0, 0)\n window.visualViewport.addEventListener('resize', onAppleResize, listenOpts.passiveCapture)\n window.visualViewport.addEventListener('scroll', onAppleResize, listenOpts.passiveCapture)\n window.scrollTo(0, 0)\n }\n else {\n window.addEventListener('scroll', onAppleScroll, listenOpts.passiveCapture)\n }\n }\n }\n\n if (client.is.desktop === true && client.is.mac === true) {\n // ref. https://developers.google.com/web/updates/2017/01/scrolling-intervention\n window[ `${ action }EventListener` ]('wheel', onWheel, listenOpts.notPassive)\n }\n\n if (action === 'remove') {\n if (client.is.ios === true) {\n if (hasViewport === true) {\n window.visualViewport.removeEventListener('resize', onAppleResize, listenOpts.passiveCapture)\n window.visualViewport.removeEventListener('scroll', onAppleResize, listenOpts.passiveCapture)\n }\n else {\n window.removeEventListener('scroll', onAppleScroll, listenOpts.passiveCapture)\n }\n }\n\n body.classList.remove('q-body--prevent-scroll')\n body.classList.remove('q-body--force-scrollbar-x')\n body.classList.remove('q-body--force-scrollbar-y')\n\n document.qScrollPrevented = false\n\n body.style.left = bodyLeft\n body.style.top = bodyTop\n\n // scroll back only if route has not changed\n if (window.location.href === href) {\n window.scrollTo(scrollPositionX, scrollPositionY)\n }\n\n maxScrollTop = void 0\n }\n}\n\nexport default function (state) {\n let action = 'add'\n\n if (state === true) {\n registered++\n\n if (closeTimer !== null) {\n clearTimeout(closeTimer)\n closeTimer = null\n return\n }\n\n if (registered > 1) {\n return\n }\n }\n else {\n if (registered === 0) {\n return\n }\n\n registered--\n\n if (registered > 0) {\n return\n }\n\n action = 'remove'\n\n if (client.is.ios === true && client.is.nativeMobile === true) {\n closeTimer !== null && clearTimeout(closeTimer)\n closeTimer = setTimeout(() => {\n apply(action)\n closeTimer = null\n }, 100)\n return\n }\n }\n\n apply(action)\n}\n","import preventScroll from '../../utils/prevent-scroll.js'\n\nexport default function () {\n let currentState\n\n return {\n preventBodyScroll (state) {\n if (\n state !== currentState\n && (currentState !== void 0 || state === true)\n ) {\n currentState = state\n preventScroll(state)\n }\n }\n }\n}\n","/*\n * Inspired by RouterLink from Vue Router\n * --> API should match!\n */\n\nimport { computed, getCurrentInstance } from 'vue'\n\nimport { vmHasRouter } from '../../utils/private/vm.js'\n\n// Get the original path value of a record by following its aliasOf\nfunction getOriginalPath (record) {\n return record\n ? (\n record.aliasOf\n ? record.aliasOf.path\n : record.path\n ) : ''\n}\n\nfunction isSameRouteRecord (a, b) {\n // since the original record has an undefined value for aliasOf\n // but all aliases point to the original record, this will always compare\n // the original record\n return (a.aliasOf || a) === (b.aliasOf || b)\n}\n\nfunction includesParams (outer, inner) {\n for (const key in inner) {\n const\n innerValue = inner[ key ],\n outerValue = outer[ key ]\n\n if (typeof innerValue === 'string') {\n if (innerValue !== outerValue) {\n return false\n }\n }\n else if (\n Array.isArray(outerValue) === false\n || outerValue.length !== innerValue.length\n || innerValue.some((value, i) => value !== outerValue[ i ])\n ) {\n return false\n }\n }\n\n return true\n}\n\nfunction isEquivalentArray (a, b) {\n return Array.isArray(b) === true\n ? a.length === b.length && a.every((value, i) => value === b[ i ])\n : a.length === 1 && a[ 0 ] === b\n}\n\nfunction isSameRouteLocationParamsValue (a, b) {\n return Array.isArray(a) === true\n ? isEquivalentArray(a, b)\n : (\n Array.isArray(b) === true\n ? isEquivalentArray(b, a)\n : a === b\n )\n}\n\nfunction isSameRouteLocationParams (a, b) {\n if (Object.keys(a).length !== Object.keys(b).length) {\n return false\n }\n\n for (const key in a) {\n if (isSameRouteLocationParamsValue(a[ key ], b[ key ]) === false) {\n return false\n }\n }\n\n return true\n}\n\nexport const useRouterLinkProps = {\n // router-link\n to: [ String, Object ],\n replace: Boolean,\n exact: Boolean,\n activeClass: {\n type: String,\n default: 'q-router-link--active'\n },\n exactActiveClass: {\n type: String,\n default: 'q-router-link--exact-active'\n },\n\n // regular link\n href: String,\n target: String,\n\n // state\n disable: Boolean\n}\n\n// external props: type, tag\n\nexport default function ({ fallbackTag, useDisableForRouterLinkProps = true } = {}) {\n const vm = getCurrentInstance()\n const { props, proxy, emit } = vm\n\n const hasRouter = vmHasRouter(vm)\n const hasHrefLink = computed(() => props.disable !== true && props.href !== void 0)\n\n // for perf reasons, we use minimum amount of runtime work\n const hasRouterLinkProps = useDisableForRouterLinkProps === true\n ? computed(() =>\n hasRouter === true\n && props.disable !== true\n && hasHrefLink.value !== true\n && props.to !== void 0 && props.to !== null && props.to !== ''\n )\n : computed(() =>\n hasRouter === true\n && hasHrefLink.value !== true\n && props.to !== void 0 && props.to !== null && props.to !== ''\n )\n\n const resolvedLink = computed(() => (\n hasRouterLinkProps.value === true\n ? getLink(props.to)\n : null\n ))\n\n const hasRouterLink = computed(() => resolvedLink.value !== null)\n const hasLink = computed(() => hasHrefLink.value === true || hasRouterLink.value === true)\n\n const linkTag = computed(() => (\n props.type === 'a' || hasLink.value === true\n ? 'a'\n : (props.tag || fallbackTag || 'div')\n ))\n\n const linkAttrs = computed(() => (\n hasHrefLink.value === true\n ? {\n href: props.href,\n target: props.target\n }\n : (\n hasRouterLink.value === true\n ? {\n href: resolvedLink.value.href,\n target: props.target\n }\n : {}\n )\n ))\n\n const linkActiveIndex = computed(() => {\n if (hasRouterLink.value === false) {\n return -1\n }\n\n const\n { matched } = resolvedLink.value,\n { length } = matched,\n routeMatched = matched[ length - 1 ]\n\n if (routeMatched === void 0) {\n return -1\n }\n\n const currentMatched = proxy.$route.matched\n\n if (currentMatched.length === 0) {\n return -1\n }\n\n const index = currentMatched.findIndex(\n isSameRouteRecord.bind(null, routeMatched)\n )\n\n if (index > -1) {\n return index\n }\n\n // possible parent record\n const parentRecordPath = getOriginalPath(matched[ length - 2 ])\n\n return (\n // we are dealing with nested routes\n length > 1\n // if the parent and matched route have the same path, this link is\n // referring to the empty child. Or we currently are on a different\n // child of the same parent\n && getOriginalPath(routeMatched) === parentRecordPath\n // avoid comparing the child with its parent\n && currentMatched[ currentMatched.length - 1 ].path !== parentRecordPath\n ? currentMatched.findIndex(\n isSameRouteRecord.bind(null, matched[ length - 2 ])\n )\n : index\n )\n })\n\n const linkIsActive = computed(() =>\n hasRouterLink.value === true\n && linkActiveIndex.value !== -1\n && includesParams(proxy.$route.params, resolvedLink.value.params)\n )\n\n const linkIsExactActive = computed(() =>\n linkIsActive.value === true\n && linkActiveIndex.value === proxy.$route.matched.length - 1\n && isSameRouteLocationParams(proxy.$route.params, resolvedLink.value.params)\n )\n\n const linkClass = computed(() => (\n hasRouterLink.value === true\n ? (\n linkIsExactActive.value === true\n ? ` ${ props.exactActiveClass } ${ props.activeClass }`\n : (\n props.exact === true\n ? ''\n : (linkIsActive.value === true ? ` ${ props.activeClass }` : '')\n )\n )\n : ''\n ))\n\n function getLink (to) {\n try { return proxy.$router.resolve(to) }\n catch (_) {}\n\n return null\n }\n\n /**\n * @returns Promise\n */\n function navigateToRouterLink (\n e,\n { returnRouterError, to = props.to, replace = props.replace } = {}\n ) {\n if (props.disable === true) {\n // ensure native navigation is prevented in all cases,\n // like when useDisableForRouterLinkProps === false (QRouteTab)\n e.preventDefault()\n return Promise.resolve(false)\n }\n\n if (\n // don't redirect with control keys;\n // should match RouterLink from Vue Router\n e.metaKey || e.altKey || e.ctrlKey || e.shiftKey\n\n // don't redirect on right click\n || (e.button !== void 0 && e.button !== 0)\n\n // don't redirect if it should open in a new window\n || props.target === '_blank'\n ) {\n return Promise.resolve(false)\n }\n\n // hinder the native navigation\n e.preventDefault()\n\n // then() can also return a \"soft\" router error (Vue Router behavior)\n const promise = proxy.$router[ replace === true ? 'replace' : 'push' ](to)\n\n return returnRouterError === true\n ? promise\n // else catching hard errors and also \"soft\" ones - then(err => ...)\n : promise.then(() => {}).catch(() => {})\n }\n\n // warning! ensure that the component using it has 'click' included in its 'emits' definition prop\n function navigateOnClick (e) {\n if (hasRouterLink.value === true) {\n const go = opts => navigateToRouterLink(e, opts)\n\n emit('click', e, go)\n e.defaultPrevented !== true && go()\n }\n else {\n emit('click', e)\n }\n }\n\n return {\n hasRouterLink,\n hasHrefLink,\n hasLink,\n\n linkTag,\n resolvedLink,\n linkIsActive,\n linkIsExactActive,\n linkClass,\n linkAttrs,\n\n getLink,\n navigateToRouterLink,\n navigateOnClick\n }\n}\n","import { computed } from 'vue'\n\nexport const useSizeDefaults = {\n xs: 18,\n sm: 24,\n md: 32,\n lg: 38,\n xl: 46\n}\n\nexport const useSizeProps = {\n size: String\n}\n\nexport default function (props, sizes = useSizeDefaults) {\n // return sizeStyle\n return computed(() => (\n props.size !== void 0\n ? { fontSize: props.size in sizes ? `${ sizes[ props.size ] }px` : props.size }\n : null\n ))\n}\n","import { nextTick, onDeactivated, onBeforeUnmount, getCurrentInstance } from 'vue'\n\nimport { vmIsDestroyed } from '../../utils/private/vm'\n\n/*\n * Usage:\n * registerTick(fn)\n * removeTick()\n */\n\nexport default function () {\n let tickFn\n const vm = getCurrentInstance()\n\n function removeTick () {\n tickFn = void 0\n }\n\n onDeactivated(removeTick)\n onBeforeUnmount(removeTick)\n\n return {\n removeTick,\n\n registerTick (fn) {\n tickFn = fn\n\n nextTick(() => {\n if (tickFn === fn) {\n // we also check if VM is destroyed, since if it\n // got to trigger one nextTick() we cannot stop it\n vmIsDestroyed(vm) === false && tickFn()\n tickFn = void 0\n }\n })\n }\n }\n}\n","import { onDeactivated, onBeforeUnmount, getCurrentInstance } from 'vue'\n\nimport { vmIsDestroyed } from '../../utils/private/vm.js'\n\n/*\n * Usage:\n * registerTimeout(fn[, delay])\n * removeTimeout()\n */\n\nexport default function () {\n let timer = null\n const vm = getCurrentInstance()\n\n function removeTimeout () {\n if (timer !== null) {\n clearTimeout(timer)\n timer = null\n }\n }\n\n onDeactivated(removeTimeout)\n onBeforeUnmount(removeTimeout)\n\n return {\n removeTimeout,\n\n registerTimeout (fn, delay) {\n removeTimeout(timer)\n\n if (vmIsDestroyed(vm) === false) {\n timer = setTimeout(fn, delay)\n }\n }\n }\n}\n","import { computed } from 'vue'\n\nexport const useTransitionProps = {\n transitionShow: {\n type: String,\n default: 'fade'\n },\n\n transitionHide: {\n type: String,\n default: 'fade'\n },\n\n transitionDuration: {\n type: [ String, Number ],\n default: 300\n }\n}\n\nexport default function (props, defaultShowFn = () => {}, defaultHideFn = () => {}) {\n return {\n transitionProps: computed(() => {\n const show = `q-transition--${ props.transitionShow || defaultShowFn() }`\n const hide = `q-transition--${ props.transitionHide || defaultHideFn() }`\n\n return {\n appear: true,\n\n enterFromClass: `${ show }-enter-from`,\n enterActiveClass: `${ show }-enter-active`,\n enterToClass: `${ show }-enter-to`,\n\n leaveFromClass: `${ hide }-leave-from`,\n leaveActiveClass: `${ hide }-leave-active`,\n leaveToClass: `${ hide }-leave-to`\n }\n }),\n\n transitionStyle: computed(() => `--q-transition-duration: ${ props.transitionDuration }ms`)\n }\n}\n","import { inject } from 'vue'\nimport { quasarKey } from '../utils/private/symbols.js'\n\n/**\n * Returns the $q instance.\n * Equivalent to `this.$q` inside templates.\n */\nexport default function useQuasar () {\n return inject(quasarKey)\n}\n","import { createDirective } from '../utils/private/create.js'\nimport { closePortals, getPortalProxy } from '../utils/private/portal.js'\nimport { isKeyCode } from '../utils/private/key-composition.js'\nimport getSSRProps from '../utils/private/noop-ssr-directive-transform.js'\n\n/*\n * depth\n * < 0 --> close all chain\n * 0 --> disabled\n * > 0 --> close chain up to N parent\n */\n\nfunction getDepth (value) {\n if (value === false) {\n return 0\n }\n if (value === true || value === void 0) {\n return 1\n }\n\n const depth = parseInt(value, 10)\n return isNaN(depth) ? 0 : depth\n}\n\nexport default createDirective(__QUASAR_SSR_SERVER__\n ? { name: 'close-popup', getSSRProps }\n : {\n name: 'close-popup',\n\n beforeMount (el, { value }) {\n const ctx = {\n depth: getDepth(value),\n\n handler (evt) {\n // allow @click to be emitted\n ctx.depth !== 0 && setTimeout(() => {\n const proxy = getPortalProxy(el)\n if (proxy !== void 0) {\n closePortals(proxy, evt, ctx.depth)\n }\n })\n },\n\n handlerKey (evt) {\n isKeyCode(evt, 13) === true && ctx.handler(evt)\n }\n }\n\n el.__qclosepopup = ctx\n\n el.addEventListener('click', ctx.handler)\n el.addEventListener('keyup', ctx.handlerKey)\n },\n\n updated (el, { value, oldValue }) {\n if (value !== oldValue) {\n el.__qclosepopup.depth = getDepth(value)\n }\n },\n\n beforeUnmount (el) {\n const ctx = el.__qclosepopup\n el.removeEventListener('click', ctx.handler)\n el.removeEventListener('keyup', ctx.handlerKey)\n delete el.__qclosepopup\n }\n }\n)\n","export default function (fn, limit = 250) {\n let wait = false, result\n\n return function (/* ...args */) {\n if (wait === false) {\n wait = true\n setTimeout(() => { wait = false }, limit)\n result = fn.apply(this, arguments)\n }\n\n return result\n }\n}\n","import { createDirective } from '../utils/private/create.js'\nimport { css } from '../utils/dom.js'\nimport { position, stop, addEvt, cleanEvt } from '../utils/event.js'\nimport { isKeyCode } from '../utils/private/key-composition.js'\nimport throttle from '../utils/throttle.js'\nimport getSSRProps from '../utils/private/noop-ssr-directive-transform.js'\n\nfunction showRipple (evt, el, ctx, forceCenter) {\n ctx.modifiers.stop === true && stop(evt)\n\n const color = ctx.modifiers.color\n let center = ctx.modifiers.center\n center = center === true || forceCenter === true\n\n const\n node = document.createElement('span'),\n innerNode = document.createElement('span'),\n pos = position(evt),\n { left, top, width, height } = el.getBoundingClientRect(),\n diameter = Math.sqrt(width * width + height * height),\n radius = diameter / 2,\n centerX = `${ (width - diameter) / 2 }px`,\n x = center ? centerX : `${ pos.left - left - radius }px`,\n centerY = `${ (height - diameter) / 2 }px`,\n y = center ? centerY : `${ pos.top - top - radius }px`\n\n innerNode.className = 'q-ripple__inner'\n css(innerNode, {\n height: `${ diameter }px`,\n width: `${ diameter }px`,\n transform: `translate3d(${ x },${ y },0) scale3d(.2,.2,1)`,\n opacity: 0\n })\n\n node.className = `q-ripple${ color ? ' text-' + color : '' }`\n node.setAttribute('dir', 'ltr')\n node.appendChild(innerNode)\n el.appendChild(node)\n\n const abort = () => {\n node.remove()\n clearTimeout(timer)\n }\n ctx.abort.push(abort)\n\n let timer = setTimeout(() => {\n innerNode.classList.add('q-ripple__inner--enter')\n innerNode.style.transform = `translate3d(${ centerX },${ centerY },0) scale3d(1,1,1)`\n innerNode.style.opacity = 0.2\n\n timer = setTimeout(() => {\n innerNode.classList.remove('q-ripple__inner--enter')\n innerNode.classList.add('q-ripple__inner--leave')\n innerNode.style.opacity = 0\n\n timer = setTimeout(() => {\n node.remove()\n ctx.abort.splice(ctx.abort.indexOf(abort), 1)\n }, 275)\n }, 250)\n }, 50)\n}\n\nfunction updateModifiers (ctx, { modifiers, value, arg }) {\n const cfg = Object.assign({}, ctx.cfg.ripple, modifiers, value)\n ctx.modifiers = {\n early: cfg.early === true,\n stop: cfg.stop === true,\n center: cfg.center === true,\n color: cfg.color || arg,\n keyCodes: [].concat(cfg.keyCodes || 13)\n }\n}\n\nexport default createDirective(__QUASAR_SSR_SERVER__\n ? { name: 'ripple', getSSRProps }\n : {\n name: 'ripple',\n\n beforeMount (el, binding) {\n const cfg = binding.instance.$.appContext.config.globalProperties.$q.config || {}\n\n if (cfg.ripple === false) {\n return\n }\n\n const ctx = {\n cfg,\n enabled: binding.value !== false,\n modifiers: {},\n abort: [],\n\n start (evt) {\n if (\n ctx.enabled === true\n && evt.qSkipRipple !== true\n && evt.type === (ctx.modifiers.early === true ? 'pointerdown' : 'click')\n ) {\n showRipple(evt, el, ctx, evt.qKeyEvent === true)\n }\n },\n\n keystart: throttle(evt => {\n if (\n ctx.enabled === true\n && evt.qSkipRipple !== true\n && isKeyCode(evt, ctx.modifiers.keyCodes) === true\n && evt.type === `key${ ctx.modifiers.early === true ? 'down' : 'up' }`\n ) {\n showRipple(evt, el, ctx, true)\n }\n }, 300)\n }\n\n updateModifiers(ctx, binding)\n\n el.__qripple = ctx\n\n addEvt(ctx, 'main', [\n [ el, 'pointerdown', 'start', 'passive' ],\n [ el, 'click', 'start', 'passive' ],\n [ el, 'keydown', 'keystart', 'passive' ],\n [ el, 'keyup', 'keystart', 'passive' ]\n ])\n },\n\n updated (el, binding) {\n if (binding.oldValue !== binding.value) {\n const ctx = el.__qripple\n if (ctx !== void 0) {\n ctx.enabled = binding.value !== false\n\n if (ctx.enabled === true && Object(binding.value) === binding.value) {\n updateModifiers(ctx, binding)\n }\n }\n }\n },\n\n beforeUnmount (el) {\n const ctx = el.__qripple\n if (ctx !== void 0) {\n ctx.abort.forEach(fn => { fn() })\n cleanEvt(ctx, 'main')\n delete el._qripple\n }\n }\n }\n)\n","import { client } from './plugins/Platform.js'\nimport { noop } from './utils/event.js'\n\nconst getTrue = () => true\n\nfunction filterInvalidPath (path) {\n return typeof path === 'string'\n && path !== ''\n && path !== '/'\n && path !== '#/'\n}\n\nfunction normalizeExitPath (path) {\n path.startsWith('#') === true && (path = path.substring(1))\n path.startsWith('/') === false && (path = '/' + path)\n path.endsWith('/') === true && (path = path.substring(0, path.length - 1))\n return '#' + path\n}\n\nfunction getShouldExitFn (cfg) {\n if (cfg.backButtonExit === false) {\n return () => false\n }\n\n if (cfg.backButtonExit === '*') {\n return getTrue\n }\n\n // Add default root path\n const exitPaths = [ '#/' ]\n\n // Add custom exit paths\n Array.isArray(cfg.backButtonExit) === true && exitPaths.push(\n ...cfg.backButtonExit.filter(filterInvalidPath).map(normalizeExitPath)\n )\n\n return () => exitPaths.includes(window.location.hash)\n}\n\nexport default {\n __history: [],\n add: noop,\n remove: noop,\n\n install ({ $q }) {\n if (__QUASAR_SSR_SERVER__ || this.__installed === true) { return }\n\n const { cordova, capacitor } = client.is\n\n if (cordova !== true && capacitor !== true) {\n return\n }\n\n const qConf = $q.config[ cordova === true ? 'cordova' : 'capacitor' ]\n\n if (qConf !== void 0 && qConf.backButton === false) {\n return\n }\n\n // if the '@capacitor/app' plugin is not installed\n // then we got nothing to do\n if (\n // if we're on Capacitor mode\n capacitor === true\n // and it's also not in Capacitor's main instance\n && (window.Capacitor === void 0 || window.Capacitor.Plugins.App === void 0)\n ) {\n return\n }\n\n this.add = entry => {\n if (entry.condition === void 0) {\n entry.condition = getTrue\n }\n this.__history.push(entry)\n }\n\n this.remove = entry => {\n const index = this.__history.indexOf(entry)\n if (index >= 0) {\n this.__history.splice(index, 1)\n }\n }\n\n const shouldExit = getShouldExitFn(\n Object.assign(\n { backButtonExit: true },\n qConf\n )\n )\n\n const backHandler = () => {\n if (this.__history.length) {\n const entry = this.__history[ this.__history.length - 1 ]\n\n if (entry.condition() === true) {\n this.__history.pop()\n entry.handler()\n }\n }\n else if (shouldExit() === true) {\n navigator.app.exitApp()\n }\n else {\n window.history.back()\n }\n }\n\n if (cordova === true) {\n document.addEventListener('deviceready', () => {\n document.addEventListener('backbutton', backHandler, false)\n })\n }\n else {\n window.Capacitor.Plugins.App.addListener('backButton', backHandler)\n }\n }\n}\n","export default {\n name: 'material-icons',\n type: {\n positive: 'check_circle',\n negative: 'warning',\n info: 'info',\n warning: 'priority_high'\n },\n arrow: {\n up: 'arrow_upward',\n right: 'arrow_forward',\n down: 'arrow_downward',\n left: 'arrow_back',\n dropdown: 'arrow_drop_down'\n },\n chevron: {\n left: 'chevron_left',\n right: 'chevron_right'\n },\n colorPicker: {\n spectrum: 'gradient',\n tune: 'tune',\n palette: 'style'\n },\n pullToRefresh: {\n icon: 'refresh'\n },\n carousel: {\n left: 'chevron_left',\n right: 'chevron_right',\n up: 'keyboard_arrow_up',\n down: 'keyboard_arrow_down',\n navigationIcon: 'lens'\n },\n chip: {\n remove: 'cancel',\n selected: 'check'\n },\n datetime: {\n arrowLeft: 'chevron_left',\n arrowRight: 'chevron_right',\n now: 'access_time',\n today: 'today'\n },\n editor: {\n bold: 'format_bold',\n italic: 'format_italic',\n strikethrough: 'strikethrough_s',\n underline: 'format_underlined',\n unorderedList: 'format_list_bulleted',\n orderedList: 'format_list_numbered',\n subscript: 'vertical_align_bottom',\n superscript: 'vertical_align_top',\n hyperlink: 'link',\n toggleFullscreen: 'fullscreen',\n quote: 'format_quote',\n left: 'format_align_left',\n center: 'format_align_center',\n right: 'format_align_right',\n justify: 'format_align_justify',\n print: 'print',\n outdent: 'format_indent_decrease',\n indent: 'format_indent_increase',\n removeFormat: 'format_clear',\n formatting: 'text_format',\n fontSize: 'format_size',\n align: 'format_align_left',\n hr: 'remove',\n undo: 'undo',\n redo: 'redo',\n heading: 'format_size',\n code: 'code',\n size: 'format_size',\n font: 'font_download',\n viewSource: 'code'\n },\n expansionItem: {\n icon: 'keyboard_arrow_down',\n denseIcon: 'arrow_drop_down'\n },\n fab: {\n icon: 'add',\n activeIcon: 'close'\n },\n field: {\n clear: 'cancel',\n error: 'error'\n },\n pagination: {\n first: 'first_page',\n prev: 'keyboard_arrow_left',\n next: 'keyboard_arrow_right',\n last: 'last_page'\n },\n rating: {\n icon: 'grade'\n },\n stepper: {\n done: 'check',\n active: 'edit',\n error: 'warning'\n },\n tabs: {\n left: 'chevron_left',\n right: 'chevron_right',\n up: 'keyboard_arrow_up',\n down: 'keyboard_arrow_down'\n },\n table: {\n arrowUp: 'arrow_upward',\n warning: 'warning',\n firstPage: 'first_page',\n prevPage: 'chevron_left',\n nextPage: 'chevron_right',\n lastPage: 'last_page'\n },\n tree: {\n icon: 'play_arrow'\n },\n uploader: {\n done: 'done',\n clear: 'clear',\n add: 'add_box',\n upload: 'cloud_upload',\n removeQueue: 'clear_all',\n removeUploaded: 'done_all'\n }\n}\n","import defineReactivePlugin from './utils/private/define-reactive-plugin.js'\nimport { injectProp } from './utils/private/inject-obj-prop.js'\n// no extension on purpose for next one:\nimport materialIcons from '../icon-set/material-icons'\n\nconst Plugin = defineReactivePlugin({\n iconMapFn: null,\n __icons: {}\n}, {\n set (setObject, ssrContext) {\n const def = { ...setObject, rtl: setObject.rtl === true }\n\n if (__QUASAR_SSR_SERVER__) {\n if (ssrContext === void 0) {\n console.error('SSR ERROR: second param required: Quasar.iconSet.set(iconSet, ssrContext)')\n return\n }\n\n def.set = ssrContext.$q.iconSet.set\n Object.assign(ssrContext.$q.iconSet, def)\n }\n else {\n def.set = Plugin.set\n Object.assign(Plugin.__icons, def)\n }\n },\n\n install ({ $q, iconSet, ssrContext }) {\n if (__QUASAR_SSR_SERVER__) {\n const initialSet = iconSet || materialIcons\n\n $q.iconMapFn = ssrContext.$q.config.iconMapFn || this.iconMapFn || null\n $q.iconSet = {}\n $q.iconSet.set = setObject => {\n this.set(setObject, ssrContext)\n }\n\n $q.iconSet.set(initialSet)\n }\n else {\n if ($q.config.iconMapFn !== void 0) {\n this.iconMapFn = $q.config.iconMapFn\n }\n\n $q.iconSet = this.__icons\n\n injectProp($q, 'iconMapFn', () => this.iconMapFn, val => { this.iconMapFn = val })\n\n if (this.__installed === true) {\n iconSet !== void 0 && this.set(iconSet)\n }\n else {\n this.set(iconSet || materialIcons)\n }\n }\n }\n})\n\nexport default Plugin\n","import { isRuntimeSsrPreHydration, client } from './Platform.js'\n\nimport defineReactivePlugin from '../utils/private/define-reactive-plugin.js'\nimport { listenOpts, noop } from '../utils/event.js'\nimport debounce from '../utils/debounce.js'\n\nconst SIZE_LIST = [ 'sm', 'md', 'lg', 'xl' ]\nconst { passive } = listenOpts\n\nexport default defineReactivePlugin({\n width: 0,\n height: 0,\n name: 'xs',\n\n sizes: {\n sm: 600,\n md: 1024,\n lg: 1440,\n xl: 1920\n },\n\n lt: {\n sm: true,\n md: true,\n lg: true,\n xl: true\n },\n gt: {\n xs: false,\n sm: false,\n md: false,\n lg: false\n },\n\n xs: true,\n sm: false,\n md: false,\n lg: false,\n xl: false\n}, {\n setSizes: noop,\n setDebounce: noop,\n\n install ({ $q, onSSRHydrated }) {\n $q.screen = this\n\n if (__QUASAR_SSR_SERVER__) { return }\n\n if (this.__installed === true) {\n if ($q.config.screen !== void 0) {\n if ($q.config.screen.bodyClasses === false) {\n document.body.classList.remove(`screen--${ this.name }`)\n }\n else {\n this.__update(true)\n }\n }\n return\n }\n\n const { visualViewport } = window\n const target = visualViewport || window\n const scrollingElement = document.scrollingElement || document.documentElement\n const getSize = visualViewport === void 0 || client.is.mobile === true\n ? () => [\n Math.max(window.innerWidth, scrollingElement.clientWidth),\n Math.max(window.innerHeight, scrollingElement.clientHeight)\n ]\n : () => [\n visualViewport.width * visualViewport.scale + window.innerWidth - scrollingElement.clientWidth,\n visualViewport.height * visualViewport.scale + window.innerHeight - scrollingElement.clientHeight\n ]\n\n const classes = $q.config.screen !== void 0 && $q.config.screen.bodyClasses === true\n\n this.__update = force => {\n const [ w, h ] = getSize()\n\n if (h !== this.height) {\n this.height = h\n }\n\n if (w !== this.width) {\n this.width = w\n }\n else if (force !== true) {\n return\n }\n\n let s = this.sizes\n\n this.gt.xs = w >= s.sm\n this.gt.sm = w >= s.md\n this.gt.md = w >= s.lg\n this.gt.lg = w >= s.xl\n this.lt.sm = w < s.sm\n this.lt.md = w < s.md\n this.lt.lg = w < s.lg\n this.lt.xl = w < s.xl\n this.xs = this.lt.sm\n this.sm = this.gt.xs === true && this.lt.md === true\n this.md = this.gt.sm === true && this.lt.lg === true\n this.lg = this.gt.md === true && this.lt.xl === true\n this.xl = this.gt.lg\n\n s = (this.xs === true && 'xs')\n || (this.sm === true && 'sm')\n || (this.md === true && 'md')\n || (this.lg === true && 'lg')\n || 'xl'\n\n if (s !== this.name) {\n if (classes === true) {\n document.body.classList.remove(`screen--${ this.name }`)\n document.body.classList.add(`screen--${ s }`)\n }\n this.name = s\n }\n }\n\n let updateEvt, updateSizes = {}, updateDebounce = 16\n\n this.setSizes = sizes => {\n SIZE_LIST.forEach(name => {\n if (sizes[ name ] !== void 0) {\n updateSizes[ name ] = sizes[ name ]\n }\n })\n }\n this.setDebounce = deb => {\n updateDebounce = deb\n }\n\n const start = () => {\n const style = getComputedStyle(document.body)\n\n // if css props available\n if (style.getPropertyValue('--q-size-sm')) {\n SIZE_LIST.forEach(name => {\n this.sizes[ name ] = parseInt(style.getPropertyValue(`--q-size-${ name }`), 10)\n })\n }\n\n this.setSizes = sizes => {\n SIZE_LIST.forEach(name => {\n if (sizes[ name ]) {\n this.sizes[ name ] = sizes[ name ]\n }\n })\n this.__update(true)\n }\n\n this.setDebounce = delay => {\n updateEvt !== void 0 && target.removeEventListener('resize', updateEvt, passive)\n updateEvt = delay > 0\n ? debounce(this.__update, delay)\n : this.__update\n target.addEventListener('resize', updateEvt, passive)\n }\n\n this.setDebounce(updateDebounce)\n\n if (Object.keys(updateSizes).length !== 0) {\n this.setSizes(updateSizes)\n updateSizes = void 0 // free up memory\n }\n else {\n this.__update()\n }\n\n // due to optimizations, this would be left out otherwise\n classes === true && this.name === 'xs'\n && document.body.classList.add('screen--xs')\n }\n\n if (isRuntimeSsrPreHydration.value === true) {\n onSSRHydrated.push(start)\n }\n else {\n start()\n }\n }\n})\n","import defineReactivePlugin from '../utils/private/define-reactive-plugin.js'\nimport { isRuntimeSsrPreHydration } from './Platform.js'\n\nconst Plugin = defineReactivePlugin({\n isActive: false,\n mode: false\n}, {\n __media: void 0,\n\n set (val) {\n if (__QUASAR_SSR_SERVER__) { return }\n\n Plugin.mode = val\n\n if (val === 'auto') {\n if (Plugin.__media === void 0) {\n Plugin.__media = window.matchMedia('(prefers-color-scheme: dark)')\n Plugin.__updateMedia = () => { Plugin.set('auto') }\n Plugin.__media.addListener(Plugin.__updateMedia)\n }\n\n val = Plugin.__media.matches\n }\n else if (Plugin.__media !== void 0) {\n Plugin.__media.removeListener(Plugin.__updateMedia)\n Plugin.__media = void 0\n }\n\n Plugin.isActive = val === true\n\n document.body.classList.remove(`body--${ val === true ? 'light' : 'dark' }`)\n document.body.classList.add(`body--${ val === true ? 'dark' : 'light' }`)\n },\n\n toggle () {\n if (__QUASAR_SSR_SERVER__ !== true) {\n Plugin.set(Plugin.isActive === false)\n }\n },\n\n install ({ $q, onSSRHydrated, ssrContext }) {\n const { dark } = $q.config\n\n if (__QUASAR_SSR_SERVER__) {\n this.isActive = dark === true\n\n $q.dark = {\n isActive: false,\n mode: false,\n set: val => {\n ssrContext._meta.bodyClasses = ssrContext._meta.bodyClasses\n .replace(' body--light', '')\n .replace(' body--dark', '') + ` body--${ val === true ? 'dark' : 'light' }`\n\n $q.dark.isActive = val === true\n $q.dark.mode = val\n },\n toggle: () => {\n $q.dark.set($q.dark.isActive === false)\n }\n }\n\n $q.dark.set(dark)\n return\n }\n\n $q.dark = this\n\n if (this.__installed === true && dark === void 0) {\n return\n }\n\n this.isActive = dark === true\n\n const initialVal = dark !== void 0 ? dark : false\n\n if (isRuntimeSsrPreHydration.value === true) {\n const ssrSet = val => {\n this.__fromSSR = val\n }\n\n const originalSet = this.set\n\n this.set = ssrSet\n ssrSet(initialVal)\n\n onSSRHydrated.push(() => {\n this.set = originalSet\n this.set(this.__fromSSR)\n })\n }\n else {\n this.set(initialVal)\n }\n }\n})\n\nexport default Plugin\n","export default function setCssVar (propName, value, element = document.body) {\n if (typeof propName !== 'string') {\n throw new TypeError('Expected a string as propName')\n }\n if (typeof value !== 'string') {\n throw new TypeError('Expected a string as value')\n }\n if (!(element instanceof Element)) {\n throw new TypeError('Expected a DOM element')\n }\n\n element.style.setProperty(`--q-${ propName }`, value)\n}\n","import setCssVar from './utils/set-css-var.js'\nimport { noop } from './utils/event.js'\nimport { onKeyDownComposition } from './utils/private/key-composition.js'\nimport { isRuntimeSsrPreHydration, client, iosCorrection } from './plugins/Platform.js'\n\nfunction getMobilePlatform (is) {\n if (is.ios === true) return 'ios'\n if (is.android === true) return 'android'\n}\n\nfunction getBodyClasses ({ is, has, within }, cfg) {\n const cls = [\n is.desktop === true ? 'desktop' : 'mobile',\n `${ has.touch === false ? 'no-' : '' }touch`\n ]\n\n if (is.mobile === true) {\n const mobile = getMobilePlatform(is)\n mobile !== void 0 && cls.push('platform-' + mobile)\n }\n\n if (is.nativeMobile === true) {\n const type = is.nativeMobileWrapper\n\n cls.push(type)\n cls.push('native-mobile')\n\n if (\n is.ios === true\n && (cfg[ type ] === void 0 || cfg[ type ].iosStatusBarPadding !== false)\n ) {\n cls.push('q-ios-padding')\n }\n }\n else if (is.electron === true) {\n cls.push('electron')\n }\n else if (is.bex === true) {\n cls.push('bex')\n }\n\n within.iframe === true && cls.push('within-iframe')\n\n return cls\n}\n\nfunction applyClientSsrCorrections () {\n const { is } = client\n const classes = document.body.className\n\n const classList = new Set(classes.replace(/ {2}/g, ' ').split(' '))\n\n if (iosCorrection !== void 0) {\n classList.delete('desktop')\n classList.add('platform-ios')\n classList.add('mobile')\n }\n // else: is it SSG?\n else if (is.nativeMobile !== true && is.electron !== true && is.bex !== true) {\n if (is.desktop === true) {\n classList.delete('mobile')\n classList.delete('platform-ios')\n classList.delete('platform-android')\n classList.add('desktop')\n }\n else if (is.mobile === true) {\n classList.delete('desktop')\n classList.add('mobile')\n\n const mobile = getMobilePlatform(is)\n if (mobile !== void 0) {\n classList.add(`platform-${ mobile }`)\n classList.delete(`platform-${ mobile === 'ios' ? 'android' : 'ios' }`)\n }\n else {\n classList.delete('platform-ios')\n classList.delete('platform-android')\n }\n }\n }\n\n if (client.has.touch === true) {\n classList.delete('no-touch')\n classList.add('touch')\n }\n\n if (client.within.iframe === true) {\n classList.add('within-iframe')\n }\n\n const newCls = Array.from(classList).join(' ')\n\n if (classes !== newCls) {\n document.body.className = newCls\n }\n}\n\nfunction setColors (brand) {\n for (const color in brand) {\n setCssVar(color, brand[ color ])\n }\n}\n\nexport default {\n install (opts) {\n if (__QUASAR_SSR_SERVER__) {\n const { $q, ssrContext } = opts\n const cls = getBodyClasses($q.platform, $q.config)\n\n if ($q.config.screen !== void 0 && $q.config.screen.bodyClass === true) {\n cls.push('screen--xs')\n }\n\n ssrContext._meta.bodyClasses += cls.join(' ')\n\n const brand = $q.config.brand\n if (brand !== void 0) {\n const vars = Object.keys(brand)\n .map(key => `--q-${ key }:${ brand[ key ] };`)\n .join('')\n\n ssrContext._meta.endingHeadTags += ``\n }\n\n return\n }\n\n if (this.__installed === true) { return }\n\n if (isRuntimeSsrPreHydration.value === true) {\n applyClientSsrCorrections()\n }\n else {\n const { $q } = opts\n\n $q.config.brand !== void 0 && setColors($q.config.brand)\n\n const cls = getBodyClasses(client, $q.config)\n document.body.classList.add.apply(document.body.classList, cls)\n }\n\n if (client.is.ios === true) {\n // needed for iOS button active state\n document.body.addEventListener('touchstart', noop)\n }\n\n window.addEventListener('keydown', onKeyDownComposition, true)\n }\n}\n","import { createApp } from 'vue'\n\nimport Platform, { isRuntimeSsrPreHydration } from './plugins/Platform.js'\nimport Screen from './plugins/Screen.js'\nimport Dark from './plugins/Dark.js'\nimport History from './history.js'\nimport Lang from './lang.js'\nimport Body from './body.js'\nimport IconSet from './icon-set.js'\n\nimport { quasarKey } from './utils/private/symbols.js'\nimport { globalConfig, globalConfigIsFrozen, freezeGlobalConfig } from './utils/private/global-config.js'\nimport { isObject } from './utils/is.js'\n\nconst autoInstalledPlugins = [\n Platform,\n Body,\n Dark,\n Screen,\n History,\n Lang,\n IconSet\n]\n\nexport function createChildApp (appCfg, parentApp) {\n const app = createApp(appCfg)\n\n app.config.globalProperties = parentApp.config.globalProperties\n\n const { reload, ...appContext } = parentApp._context\n Object.assign(app._context, appContext)\n\n return app\n}\n\nfunction installPlugins (pluginOpts, pluginList) {\n pluginList.forEach(Plugin => {\n Plugin.install(pluginOpts)\n Plugin.__installed = true\n })\n}\n\nfunction prepareApp (app, uiOpts, pluginOpts) {\n app.config.globalProperties.$q = pluginOpts.$q\n app.provide(quasarKey, pluginOpts.$q)\n\n installPlugins(pluginOpts, autoInstalledPlugins)\n\n uiOpts.components !== void 0 && Object.values(uiOpts.components).forEach(c => {\n if (isObject(c) === true && c.name !== void 0) {\n app.component(c.name, c)\n }\n })\n\n uiOpts.directives !== void 0 && Object.values(uiOpts.directives).forEach(d => {\n if (isObject(d) === true && d.name !== void 0) {\n app.directive(d.name, d)\n }\n })\n\n uiOpts.plugins !== void 0 && installPlugins(\n pluginOpts,\n Object.values(uiOpts.plugins).filter(\n p => typeof p.install === 'function' && autoInstalledPlugins.includes(p) === false\n )\n )\n\n if (isRuntimeSsrPreHydration.value === true) {\n pluginOpts.$q.onSSRHydrated = () => {\n pluginOpts.onSSRHydrated.forEach(fn => { fn() })\n pluginOpts.$q.onSSRHydrated = () => {}\n }\n }\n}\n\nexport default __QUASAR_SSR_SERVER__\n ? function (parentApp, opts = {}, ssrContext) {\n const $q = {\n version: __QUASAR_VERSION__,\n config: opts.config || {}\n }\n\n Object.assign(ssrContext, {\n $q,\n _meta: {\n htmlAttrs: '',\n headTags: '',\n endingHeadTags: '',\n bodyClasses: '',\n bodyAttrs: 'data-server-rendered',\n bodyTags: ''\n }\n })\n\n if (ssrContext._modules === void 0) {\n // not OK. means the SSR build is not using @quasar/ssr-helpers,\n // but we shouldn't crash the app\n ssrContext._modules = []\n }\n\n if (ssrContext.onRendered === void 0) {\n // not OK. means the SSR build is not using @quasar/ssr-helpers,\n // but we shouldn't crash the app\n ssrContext.onRendered = () => {}\n }\n\n parentApp.config.globalProperties.ssrContext = ssrContext\n\n prepareApp(parentApp, opts, {\n parentApp,\n $q,\n lang: opts.lang,\n iconSet: opts.iconSet,\n ssrContext\n })\n }\n : function (parentApp, opts = {}) {\n const $q = { version: __QUASAR_VERSION__ }\n\n if (globalConfigIsFrozen === false) {\n if (opts.config !== void 0) {\n Object.assign(globalConfig, opts.config)\n }\n\n $q.config = { ...globalConfig }\n freezeGlobalConfig()\n }\n else {\n $q.config = opts.config || {}\n }\n\n prepareApp(parentApp, opts, {\n parentApp,\n $q,\n lang: opts.lang,\n iconSet: opts.iconSet,\n onSSRHydrated: []\n })\n }\n","export default {\n isoName: 'en-US',\n nativeName: 'English (US)',\n label: {\n clear: 'Clear',\n ok: 'OK',\n cancel: 'Cancel',\n close: 'Close',\n set: 'Set',\n select: 'Select',\n reset: 'Reset',\n remove: 'Remove',\n update: 'Update',\n create: 'Create',\n search: 'Search',\n filter: 'Filter',\n refresh: 'Refresh',\n expand: label => (label ? `Expand \"${ label }\"` : 'Expand'),\n collapse: label => (label ? `Collapse \"${ label }\"` : 'Collapse')\n },\n date: {\n days: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n daysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n firstDayOfWeek: 0, // 0-6, 0 - Sunday, 1 Monday, ...\n format24h: false,\n pluralDay: 'days'\n },\n table: {\n noData: 'No data available',\n noResults: 'No matching records found',\n loading: 'Loading...',\n selectedRecords: rows => (\n rows === 1\n ? '1 record selected.'\n : (rows === 0 ? 'No' : rows) + ' records selected.'\n ),\n recordsPerPage: 'Records per page:',\n allRows: 'All',\n pagination: (start, end, total) => start + '-' + end + ' of ' + total,\n columns: 'Columns'\n },\n editor: {\n url: 'URL',\n bold: 'Bold',\n italic: 'Italic',\n strikethrough: 'Strikethrough',\n underline: 'Underline',\n unorderedList: 'Unordered List',\n orderedList: 'Ordered List',\n subscript: 'Subscript',\n superscript: 'Superscript',\n hyperlink: 'Hyperlink',\n toggleFullscreen: 'Toggle Fullscreen',\n quote: 'Quote',\n left: 'Left align',\n center: 'Center align',\n right: 'Right align',\n justify: 'Justify align',\n print: 'Print',\n outdent: 'Decrease indentation',\n indent: 'Increase indentation',\n removeFormat: 'Remove formatting',\n formatting: 'Formatting',\n fontSize: 'Font Size',\n align: 'Align',\n hr: 'Insert Horizontal Rule',\n undo: 'Undo',\n redo: 'Redo',\n heading1: 'Heading 1',\n heading2: 'Heading 2',\n heading3: 'Heading 3',\n heading4: 'Heading 4',\n heading5: 'Heading 5',\n heading6: 'Heading 6',\n paragraph: 'Paragraph',\n code: 'Code',\n size1: 'Very small',\n size2: 'A bit small',\n size3: 'Normal',\n size4: 'Medium-large',\n size5: 'Big',\n size6: 'Very big',\n size7: 'Maximum',\n defaultFont: 'Default Font',\n viewSource: 'View Source'\n },\n tree: {\n noNodes: 'No nodes available',\n noResults: 'No matching nodes found'\n }\n}\n","import defineReactivePlugin from './utils/private/define-reactive-plugin.js'\n// no extension on purpose for next one:\nimport defaultLang from '../lang/en-US'\n\nfunction getLocale () {\n if (__QUASAR_SSR_SERVER__) { return }\n\n const val = Array.isArray(navigator.languages) === true && navigator.languages.length !== 0\n ? navigator.languages[ 0 ]\n : navigator.language\n\n if (typeof val === 'string') {\n return val.split(/[-_]/).map((v, i) => (\n i === 0\n ? v.toLowerCase()\n : (\n i > 1 || v.length < 4\n ? v.toUpperCase()\n : (v[ 0 ].toUpperCase() + v.slice(1).toLowerCase())\n )\n )).join('-')\n }\n}\n\nconst Plugin = defineReactivePlugin({\n __langPack: {}\n}, {\n getLocale,\n\n set (langObject = defaultLang, ssrContext) {\n const lang = {\n ...langObject,\n rtl: langObject.rtl === true,\n getLocale\n }\n\n if (__QUASAR_SSR_SERVER__) {\n if (ssrContext === void 0) {\n console.error('SSR ERROR: second param required: Quasar.lang.set(lang, ssrContext)')\n return\n }\n\n lang.set = ssrContext.$q.lang.set\n\n if (ssrContext.$q.config.lang === void 0 || ssrContext.$q.config.lang.noHtmlAttrs !== true) {\n const dir = lang.rtl === true ? 'rtl' : 'ltr'\n const attrs = `lang=${ lang.isoName } dir=${ dir }`\n\n ssrContext._meta.htmlAttrs = ssrContext.__qPrevLang !== void 0\n ? ssrContext._meta.htmlAttrs.replace(ssrContext.__qPrevLang, attrs)\n : attrs\n\n ssrContext.__qPrevLang = attrs\n }\n\n ssrContext.$q.lang = lang\n }\n else {\n lang.set = Plugin.set\n\n if (Plugin.__langConfig === void 0 || Plugin.__langConfig.noHtmlAttrs !== true) {\n const el = document.documentElement\n el.setAttribute('dir', lang.rtl === true ? 'rtl' : 'ltr')\n el.setAttribute('lang', lang.isoName)\n }\n\n Object.assign(Plugin.__langPack, lang)\n\n Plugin.props = lang\n Plugin.isoName = lang.isoName\n Plugin.nativeName = lang.nativeName\n }\n },\n\n install ({ $q, lang, ssrContext }) {\n if (__QUASAR_SSR_SERVER__) {\n const initialLang = lang || defaultLang\n\n $q.lang = {}\n $q.lang.set = langObject => {\n this.set(langObject, ssrContext)\n }\n\n $q.lang.set(initialLang)\n\n // one-time SSR server operation\n if (this.isoName !== initialLang.isoName) {\n this.isoName = initialLang.isoName\n this.nativeName = initialLang.nativeName\n this.props = initialLang\n }\n }\n else {\n $q.lang = Plugin.__langPack\n Plugin.__langConfig = $q.config.lang\n\n if (this.__installed === true) {\n lang !== void 0 && this.set(lang)\n }\n else {\n this.set(lang || defaultLang)\n }\n }\n }\n})\n\nexport default Plugin\nexport { defaultLang }\n","import { noop } from '../event.js'\nimport { isDate, isRegexp } from '../is.js'\n\nfunction encode (value) {\n if (isDate(value) === true) {\n return '__q_date|' + value.toUTCString()\n }\n if (isRegexp(value) === true) {\n return '__q_expr|' + value.source\n }\n if (typeof value === 'number') {\n return '__q_numb|' + value\n }\n if (typeof value === 'boolean') {\n return '__q_bool|' + (value ? '1' : '0')\n }\n if (typeof value === 'string') {\n return '__q_strn|' + value\n }\n if (typeof value === 'function') {\n return '__q_strn|' + value.toString()\n }\n if (value === Object(value)) {\n return '__q_objt|' + JSON.stringify(value)\n }\n\n // hmm, we don't know what to do with it,\n // so just return it as is\n return value\n}\n\nfunction decode (value) {\n const length = value.length\n if (length < 9) {\n // then it wasn't encoded by us\n return value\n }\n\n const type = value.substring(0, 8)\n const source = value.substring(9)\n\n switch (type) {\n case '__q_date':\n return new Date(source)\n\n case '__q_expr':\n return new RegExp(source)\n\n case '__q_numb':\n return Number(source)\n\n case '__q_bool':\n return Boolean(source === '1')\n\n case '__q_strn':\n return '' + source\n\n case '__q_objt':\n return JSON.parse(source)\n\n default:\n // hmm, we reached here, we don't know the type,\n // then it means it wasn't encoded by us, so just\n // return whatever value it is\n return value\n }\n}\n\nexport function getEmptyStorage () {\n const getVal = () => null\n\n return {\n has: () => false,\n getLength: () => 0,\n getItem: getVal,\n getIndex: getVal,\n getKey: getVal,\n getAll: () => {},\n getAllKeys: () => [],\n set: noop,\n remove: noop,\n clear: noop,\n isEmpty: () => true\n }\n}\n\nexport function getStorage (type) {\n const\n webStorage = window[ type + 'Storage' ],\n get = key => {\n const item = webStorage.getItem(key)\n return item\n ? decode(item)\n : null\n }\n\n return {\n has: key => webStorage.getItem(key) !== null,\n getLength: () => webStorage.length,\n getItem: get,\n getIndex: index => {\n return index < webStorage.length\n ? get(webStorage.key(index))\n : null\n },\n getKey: index => {\n return index < webStorage.length\n ? webStorage.key(index)\n : null\n },\n getAll: () => {\n let key\n const result = {}, len = webStorage.length\n\n for (let i = 0; i < len; i++) {\n key = webStorage.key(i)\n result[ key ] = get(key)\n }\n\n return result\n },\n getAllKeys: () => {\n const result = [], len = webStorage.length\n\n for (let i = 0; i < len; i++) {\n result.push(webStorage.key(i))\n }\n\n return result\n },\n set: (key, value) => { webStorage.setItem(key, encode(value)) },\n remove: key => { webStorage.removeItem(key) },\n clear: () => { webStorage.clear() },\n isEmpty: () => webStorage.length === 0\n }\n}\n","import { client } from './Platform.js'\nimport { getEmptyStorage, getStorage } from '../utils/private/web-storage.js'\n\nconst storage = __QUASAR_SSR_SERVER__ || client.has.webStorage === false\n ? getEmptyStorage()\n : getStorage('local')\n\nconst Plugin = {\n install ({ $q }) {\n $q.localStorage = storage\n }\n}\n\nObject.assign(Plugin, storage)\n\nexport default Plugin\n","import { h, ref, markRaw, TransitionGroup } from 'vue'\n\nimport QAvatar from '../components/avatar/QAvatar.js'\nimport QIcon from '../components/icon/QIcon.js'\nimport QBtn from '../components/btn/QBtn.js'\nimport QSpinner from '../components/spinner/QSpinner.js'\n\nimport { createComponent } from '../utils/private/create.js'\nimport { noop } from '../utils/event.js'\nimport { createGlobalNode } from '../utils/private/global-nodes.js'\nimport { createChildApp } from '../install-quasar.js'\nimport { isObject } from '../utils/is.js'\n\nlet uid = 0\n\nconst defaults = {}\nconst groups = {}\nconst notificationsList = {}\nconst positionClass = {}\nconst emptyRE = /^\\s*$/\nconst notifRefs = []\n\nconst positionList = [\n 'top-left', 'top-right',\n 'bottom-left', 'bottom-right',\n 'top', 'bottom', 'left', 'right', 'center'\n]\n\nconst badgePositions = [\n 'top-left', 'top-right',\n 'bottom-left', 'bottom-right'\n]\n\nconst notifTypes = {\n positive: {\n icon: $q => $q.iconSet.type.positive,\n color: 'positive'\n },\n\n negative: {\n icon: $q => $q.iconSet.type.negative,\n color: 'negative'\n },\n\n warning: {\n icon: $q => $q.iconSet.type.warning,\n color: 'warning',\n textColor: 'dark'\n },\n\n info: {\n icon: $q => $q.iconSet.type.info,\n color: 'info'\n },\n\n ongoing: {\n group: false,\n timeout: 0,\n spinner: true,\n color: 'grey-8'\n }\n}\n\nfunction addNotification (config, $q, originalApi) {\n if (!config) {\n return logError('parameter required')\n }\n\n let Api\n const notif = { textColor: 'white' }\n\n if (config.ignoreDefaults !== true) {\n Object.assign(notif, defaults)\n }\n\n if (isObject(config) === false) {\n if (notif.type) {\n Object.assign(notif, notifTypes[ notif.type ])\n }\n\n config = { message: config }\n }\n\n Object.assign(notif, notifTypes[ config.type || notif.type ], config)\n\n if (typeof notif.icon === 'function') {\n notif.icon = notif.icon($q)\n }\n\n if (!notif.spinner) {\n notif.spinner = false\n }\n else {\n if (notif.spinner === true) {\n notif.spinner = QSpinner\n }\n\n notif.spinner = markRaw(notif.spinner)\n }\n\n notif.meta = {\n hasMedia: Boolean(notif.spinner !== false || notif.icon || notif.avatar),\n hasText: hasContent(notif.message) || hasContent(notif.caption)\n }\n\n if (notif.position) {\n if (positionList.includes(notif.position) === false) {\n return logError('wrong position', config)\n }\n }\n else {\n notif.position = 'bottom'\n }\n\n if (notif.timeout === void 0) {\n notif.timeout = 5000\n }\n else {\n const t = parseInt(notif.timeout, 10)\n if (isNaN(t) || t < 0) {\n return logError('wrong timeout', config)\n }\n notif.timeout = t\n }\n\n if (notif.timeout === 0) {\n notif.progress = false\n }\n else if (notif.progress === true) {\n notif.meta.progressClass = 'q-notification__progress' + (\n notif.progressClass\n ? ` ${ notif.progressClass }`\n : ''\n )\n\n notif.meta.progressStyle = {\n animationDuration: `${ notif.timeout + 1000 }ms`\n }\n }\n\n const actions = (\n Array.isArray(config.actions) === true\n ? config.actions\n : []\n ).concat(\n config.ignoreDefaults !== true && Array.isArray(defaults.actions) === true\n ? defaults.actions\n : []\n ).concat(\n notifTypes[ config.type ] !== void 0 && Array.isArray(notifTypes[ config.type ].actions) === true\n ? notifTypes[ config.type ].actions\n : []\n )\n\n const { closeBtn } = notif\n closeBtn && actions.push({\n label: typeof closeBtn === 'string'\n ? closeBtn\n : $q.lang.label.close\n })\n\n notif.actions = actions.map(({ handler, noDismiss, ...item }) => ({\n flat: true,\n ...item,\n onClick: typeof handler === 'function'\n ? () => {\n handler()\n noDismiss !== true && dismiss()\n }\n : () => { dismiss() }\n }))\n\n if (notif.multiLine === void 0) {\n notif.multiLine = notif.actions.length > 1\n }\n\n Object.assign(notif.meta, {\n class: 'q-notification row items-stretch'\n + ` q-notification--${ notif.multiLine === true ? 'multi-line' : 'standard' }`\n + (notif.color !== void 0 ? ` bg-${ notif.color }` : '')\n + (notif.textColor !== void 0 ? ` text-${ notif.textColor }` : '')\n + (notif.classes !== void 0 ? ` ${ notif.classes }` : ''),\n\n wrapperClass: 'q-notification__wrapper col relative-position border-radius-inherit '\n + (notif.multiLine === true ? 'column no-wrap justify-center' : 'row items-center'),\n\n contentClass: 'q-notification__content row items-center'\n + (notif.multiLine === true ? '' : ' col'),\n\n leftClass: notif.meta.hasText === true ? 'additional' : 'single',\n\n attrs: {\n role: 'alert',\n ...notif.attrs\n }\n })\n\n if (notif.group === false) {\n notif.group = void 0\n notif.meta.group = void 0\n }\n else {\n if (notif.group === void 0 || notif.group === true) {\n // do not replace notifications with different buttons\n notif.group = [\n notif.message,\n notif.caption,\n notif.multiline\n ].concat(\n notif.actions.map(props => `${ props.label }*${ props.icon }`)\n ).join('|')\n }\n\n notif.meta.group = notif.group + '|' + notif.position\n }\n\n if (notif.actions.length === 0) {\n notif.actions = void 0\n }\n else {\n notif.meta.actionsClass = 'q-notification__actions row items-center '\n + (notif.multiLine === true ? 'justify-end' : 'col-auto')\n + (notif.meta.hasMedia === true ? ' q-notification__actions--with-media' : '')\n }\n\n if (originalApi !== void 0) {\n // reset timeout if any\n if (originalApi.notif.meta.timer) {\n clearTimeout(originalApi.notif.meta.timer)\n originalApi.notif.meta.timer = void 0\n }\n\n // retain uid\n notif.meta.uid = originalApi.notif.meta.uid\n\n // replace notif\n const index = notificationsList[ notif.position ].value.indexOf(originalApi.notif)\n notificationsList[ notif.position ].value[ index ] = notif\n }\n else {\n const original = groups[ notif.meta.group ]\n\n // woohoo, it's a new notification\n if (original === void 0) {\n notif.meta.uid = uid++\n notif.meta.badge = 1\n\n if ([ 'left', 'right', 'center' ].indexOf(notif.position) !== -1) {\n notificationsList[ notif.position ].value.splice(\n Math.floor(notificationsList[ notif.position ].value.length / 2),\n 0,\n notif\n )\n }\n else {\n const action = notif.position.indexOf('top') > -1 ? 'unshift' : 'push'\n notificationsList[ notif.position ].value[ action ](notif)\n }\n\n if (notif.group !== void 0) {\n groups[ notif.meta.group ] = notif\n }\n }\n // ok, so it's NOT a new one\n else {\n // reset timeout if any\n if (original.meta.timer) {\n clearTimeout(original.meta.timer)\n original.meta.timer = void 0\n }\n\n if (notif.badgePosition !== void 0) {\n if (badgePositions.includes(notif.badgePosition) === false) {\n return logError('wrong badgePosition', config)\n }\n }\n else {\n notif.badgePosition = `top-${ notif.position.indexOf('left') > -1 ? 'right' : 'left' }`\n }\n\n notif.meta.uid = original.meta.uid\n notif.meta.badge = original.meta.badge + 1\n notif.meta.badgeClass = `q-notification__badge q-notification__badge--${ notif.badgePosition }`\n + (notif.badgeColor !== void 0 ? ` bg-${ notif.badgeColor }` : '')\n + (notif.badgeTextColor !== void 0 ? ` text-${ notif.badgeTextColor }` : '')\n + (notif.badgeClass ? ` ${ notif.badgeClass }` : '')\n\n const index = notificationsList[ notif.position ].value.indexOf(original)\n notificationsList[ notif.position ].value[ index ] = groups[ notif.meta.group ] = notif\n }\n }\n\n const dismiss = () => {\n removeNotification(notif)\n Api = void 0\n }\n\n if (notif.timeout > 0) {\n notif.meta.timer = setTimeout(() => {\n notif.meta.timer = void 0\n dismiss()\n }, notif.timeout + /* show duration */ 1000)\n }\n\n // only non-groupable can be updated\n if (notif.group !== void 0) {\n return props => {\n if (props !== void 0) {\n logError('trying to update a grouped one which is forbidden', config)\n }\n else {\n dismiss()\n }\n }\n }\n\n Api = {\n dismiss,\n config,\n notif\n }\n\n if (originalApi !== void 0) {\n Object.assign(originalApi, Api)\n return\n }\n\n return props => {\n // if notification wasn't previously dismissed\n if (Api !== void 0) {\n // if no params, then we must dismiss the notification\n if (props === void 0) {\n Api.dismiss()\n }\n // otherwise we're updating it\n else {\n const newNotif = Object.assign({}, Api.config, props, {\n group: false,\n position: notif.position\n })\n\n addNotification(newNotif, $q, Api)\n }\n }\n }\n}\n\nfunction removeNotification (notif) {\n if (notif.meta.timer) {\n clearTimeout(notif.meta.timer)\n notif.meta.timer = void 0\n }\n\n const index = notificationsList[ notif.position ].value.indexOf(notif)\n if (index !== -1) {\n if (notif.group !== void 0) {\n delete groups[ notif.meta.group ]\n }\n\n const el = notifRefs[ '' + notif.meta.uid ]\n\n if (el) {\n const { width, height } = getComputedStyle(el)\n\n el.style.left = `${ el.offsetLeft }px`\n el.style.width = width\n el.style.height = height\n }\n\n notificationsList[ notif.position ].value.splice(index, 1)\n\n if (typeof notif.onDismiss === 'function') {\n notif.onDismiss()\n }\n }\n}\n\nfunction hasContent (str) {\n return str !== void 0\n && str !== null\n && emptyRE.test(str) !== true\n}\n\nfunction logError (error, config) {\n console.error(`Notify: ${ error }`, config)\n return false\n}\n\nfunction getComponent () {\n return createComponent({\n name: 'QNotifications',\n\n // hide App from Vue devtools\n devtools: { hide: true },\n\n setup () {\n return () => h('div', { class: 'q-notifications' }, positionList.map(pos => {\n return h(TransitionGroup, {\n key: pos,\n class: positionClass[ pos ],\n tag: 'div',\n name: `q-notification--${ pos }`\n }, () => notificationsList[ pos ].value.map(notif => {\n const meta = notif.meta\n const mainChild = []\n\n if (meta.hasMedia === true) {\n if (notif.spinner !== false) {\n mainChild.push(\n h(notif.spinner, {\n class: 'q-notification__spinner q-notification__spinner--' + meta.leftClass,\n color: notif.spinnerColor,\n size: notif.spinnerSize\n })\n )\n }\n else if (notif.icon) {\n mainChild.push(\n h(QIcon, {\n class: 'q-notification__icon q-notification__icon--' + meta.leftClass,\n name: notif.icon,\n color: notif.iconColor,\n size: notif.iconSize,\n role: 'img'\n })\n )\n }\n else if (notif.avatar) {\n mainChild.push(\n h(QAvatar, {\n class: 'q-notification__avatar q-notification__avatar--' + meta.leftClass\n }, () => h('img', { src: notif.avatar, 'aria-hidden': 'true' }))\n )\n }\n }\n\n if (meta.hasText === true) {\n let msgChild\n const msgData = { class: 'q-notification__message col' }\n\n if (notif.html === true) {\n msgData.innerHTML = notif.caption\n ? `${ notif.message }
${ notif.caption }
`\n : notif.message\n }\n else {\n const msgNode = [ notif.message ]\n msgChild = notif.caption\n ? [\n h('div', msgNode),\n h('div', { class: 'q-notification__caption' }, [ notif.caption ])\n ]\n : msgNode\n }\n\n mainChild.push(\n h('div', msgData, msgChild)\n )\n }\n\n const child = [\n h('div', { class: meta.contentClass }, mainChild)\n ]\n\n notif.progress === true && child.push(\n h('div', {\n key: `${ meta.uid }|p|${ meta.badge }`,\n class: meta.progressClass,\n style: meta.progressStyle\n })\n )\n\n notif.actions !== void 0 && child.push(\n h('div', {\n class: meta.actionsClass\n }, notif.actions.map(props => h(QBtn, props)))\n )\n\n meta.badge > 1 && child.push(\n h('div', {\n key: `${ meta.uid }|${ meta.badge }`,\n class: notif.meta.badgeClass,\n style: notif.badgeStyle\n }, [ meta.badge ])\n )\n\n return h('div', {\n ref: el => { notifRefs[ '' + meta.uid ] = el },\n key: meta.uid,\n class: meta.class,\n ...meta.attrs\n }, [\n h('div', { class: meta.wrapperClass }, child)\n ])\n }))\n }))\n }\n })\n}\n\nexport default {\n setDefaults (opts) {\n if (__QUASAR_SSR_SERVER__ !== true) {\n isObject(opts) === true && Object.assign(defaults, opts)\n }\n },\n\n registerType (typeName, typeOpts) {\n if (__QUASAR_SSR_SERVER__ !== true && isObject(typeOpts) === true) {\n notifTypes[ typeName ] = typeOpts\n }\n },\n\n install ({ $q, parentApp }) {\n $q.notify = this.create = __QUASAR_SSR_SERVER__\n ? noop\n : opts => addNotification(opts, $q)\n\n $q.notify.setDefaults = this.setDefaults\n $q.notify.registerType = this.registerType\n\n if ($q.config.notify !== void 0) {\n this.setDefaults($q.config.notify)\n }\n\n if (__QUASAR_SSR_SERVER__ !== true && this.__installed !== true) {\n positionList.forEach(pos => {\n notificationsList[ pos ] = ref([])\n\n const\n vert = [ 'left', 'center', 'right' ].includes(pos) === true ? 'center' : (pos.indexOf('top') > -1 ? 'top' : 'bottom'),\n align = pos.indexOf('left') > -1 ? 'start' : (pos.indexOf('right') > -1 ? 'end' : 'center'),\n classes = [ 'left', 'right' ].includes(pos) ? `items-${ pos === 'left' ? 'start' : 'end' } justify-center` : (pos === 'center' ? 'flex-center' : `items-${ align }`)\n\n positionClass[ pos ] = `q-notifications__list q-notifications__list--${ vert } fixed column no-wrap ${ classes }`\n })\n\n const el = createGlobalNode('q-notify')\n createChildApp(getComponent(), parentApp).mount(el)\n }\n }\n}\n","/* eslint-disable no-useless-escape */\n\nimport { ref, reactive } from 'vue'\nimport { injectProp } from '../utils/private/inject-obj-prop.js'\n\n/**\n * __ QUASAR_SSR __ -> runs on SSR on client or server\n * __ QUASAR_SSR_SERVER __ -> runs on SSR on server\n * __ QUASAR_SSR_CLIENT __ -> runs on SSR on client\n * __ QUASAR_SSR_PWA __ -> built with SSR+PWA; may run on SSR on client or on PWA client\n * (needs runtime detection)\n */\n\nexport const isRuntimeSsrPreHydration = __QUASAR_SSR_SERVER__\n ? { value: true }\n : ref(\n __QUASAR_SSR_CLIENT__ && (\n __QUASAR_SSR_PWA__ ? document.body.getAttribute('data-server-rendered') !== null : true\n )\n )\n\nexport let iosEmulated = false\nexport let iosCorrection\n\nfunction getMatch (userAgent, platformMatch) {\n const match = /(edg|edge|edga|edgios)\\/([\\w.]+)/.exec(userAgent)\n || /(opr)[\\/]([\\w.]+)/.exec(userAgent)\n || /(vivaldi)[\\/]([\\w.]+)/.exec(userAgent)\n || /(chrome|crios)[\\/]([\\w.]+)/.exec(userAgent)\n || /(version)(applewebkit)[\\/]([\\w.]+).*(safari)[\\/]([\\w.]+)/.exec(userAgent)\n || /(webkit)[\\/]([\\w.]+).*(version)[\\/]([\\w.]+).*(safari)[\\/]([\\w.]+)/.exec(userAgent)\n || /(firefox|fxios)[\\/]([\\w.]+)/.exec(userAgent)\n || /(webkit)[\\/]([\\w.]+)/.exec(userAgent)\n || /(opera)(?:.*version|)[\\/]([\\w.]+)/.exec(userAgent)\n || []\n\n return {\n browser: match[ 5 ] || match[ 3 ] || match[ 1 ] || '',\n version: match[ 2 ] || match[ 4 ] || '0',\n versionNumber: match[ 4 ] || match[ 2 ] || '0',\n platform: platformMatch[ 0 ] || ''\n }\n}\n\nfunction getPlatformMatch (userAgent) {\n return /(ipad)/.exec(userAgent)\n || /(ipod)/.exec(userAgent)\n || /(windows phone)/.exec(userAgent)\n || /(iphone)/.exec(userAgent)\n || /(kindle)/.exec(userAgent)\n || /(silk)/.exec(userAgent)\n || /(android)/.exec(userAgent)\n || /(win)/.exec(userAgent)\n || /(mac)/.exec(userAgent)\n || /(linux)/.exec(userAgent)\n || /(cros)/.exec(userAgent)\n // TODO: Remove BlackBerry detection. BlackBerry OS, BlackBerry 10, and BlackBerry PlayBook OS\n // is officially dead as of January 4, 2022 (https://www.blackberry.com/us/en/support/devices/end-of-life)\n || /(playbook)/.exec(userAgent)\n || /(bb)/.exec(userAgent)\n || /(blackberry)/.exec(userAgent)\n || []\n}\n\nconst hasTouch = __QUASAR_SSR_SERVER__\n ? false\n : 'ontouchstart' in window || window.navigator.maxTouchPoints > 0\n\nfunction applyIosCorrection (is) {\n iosCorrection = { is: { ...is } }\n\n delete is.mac\n delete is.desktop\n\n const platform = Math.min(window.innerHeight, window.innerWidth) > 414\n ? 'ipad'\n : 'iphone'\n\n Object.assign(is, {\n mobile: true,\n ios: true,\n platform,\n [ platform ]: true\n })\n}\n\nfunction getPlatform (UA) {\n const\n userAgent = UA.toLowerCase(),\n platformMatch = getPlatformMatch(userAgent),\n matched = getMatch(userAgent, platformMatch),\n browser = {}\n\n if (matched.browser) {\n browser[ matched.browser ] = true\n browser.version = matched.version\n browser.versionNumber = parseInt(matched.versionNumber, 10)\n }\n\n if (matched.platform) {\n browser[ matched.platform ] = true\n }\n\n const knownMobiles = browser.android\n || browser.ios\n || browser.bb\n || browser.blackberry\n || browser.ipad\n || browser.iphone\n || browser.ipod\n || browser.kindle\n || browser.playbook\n || browser.silk\n || browser[ 'windows phone' ]\n\n // These are all considered mobile platforms, meaning they run a mobile browser\n if (knownMobiles === true || userAgent.indexOf('mobile') > -1) {\n browser.mobile = true\n\n if (browser.edga || browser.edgios) {\n browser.edge = true\n matched.browser = 'edge'\n }\n else if (browser.crios) {\n browser.chrome = true\n matched.browser = 'chrome'\n }\n else if (browser.fxios) {\n browser.firefox = true\n matched.browser = 'firefox'\n }\n }\n // If it's not mobile we should consider it's desktop platform, meaning it runs a desktop browser\n // It's a workaround for anonymized user agents\n // (browser.cros || browser.mac || browser.linux || browser.win)\n else {\n browser.desktop = true\n }\n\n // Set iOS if on iPod, iPad or iPhone\n if (browser.ipod || browser.ipad || browser.iphone) {\n browser.ios = true\n }\n\n if (browser[ 'windows phone' ]) {\n browser.winphone = true\n delete browser[ 'windows phone' ]\n }\n\n // TODO: The assumption about WebKit based browsers below is not completely accurate.\n // Google released Blink(a fork of WebKit) engine on April 3, 2013, which is really different than WebKit today.\n // Today, one might want to check for WebKit to deal with its bugs, which is used on all browsers on iOS, and Safari browser on all platforms.\n\n // Chrome, Opera 15+, Vivaldi and Safari are webkit based browsers\n if (\n browser.chrome\n || browser.opr\n || browser.safari\n || browser.vivaldi\n // we expect unknown, non iOS mobile browsers to be webkit based\n || (\n browser.mobile === true\n && browser.ios !== true\n && knownMobiles !== true\n )\n ) {\n browser.webkit = true\n }\n\n // TODO: (Qv3) rename the terms 'edge' to 'edge legacy'(or remove it) then 'edge chromium' to 'edge' to match with the known up-to-date terms\n // Microsoft Edge is the new Chromium-based browser. Microsoft Edge Legacy is the old EdgeHTML-based browser (EOL: March 9, 2021).\n if (browser.edg) {\n matched.browser = 'edgechromium'\n browser.edgeChromium = true\n }\n\n // Blackberry browsers are marked as Safari on BlackBerry\n if ((browser.safari && browser.blackberry) || browser.bb) {\n matched.browser = 'blackberry'\n browser.blackberry = true\n }\n\n // Playbook browsers are marked as Safari on Playbook\n if (browser.safari && browser.playbook) {\n matched.browser = 'playbook'\n browser.playbook = true\n }\n\n // Opera 15+ are identified as opr\n if (browser.opr) {\n matched.browser = 'opera'\n browser.opera = true\n }\n\n // Stock Android browsers are marked as Safari on Android.\n if (browser.safari && browser.android) {\n matched.browser = 'android'\n browser.android = true\n }\n\n // Kindle browsers are marked as Safari on Kindle\n if (browser.safari && browser.kindle) {\n matched.browser = 'kindle'\n browser.kindle = true\n }\n\n // Kindle Silk browsers are marked as Safari on Kindle\n if (browser.safari && browser.silk) {\n matched.browser = 'silk'\n browser.silk = true\n }\n\n if (browser.vivaldi) {\n matched.browser = 'vivaldi'\n browser.vivaldi = true\n }\n\n // Assign the name and platform variable\n browser.name = matched.browser\n browser.platform = matched.platform\n\n if (__QUASAR_SSR_SERVER__ !== true) {\n if (userAgent.indexOf('electron') > -1) {\n browser.electron = true\n }\n else if (document.location.href.indexOf('-extension://') > -1) {\n browser.bex = true\n }\n else {\n if (window.Capacitor !== void 0) {\n browser.capacitor = true\n browser.nativeMobile = true\n browser.nativeMobileWrapper = 'capacitor'\n }\n else if (window._cordovaNative !== void 0 || window.cordova !== void 0) {\n browser.cordova = true\n browser.nativeMobile = true\n browser.nativeMobileWrapper = 'cordova'\n }\n\n if (\n hasTouch === true\n && browser.mac === true\n && (\n (browser.desktop === true && browser.safari === true)\n || (\n browser.nativeMobile === true\n && browser.android !== true\n && browser.ios !== true\n && browser.ipad !== true\n )\n )\n ) {\n /*\n * Correction needed for iOS since the default\n * setting on iPad is to request desktop view; if we have\n * touch support and the user agent says it's a\n * desktop, we infer that it's an iPhone/iPad with desktop view\n * so we must fix the false positives\n */\n applyIosCorrection(browser)\n }\n }\n }\n\n return browser\n}\n\nconst userAgent = __QUASAR_SSR_SERVER__\n ? ''\n : navigator.userAgent || navigator.vendor || window.opera\n\nconst ssrClient = {\n has: {\n touch: false,\n webStorage: false\n },\n within: { iframe: false }\n}\n\n// We export \"client\" for hydration error-free parts,\n// like touch directives who do not (and must NOT) wait\n// for the client takeover;\n// Do NOT import this directly in your app, unless you really know\n// what you are doing.\nexport const client = __QUASAR_SSR_SERVER__\n ? ssrClient\n : {\n userAgent,\n is: getPlatform(userAgent),\n has: {\n touch: hasTouch\n },\n within: {\n iframe: window.self !== window.top\n }\n }\n\nconst Platform = {\n install (opts) {\n const { $q } = opts\n\n if (__QUASAR_SSR_SERVER__) {\n $q.platform = this.parseSSR(opts.ssrContext)\n }\n else if (isRuntimeSsrPreHydration.value === true) {\n // takeover should increase accuracy for\n // the rest of the props; we also avoid\n // hydration errors\n opts.onSSRHydrated.push(() => {\n Object.assign($q.platform, client)\n isRuntimeSsrPreHydration.value = false\n iosCorrection = void 0\n })\n\n // we need to make platform reactive\n // for the takeover phase\n $q.platform = reactive(this)\n }\n else {\n $q.platform = this\n }\n }\n}\n\nif (__QUASAR_SSR_SERVER__) {\n Platform.parseSSR = (ssrContext) => {\n const userAgent = ssrContext.req.headers[ 'user-agent' ] || ssrContext.req.headers[ 'User-Agent' ] || ''\n return {\n ...client,\n userAgent,\n is: getPlatform(userAgent)\n }\n }\n}\nelse {\n // do not access window.localStorage without\n // devland actually using it as this will get\n // reported under \"Cookies\" in Google Chrome\n let hasWebStorage\n\n injectProp(client.has, 'webStorage', () => {\n if (hasWebStorage !== void 0) {\n return hasWebStorage\n }\n\n try {\n if (window.localStorage) {\n hasWebStorage = true\n return true\n }\n }\n catch (e) {}\n\n hasWebStorage = false\n return false\n })\n\n iosEmulated = client.is.ios === true\n && window.navigator.vendor.toLowerCase().indexOf('apple') === -1\n\n if (isRuntimeSsrPreHydration.value === true) {\n // must match with server-side before\n // client taking over in order to prevent\n // hydration errors\n Object.assign(Platform, client, iosCorrection, ssrClient)\n }\n else {\n Object.assign(Platform, client)\n }\n}\n\nexport default Platform\n","export default function (fn, wait = 250, immediate) {\n let timer = null\n\n function debounced (/* ...args */) {\n const args = arguments\n\n const later = () => {\n timer = null\n if (immediate !== true) {\n fn.apply(this, args)\n }\n }\n\n if (timer !== null) {\n clearTimeout(timer)\n }\n else if (immediate === true) {\n fn.apply(this, args)\n }\n\n timer = setTimeout(later, wait)\n }\n\n debounced.cancel = () => {\n timer !== null && clearTimeout(timer)\n }\n\n return debounced\n}\n","import { unref } from 'vue'\n\nexport function offset (el) {\n if (el === window) {\n return { top: 0, left: 0 }\n }\n const { top, left } = el.getBoundingClientRect()\n return { top, left }\n}\n\nexport function style (el, property) {\n return window.getComputedStyle(el).getPropertyValue(property)\n}\n\nexport function height (el) {\n return el === window\n ? window.innerHeight\n : el.getBoundingClientRect().height\n}\n\nexport function width (el) {\n return el === window\n ? window.innerWidth\n : el.getBoundingClientRect().width\n}\n\nexport function css (element, css) {\n const style = element.style\n\n for (const prop in css) {\n style[ prop ] = css[ prop ]\n }\n}\n\nexport function cssBatch (elements, style) {\n elements.forEach(el => css(el, style))\n}\n\nexport function ready (fn) {\n if (typeof fn !== 'function') {\n return\n }\n\n if (document.readyState !== 'loading') {\n return fn()\n }\n\n document.addEventListener('DOMContentLoaded', fn, false)\n}\n\n// internal\nexport function getElement (el) {\n if (el === void 0 || el === null) {\n return void 0\n }\n\n if (typeof el === 'string') {\n try {\n return document.querySelector(el) || void 0\n }\n catch (err) {\n return void 0\n }\n }\n\n const target = unref(el)\n if (target) {\n return target.$el || target\n }\n}\n\n// internal\nexport function childHasFocus (el, focusedEl) {\n if (el === void 0 || el === null || el.contains(focusedEl) === true) {\n return true\n }\n\n for (let next = el.nextElementSibling; next !== null; next = next.nextElementSibling) {\n if (next.contains(focusedEl)) {\n return true\n }\n }\n\n return false\n}\n\nexport default {\n offset,\n style,\n height,\n width,\n css,\n cssBatch,\n ready\n}\n","export const listenOpts = {\n hasPassive: false,\n passiveCapture: true,\n notPassiveCapture: true\n}\n\ntry {\n const opts = Object.defineProperty({}, 'passive', {\n get () {\n Object.assign(listenOpts, {\n hasPassive: true,\n passive: { passive: true },\n notPassive: { passive: false },\n passiveCapture: { passive: true, capture: true },\n notPassiveCapture: { passive: false, capture: true }\n })\n }\n })\n window.addEventListener('qtest', null, opts)\n window.removeEventListener('qtest', null, opts)\n}\ncatch (e) {}\n\nexport function noop () {}\n\nexport function leftClick (e) {\n return e.button === 0\n}\n\nexport function middleClick (e) {\n return e.button === 1\n}\n\nexport function rightClick (e) {\n return e.button === 2\n}\n\nexport function position (e) {\n if (e.touches && e.touches[ 0 ]) {\n e = e.touches[ 0 ]\n }\n else if (e.changedTouches && e.changedTouches[ 0 ]) {\n e = e.changedTouches[ 0 ]\n }\n else if (e.targetTouches && e.targetTouches[ 0 ]) {\n e = e.targetTouches[ 0 ]\n }\n\n return {\n top: e.clientY,\n left: e.clientX\n }\n}\n\nexport function getEventPath (e) {\n if (e.path) {\n return e.path\n }\n if (e.composedPath) {\n return e.composedPath()\n }\n\n const path = []\n let el = e.target\n\n while (el) {\n path.push(el)\n\n if (el.tagName === 'HTML') {\n path.push(document)\n path.push(window)\n return path\n }\n\n el = el.parentElement\n }\n}\n\n// Reasonable defaults\nconst\n LINE_HEIGHT = 40,\n PAGE_HEIGHT = 800\n\nexport function getMouseWheelDistance (e) {\n let x = e.deltaX, y = e.deltaY\n\n if ((x || y) && e.deltaMode) {\n const multiplier = e.deltaMode === 1 ? LINE_HEIGHT : PAGE_HEIGHT\n x *= multiplier\n y *= multiplier\n }\n\n if (e.shiftKey && !x) {\n [ y, x ] = [ x, y ]\n }\n\n return { x, y }\n}\n\nexport function stop (e) {\n e.stopPropagation()\n}\n\nexport function prevent (e) {\n e.cancelable !== false && e.preventDefault()\n}\n\nexport function stopAndPrevent (e) {\n e.cancelable !== false && e.preventDefault()\n e.stopPropagation()\n}\n\nexport function preventDraggable (el, status) {\n if (el === void 0 || (status === true && el.__dragPrevented === true)) {\n return\n }\n\n const fn = status === true\n ? el => {\n el.__dragPrevented = true\n el.addEventListener('dragstart', prevent, listenOpts.notPassiveCapture)\n }\n : el => {\n delete el.__dragPrevented\n el.removeEventListener('dragstart', prevent, listenOpts.notPassiveCapture)\n }\n\n el.querySelectorAll('a, img').forEach(fn)\n}\n\nexport function addEvt (ctx, targetName, events) {\n const name = `__q_${ targetName }_evt`\n\n ctx[ name ] = ctx[ name ] !== void 0\n ? ctx[ name ].concat(events)\n : events\n\n events.forEach(evt => {\n evt[ 0 ].addEventListener(evt[ 1 ], ctx[ evt[ 2 ] ], listenOpts[ evt[ 3 ] ])\n })\n}\n\nexport function cleanEvt (ctx, targetName) {\n const name = `__q_${ targetName }_evt`\n\n if (ctx[ name ] !== void 0) {\n ctx[ name ].forEach(evt => {\n evt[ 0 ].removeEventListener(evt[ 1 ], ctx[ evt[ 2 ] ], listenOpts[ evt[ 3 ] ])\n })\n ctx[ name ] = void 0\n }\n}\n\n/*\n * also update /types/utils/event.d.ts\n */\n\nexport default {\n listenOpts,\n leftClick,\n middleClick,\n rightClick,\n position,\n getEventPath,\n getMouseWheelDistance,\n stop,\n prevent,\n stopAndPrevent,\n preventDraggable\n}\n","const units = [ 'B', 'KB', 'MB', 'GB', 'TB', 'PB' ]\n\nexport function humanStorageSize (bytes) {\n let u = 0\n\n while (parseInt(bytes, 10) >= 1024 && u < units.length - 1) {\n bytes /= 1024\n ++u\n }\n\n return `${ bytes.toFixed(1) }${ units[ u ] }`\n}\n\nexport function capitalize (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport function between (v, min, max) {\n return max <= min\n ? min\n : Math.min(max, Math.max(min, v))\n}\n\nexport function normalizeToInterval (v, min, max) {\n if (max <= min) {\n return min\n }\n\n const size = (max - min + 1)\n\n let index = min + (v - min) % size\n if (index < min) {\n index = size + index\n }\n\n return index === 0 ? 0 : index // fix for (-a % a) => -0\n}\n\nexport function pad (v, length = 2, char = '0') {\n if (v === void 0 || v === null) {\n return v\n }\n\n const val = '' + v\n return val.length >= length\n ? val\n : new Array(length - val.length + 1).join(char) + val\n}\n\nexport default {\n humanStorageSize,\n capitalize,\n between,\n normalizeToInterval,\n pad\n}\n","\nexport function isDeepEqual (a, b) {\n if (a === b) {\n return true\n }\n\n if (a !== null && b !== null && typeof a === 'object' && typeof b === 'object') {\n if (a.constructor !== b.constructor) {\n return false\n }\n\n let length, i\n\n if (a.constructor === Array) {\n length = a.length\n\n if (length !== b.length) {\n return false\n }\n\n for (i = length; i-- !== 0;) {\n if (isDeepEqual(a[ i ], b[ i ]) !== true) {\n return false\n }\n }\n\n return true\n }\n\n if (a.constructor === Map) {\n if (a.size !== b.size) {\n return false\n }\n\n let iter = a.entries()\n\n i = iter.next()\n while (i.done !== true) {\n if (b.has(i.value[ 0 ]) !== true) {\n return false\n }\n i = iter.next()\n }\n\n iter = a.entries()\n i = iter.next()\n while (i.done !== true) {\n if (isDeepEqual(i.value[ 1 ], b.get(i.value[ 0 ])) !== true) {\n return false\n }\n i = iter.next()\n }\n\n return true\n }\n\n if (a.constructor === Set) {\n if (a.size !== b.size) {\n return false\n }\n\n const iter = a.entries()\n\n i = iter.next()\n while (i.done !== true) {\n if (b.has(i.value[ 0 ]) !== true) {\n return false\n }\n i = iter.next()\n }\n\n return true\n }\n\n if (a.buffer != null && a.buffer.constructor === ArrayBuffer) {\n length = a.length\n\n if (length !== b.length) {\n return false\n }\n\n for (i = length; i-- !== 0;) {\n if (a[ i ] !== b[ i ]) {\n return false\n }\n }\n\n return true\n }\n\n if (a.constructor === RegExp) {\n return a.source === b.source && a.flags === b.flags\n }\n\n if (a.valueOf !== Object.prototype.valueOf) {\n return a.valueOf() === b.valueOf()\n }\n\n if (a.toString !== Object.prototype.toString) {\n return a.toString() === b.toString()\n }\n\n const keys = Object.keys(a).filter(key => a[ key ] !== void 0)\n length = keys.length\n\n if (length !== Object.keys(b).filter(key => b[ key ] !== void 0).length) {\n return false\n }\n\n for (i = length; i-- !== 0;) {\n const key = keys[ i ]\n if (isDeepEqual(a[ key ], b[ key ]) !== true) {\n return false\n }\n }\n\n return true\n }\n\n // true if both NaN, false otherwise\n return a !== a && b !== b // eslint-disable-line no-self-compare\n}\n\n// not perfect, but what we ARE interested is for Arrays not to slip in\n// as spread operator will mess things up in various areas\nexport function isObject (v) {\n return v !== null && typeof v === 'object' && Array.isArray(v) !== true\n}\n\nexport function isDate (v) {\n return Object.prototype.toString.call(v) === '[object Date]'\n}\n\nexport function isRegexp (v) {\n return Object.prototype.toString.call(v) === '[object RegExp]'\n}\n\nexport function isNumber (v) {\n return typeof v === 'number' && isFinite(v)\n}\n\nexport default {\n deepEqual: isDeepEqual,\n object: isObject,\n date: isDate,\n regexp: isRegexp,\n number: isNumber\n}\n","import { defineComponent, markRaw } from 'vue'\n\nexport const createComponent = raw => markRaw(defineComponent(raw))\nexport const createDirective = raw => markRaw(raw)\n","\nimport { reactive } from 'vue'\nimport { injectProp } from './inject-obj-prop.js'\n\nexport default __QUASAR_SSR_SERVER__\n ? (state, plugin) => {\n Object.assign(plugin, state)\n return plugin\n }\n : (state, plugin) => {\n const reactiveState = reactive(state)\n\n for (const name in state) {\n injectProp(\n plugin,\n name,\n () => reactiveState[ name ],\n val => { reactiveState[ name ] = val }\n )\n }\n\n return plugin\n }\n","import { client } from '../../plugins/Platform.js'\nimport { isKeyCode } from './key-composition.js'\n\nconst handlers = []\nlet escDown\n\nfunction onKeydown (evt) {\n escDown = evt.keyCode === 27\n}\n\nfunction onBlur () {\n if (escDown === true) {\n escDown = false\n }\n}\n\nfunction onKeyup (evt) {\n if (escDown === true) {\n escDown = false\n\n if (isKeyCode(evt, 27) === true) {\n handlers[ handlers.length - 1 ](evt)\n }\n }\n}\n\nfunction update (action) {\n window[ action ]('keydown', onKeydown)\n window[ action ]('blur', onBlur)\n window[ action ]('keyup', onKeyup)\n escDown = false\n}\n\nexport function addEscapeKey (fn) {\n if (client.is.desktop === true) {\n handlers.push(fn)\n\n if (handlers.length === 1) {\n update('addEventListener')\n }\n }\n}\n\nexport function removeEscapeKey (fn) {\n const index = handlers.indexOf(fn)\n if (index > -1) {\n handlers.splice(index, 1)\n\n if (handlers.length === 0) {\n update('removeEventListener')\n }\n }\n}\n","let queue = []\nlet waitFlags = []\n\nfunction clearFlag (flag) {\n waitFlags = waitFlags.filter(entry => entry !== flag)\n}\n\nexport function addFocusWaitFlag (flag) {\n clearFlag(flag)\n waitFlags.push(flag)\n}\n\nexport function removeFocusWaitFlag (flag) {\n clearFlag(flag)\n\n if (waitFlags.length === 0 && queue.length !== 0) {\n // only call last focus handler (can't focus multiple things at once)\n queue[ queue.length - 1 ]()\n queue = []\n }\n}\n\nexport function addFocusFn (fn) {\n if (waitFlags.length === 0) {\n fn()\n }\n else {\n queue.push(fn)\n }\n}\n\nexport function removeFocusFn (fn) {\n queue = queue.filter(entry => entry !== fn)\n}\n","import { client } from '../../plugins/Platform.js'\n\nconst handlers = []\n\nfunction trigger (e) {\n handlers[ handlers.length - 1 ](e)\n}\n\nexport function addFocusout (fn) {\n if (client.is.desktop === true) {\n handlers.push(fn)\n\n if (handlers.length === 1) {\n document.body.addEventListener('focusin', trigger)\n }\n }\n}\n\nexport function removeFocusout (fn) {\n const index = handlers.indexOf(fn)\n if (index > -1) {\n handlers.splice(index, 1)\n\n if (handlers.length === 0) {\n document.body.removeEventListener('focusin', trigger)\n }\n }\n}\n","\nexport const globalConfig = {}\nexport let globalConfigIsFrozen = false\n\nexport function freezeGlobalConfig () {\n globalConfigIsFrozen = true\n}\n","import { globalConfig } from './global-config.js'\n\nconst nodesList = []\nconst portalTypeList = []\n\nlet portalIndex = 1\nlet target = __QUASAR_SSR_SERVER__\n ? void 0\n : document.body\n\nexport function createGlobalNode (id, portalType) {\n const el = document.createElement('div')\n\n el.id = portalType !== void 0\n ? `q-portal--${ portalType }--${ portalIndex++ }`\n : id\n\n if (globalConfig.globalNodes !== void 0) {\n const cls = globalConfig.globalNodes.class\n if (cls !== void 0) {\n el.className = cls\n }\n }\n\n target.appendChild(el)\n nodesList.push(el)\n portalTypeList.push(portalType)\n\n return el\n}\n\nexport function removeGlobalNode (el) {\n const nodeIndex = nodesList.indexOf(el)\n\n nodesList.splice(nodeIndex, 1)\n portalTypeList.splice(nodeIndex, 1)\n\n el.remove()\n}\n\nexport function changeGlobalNodesTarget (newTarget) {\n if (newTarget === target) {\n return\n }\n\n target = newTarget\n\n if (\n target === document.body\n // or we have less than 2 dialogs:\n || portalTypeList.reduce((acc, type) => (type === 'dialog' ? acc + 1 : acc), 0) < 2\n ) {\n nodesList.forEach(node => {\n if (node.contains(target) === false) {\n target.appendChild(node)\n }\n })\n\n return\n }\n\n const lastDialogIndex = portalTypeList.lastIndexOf('dialog')\n\n for (let i = 0; i < nodesList.length; i++) {\n const el = nodesList[ i ]\n\n if (\n (i === lastDialogIndex || portalTypeList[ i ] !== 'dialog')\n && el.contains(target) === false\n ) {\n target.appendChild(el)\n }\n }\n}\n","export function injectProp (target, propName, get, set) {\n Object.defineProperty(target, propName, {\n get,\n set,\n enumerable: true\n })\n return target\n}\n\nexport function injectMultipleProps (target, props) {\n for (const key in props) {\n injectProp(target, key, props[ key ])\n }\n return target\n}\n","let lastKeyCompositionStatus = false\n\nexport function onKeyDownComposition (evt) {\n lastKeyCompositionStatus = evt.isComposing === true\n}\n\nexport function shouldIgnoreKey (evt) {\n return lastKeyCompositionStatus === true\n || evt !== Object(evt)\n || evt.isComposing === true\n || evt.qKeyEvent === true\n}\n\nexport function isKeyCode (evt, keyCodes) {\n return shouldIgnoreKey(evt) === true\n ? false\n : [].concat(keyCodes).includes(evt.keyCode)\n}\n","import { getParentProxy } from './vm.js'\n\nexport const portalProxyList = []\n\nexport function getPortalProxy (el) {\n return portalProxyList.find(proxy =>\n proxy.contentEl !== null\n && proxy.contentEl.contains(el)\n )\n}\n\nexport function closePortalMenus (proxy, evt) {\n do {\n if (proxy.$options.name === 'QMenu') {\n proxy.hide(evt)\n\n // is this a point of separation?\n if (proxy.$props.separateClosePopup === true) {\n return getParentProxy(proxy)\n }\n }\n else if (proxy.__qPortal === true) {\n // treat it as point of separation if parent is QPopupProxy\n // (so mobile matches desktop behavior)\n // and hide it too\n const parent = getParentProxy(proxy)\n\n if (parent !== void 0 && parent.$options.name === 'QPopupProxy') {\n proxy.hide(evt)\n return parent\n }\n else {\n return proxy\n }\n }\n\n proxy = getParentProxy(proxy)\n } while (proxy !== void 0 && proxy !== null)\n}\n\nexport function closePortals (proxy, evt, depth) {\n while (depth !== 0 && proxy !== void 0 && proxy !== null) {\n if (proxy.__qPortal === true) {\n depth--\n\n if (proxy.$options.name === 'QMenu') {\n proxy = closePortalMenus(proxy, evt)\n continue\n }\n\n proxy.hide(evt)\n }\n\n proxy = getParentProxy(proxy)\n }\n}\n","import { h, withDirectives } from 'vue'\n\nexport function hSlot (slot, otherwise) {\n return slot !== void 0\n ? slot() || otherwise\n : otherwise\n}\n\nexport function hUniqueSlot (slot, otherwise) {\n if (slot !== void 0) {\n const vnode = slot()\n if (vnode !== void 0 && vnode !== null) {\n return vnode.slice()\n }\n }\n\n return otherwise\n}\n\n/**\n * Source definitely exists,\n * so it's merged with the possible slot\n */\nexport function hMergeSlot (slot, source) {\n return slot !== void 0\n ? source.concat(slot())\n : source\n}\n\n/**\n * Merge with possible slot,\n * even if source might not exist\n */\nexport function hMergeSlotSafely (slot, source) {\n if (slot === void 0) {\n return source\n }\n\n return source !== void 0\n ? source.concat(slot())\n : slot()\n}\n\n/*\n * (String) key - unique vnode key\n * (Boolean) condition - should change ONLY when adding/removing directive\n */\nexport function hDir (\n tag,\n data,\n children,\n key,\n condition,\n getDirsFn\n) {\n data.key = key + condition\n\n const vnode = h(tag, data, children)\n\n return condition === true\n ? withDirectives(vnode, getDirsFn())\n : vnode\n}\n","import Platform from '../../plugins/Platform.js'\n\nexport function clearSelection () {\n if (window.getSelection !== void 0) {\n const selection = window.getSelection()\n if (selection.empty !== void 0) {\n selection.empty()\n }\n else if (selection.removeAllRanges !== void 0) {\n selection.removeAllRanges()\n Platform.is.mobile !== true && selection.addRange(document.createRange())\n }\n }\n else if (document.selection !== void 0) {\n document.selection.empty()\n }\n}\n","export const quasarKey = '_q_'\nexport const timelineKey = '_q_t_'\nexport const stepperKey = '_q_s_'\nexport const layoutKey = '_q_l_'\nexport const pageContainerKey = '_q_pc_'\nexport const fabKey = '_q_f_'\nexport const formKey = '_q_fo_'\nexport const tabsKey = '_q_tabs_'\nexport const uploaderKey = '_q_u_'\n\nexport const emptyRenderFn = () => {}\n","\n// copied to docs too\nexport function getParentProxy (proxy) {\n if (Object(proxy.$parent) === proxy.$parent) {\n return proxy.$parent\n }\n\n let { parent } = proxy.$\n\n while (Object(parent) === parent) {\n if (Object(parent.proxy) === parent.proxy) {\n return parent.proxy\n }\n\n parent = parent.parent\n }\n}\n\nfunction fillNormalizedVNodes (children, vnode) {\n if (typeof vnode.type === 'symbol') {\n if (Array.isArray(vnode.children) === true) {\n vnode.children.forEach(child => {\n fillNormalizedVNodes(children, child)\n })\n }\n }\n else {\n children.add(vnode)\n }\n}\n\n// vnodes from rendered in advanced slots\nexport function getNormalizedVNodes (vnodes) {\n const children = new Set()\n\n vnodes.forEach(vnode => {\n fillNormalizedVNodes(children, vnode)\n })\n\n return Array.from(children)\n}\n\nexport function vmHasRouter (vm) {\n return vm.appContext.config.globalProperties.$router !== void 0\n}\n\nexport function vmIsDestroyed (vm) {\n return vm.isUnmounted === true || vm.isDeactivated === true\n}\n","import { css, getElement } from './dom.js'\n\nconst scrollTargets = __QUASAR_SSR_SERVER__\n ? []\n : [ null, document, document.body, document.scrollingElement, document.documentElement ]\n\nexport function getScrollTarget (el, targetEl) {\n let target = getElement(targetEl)\n\n if (target === void 0) {\n if (el === void 0 || el === null) {\n return window\n }\n\n target = el.closest('.scroll,.scroll-y,.overflow-auto')\n }\n\n return scrollTargets.includes(target)\n ? window\n : target\n}\n\nexport function getScrollHeight (el) {\n return (el === window ? document.body : el).scrollHeight\n}\n\nexport function getScrollWidth (el) {\n return (el === window ? document.body : el).scrollWidth\n}\n\nexport function getVerticalScrollPosition (scrollTarget) {\n return scrollTarget === window\n ? window.pageYOffset || window.scrollY || document.body.scrollTop || 0\n : scrollTarget.scrollTop\n}\n\nexport function getHorizontalScrollPosition (scrollTarget) {\n return scrollTarget === window\n ? window.pageXOffset || window.scrollX || document.body.scrollLeft || 0\n : scrollTarget.scrollLeft\n}\n\nexport function animVerticalScrollTo (el, to, duration = 0 /* , prevTime */) {\n const prevTime = arguments[ 3 ] === void 0 ? performance.now() : arguments[ 3 ]\n const pos = getVerticalScrollPosition(el)\n\n if (duration <= 0) {\n if (pos !== to) {\n setScroll(el, to)\n }\n return\n }\n\n requestAnimationFrame(nowTime => {\n const frameTime = nowTime - prevTime\n const newPos = pos + (to - pos) / Math.max(frameTime, duration) * frameTime\n setScroll(el, newPos)\n if (newPos !== to) {\n animVerticalScrollTo(el, to, duration - frameTime, nowTime)\n }\n })\n}\n\nexport function animHorizontalScrollTo (el, to, duration = 0 /* , prevTime */) {\n const prevTime = arguments[ 3 ] === void 0 ? performance.now() : arguments[ 3 ]\n const pos = getHorizontalScrollPosition(el)\n\n if (duration <= 0) {\n if (pos !== to) {\n setHorizontalScroll(el, to)\n }\n return\n }\n\n requestAnimationFrame(nowTime => {\n const frameTime = nowTime - prevTime\n const newPos = pos + (to - pos) / Math.max(frameTime, duration) * frameTime\n setHorizontalScroll(el, newPos)\n if (newPos !== to) {\n animHorizontalScrollTo(el, to, duration - frameTime, nowTime)\n }\n })\n}\n\nfunction setScroll (scrollTarget, offset) {\n if (scrollTarget === window) {\n window.scrollTo(window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, offset)\n return\n }\n scrollTarget.scrollTop = offset\n}\n\nfunction setHorizontalScroll (scrollTarget, offset) {\n if (scrollTarget === window) {\n window.scrollTo(offset, window.pageYOffset || window.scrollY || document.body.scrollTop || 0)\n return\n }\n scrollTarget.scrollLeft = offset\n}\n\nexport function setVerticalScrollPosition (scrollTarget, offset, duration) {\n if (duration) {\n animVerticalScrollTo(scrollTarget, offset, duration)\n return\n }\n setScroll(scrollTarget, offset)\n}\n\nexport function setHorizontalScrollPosition (scrollTarget, offset, duration) {\n if (duration) {\n animHorizontalScrollTo(scrollTarget, offset, duration)\n return\n }\n setHorizontalScroll(scrollTarget, offset)\n}\n\nlet size\nexport function getScrollbarWidth () {\n if (size !== undefined) {\n return size\n }\n\n const\n inner = document.createElement('p'),\n outer = document.createElement('div')\n\n css(inner, {\n width: '100%',\n height: '200px'\n })\n css(outer, {\n position: 'absolute',\n top: '0px',\n left: '0px',\n visibility: 'hidden',\n width: '200px',\n height: '150px',\n overflow: 'hidden'\n })\n\n outer.appendChild(inner)\n\n document.body.appendChild(outer)\n\n const w1 = inner.offsetWidth\n outer.style.overflow = 'scroll'\n let w2 = inner.offsetWidth\n\n if (w1 === w2) {\n w2 = outer.clientWidth\n }\n\n outer.remove()\n size = w1 - w2\n\n return size\n}\n\nexport function hasScrollbar (el, onY = true) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) {\n return false\n }\n\n return onY\n ? (\n el.scrollHeight > el.clientHeight && (\n el.classList.contains('scroll')\n || el.classList.contains('overflow-auto')\n || [ 'auto', 'scroll' ].includes(window.getComputedStyle(el)[ 'overflow-y' ])\n )\n )\n : (\n el.scrollWidth > el.clientWidth && (\n el.classList.contains('scroll')\n || el.classList.contains('overflow-auto')\n || [ 'auto', 'scroll' ].includes(window.getComputedStyle(el)[ 'overflow-x' ])\n )\n )\n}\n\nexport default {\n getScrollTarget,\n\n getScrollHeight,\n getScrollWidth,\n\n getVerticalScrollPosition,\n getHorizontalScrollPosition,\n\n animVerticalScrollTo,\n animHorizontalScrollTo,\n\n setVerticalScrollPosition,\n setHorizontalScrollPosition,\n\n getScrollbarWidth,\n hasScrollbar\n}\n","import installQuasar from './install-quasar.js'\nimport lang from './lang.js'\nimport iconSet from './icon-set.js'\n\nexport default {\n version: __QUASAR_VERSION__,\n install: installQuasar,\n lang,\n iconSet\n}\n","import { extend, isArray, isSymbol, isMap, isIntegerKey, hasOwn, hasChanged, isObject, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nconst createDep = (effects) => {\n const dep = new Set(effects);\n dep.w = 0;\n dep.n = 0;\n return dep;\n};\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\nconst initDepMarkers = ({ deps }) => {\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].w |= trackOpBit;\n }\n }\n};\nconst finalizeDepMarkers = (effect) => {\n const { deps } = effect;\n if (deps.length) {\n let ptr = 0;\n for (let i = 0; i < deps.length; i++) {\n const dep = deps[i];\n if (wasTracked(dep) && !newTracked(dep)) {\n dep.delete(effect);\n } else {\n deps[ptr++] = dep;\n }\n dep.w &= ~trackOpBit;\n dep.n &= ~trackOpBit;\n }\n deps.length = ptr;\n }\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nlet effectTrackDepth = 0;\nlet trackOpBit = 1;\nconst maxMarkerBits = 30;\nlet activeEffect;\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nclass ReactiveEffect {\n constructor(fn, scheduler = null, scope) {\n this.fn = fn;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n this.parent = void 0;\n recordEffectScope(this, scope);\n }\n run() {\n if (!this.active) {\n return this.fn();\n }\n let parent = activeEffect;\n let lastShouldTrack = shouldTrack;\n while (parent) {\n if (parent === this) {\n return;\n }\n parent = parent.parent;\n }\n try {\n this.parent = activeEffect;\n activeEffect = this;\n shouldTrack = true;\n trackOpBit = 1 << ++effectTrackDepth;\n if (effectTrackDepth <= maxMarkerBits) {\n initDepMarkers(this);\n } else {\n cleanupEffect(this);\n }\n return this.fn();\n } finally {\n if (effectTrackDepth <= maxMarkerBits) {\n finalizeDepMarkers(this);\n }\n trackOpBit = 1 << --effectTrackDepth;\n activeEffect = this.parent;\n shouldTrack = lastShouldTrack;\n this.parent = void 0;\n if (this.deferStop) {\n this.stop();\n }\n }\n }\n stop() {\n if (activeEffect === this) {\n this.deferStop = true;\n } else if (this.active) {\n cleanupEffect(this);\n if (this.onStop) {\n this.onStop();\n }\n this.active = false;\n }\n }\n}\nfunction cleanupEffect(effect2) {\n const { deps } = effect2;\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect2);\n }\n deps.length = 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn);\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep());\n }\n const eventInfo = !!(process.env.NODE_ENV !== \"production\") ? { effect: activeEffect, target, type, key } : void 0;\n trackEffects(dep, eventInfo);\n }\n}\nfunction trackEffects(dep, debuggerEventExtraInfo) {\n let shouldTrack2 = false;\n if (effectTrackDepth <= maxMarkerBits) {\n if (!newTracked(dep)) {\n dep.n |= trackOpBit;\n shouldTrack2 = !wasTracked(dep);\n }\n } else {\n shouldTrack2 = !dep.has(activeEffect);\n }\n if (shouldTrack2) {\n dep.add(activeEffect);\n activeEffect.deps.push(dep);\n if (!!(process.env.NODE_ENV !== \"production\") && activeEffect.onTrack) {\n activeEffect.onTrack(\n extend(\n {\n effect: activeEffect\n },\n debuggerEventExtraInfo\n )\n );\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || !isSymbol(key2) && key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isIntegerKey(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n const eventInfo = !!(process.env.NODE_ENV !== \"production\") ? { target, type, key, newValue, oldValue, oldTarget } : void 0;\n if (deps.length === 1) {\n if (deps[0]) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(deps[0], eventInfo);\n } else {\n triggerEffects(deps[0]);\n }\n }\n } else {\n const effects = [];\n for (const dep of deps) {\n if (dep) {\n effects.push(...dep);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(createDep(effects), eventInfo);\n } else {\n triggerEffects(createDep(effects));\n }\n }\n}\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\n const effects = isArray(dep) ? dep : [...dep];\n for (const effect2 of effects) {\n if (effect2.computed) {\n triggerEffect(effect2, debuggerEventExtraInfo);\n }\n }\n for (const effect2 of effects) {\n if (!effect2.computed) {\n triggerEffect(effect2, debuggerEventExtraInfo);\n }\n }\n}\nfunction triggerEffect(effect2, debuggerEventExtraInfo) {\n if (effect2 !== activeEffect || effect2.allowRecurse) {\n if (!!(process.env.NODE_ENV !== \"production\") && effect2.onTrigger) {\n effect2.onTrigger(extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n if (effect2.scheduler) {\n effect2.scheduler();\n } else {\n effect2.run();\n }\n }\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n const res = toRaw(this)[key].apply(this, args);\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _shallow = false) {\n this._isReadonly = _isReadonly;\n this._shallow = _shallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, shallow = this._shallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return shallow;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the reciever is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (shallow) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(shallow = false) {\n super(false, shallow);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\n return false;\n }\n if (!this._shallow) {\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(shallow = false) {\n super(true, shallow);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\n true\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n console.warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\"keys\", \"values\", \"entries\", Symbol.iterator];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(\n method,\n false,\n false\n );\n readonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n false\n );\n shallowInstrumentations2[method] = createIterableMethod(\n method,\n false,\n true\n );\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n console.warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n console.warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n def(value, \"__v_skip\", true);\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref2) {\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n trackEffects(ref2.dep || (ref2.dep = createDep()), {\n target: ref2,\n type: \"get\",\n key: \"value\"\n });\n } else {\n trackEffects(ref2.dep || (ref2.dep = createDep()));\n }\n }\n}\nfunction triggerRefValue(ref2, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(dep, {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n });\n } else {\n triggerEffects(dep);\n }\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = void 0;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this._dirty = true;\n this.effect = new ReactiveEffect(getter, () => {\n if (!this._dirty) {\n this._dirty = true;\n triggerRefValue(this);\n }\n });\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n trackRefValue(self);\n if (self._dirty || !self._cacheable) {\n self._dirty = false;\n self._value = self.effect.run();\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\n console.warn(\"Write operation failed: computed value is readonly\");\n } : NOOP;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst tick = /* @__PURE__ */ Promise.resolve();\nconst queue = [];\nlet queued = false;\nconst scheduler = (fn) => {\n queue.push(fn);\n if (!queued) {\n queued = true;\n tick.then(flush);\n }\n};\nconst flush = () => {\n for (let i = 0; i < queue.length; i++) {\n queue[i]();\n }\n queue.length = 0;\n queued = false;\n};\nclass DeferredComputedRefImpl {\n constructor(getter) {\n this.dep = void 0;\n this._dirty = true;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = true;\n let compareTarget;\n let hasCompareTarget = false;\n let scheduled = false;\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\n if (this.dep) {\n if (computedTrigger) {\n compareTarget = this._value;\n hasCompareTarget = true;\n } else if (!scheduled) {\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\n scheduled = true;\n hasCompareTarget = false;\n scheduler(() => {\n if (this.effect.active && this._get() !== valueToCompare) {\n triggerRefValue(this);\n }\n scheduled = false;\n });\n }\n for (const e of this.dep) {\n if (e.computed instanceof DeferredComputedRefImpl) {\n e.scheduler(\n true\n /* computedTrigger */\n );\n }\n }\n }\n this._dirty = true;\n });\n this.effect.computed = this;\n }\n _get() {\n if (this._dirty) {\n this._dirty = false;\n return this._value = this.effect.run();\n }\n return this._value;\n }\n get value() {\n trackRefValue(this);\n return toRaw(this)._get();\n }\n}\nfunction deferredComputed(getter) {\n return new DeferredComputedRefImpl(getter);\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, getCurrentScope, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, capitalize, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, isBuiltInDirective, invokeArrayFns, isRegExp, isGloballyAllowed, NO, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn(msg, ...args) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n msg + args.join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n let res;\n try {\n res = args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n return res;\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings[type] : type;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else {\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)];\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n } else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n warn(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Set();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.add(oldComp);\n }\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n } else if (instance.parent) {\n queueJob(instance.parent.update);\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n }\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(\n normalizeClassComponent(instance.type)\n );\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools && typeof devtools.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx)\n return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const {\n type: Component,\n vnode,\n proxy,\n withProxy,\n props,\n propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4) {\n const proxyToUse = withProxy || proxy;\n const thisProxy = !!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup ? new Proxy(proxyToUse, {\n get(target, key, receiver) {\n warn(\n `Property '${String(\n key\n )}' was accessed via 'this'. Avoid using 'this' in templates.`\n );\n return Reflect.get(target, key, receiver);\n }\n }) : proxyToUse;\n result = normalizeVNode(\n render.call(\n thisProxy,\n proxyToUse,\n renderCache,\n props,\n setupState,\n data,\n ctx\n )\n );\n fallthroughAttrs = attrs;\n } else {\n const render2 = Component;\n if (!!(process.env.NODE_ENV !== \"production\") && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(\n render2.length > 1 ? render2(\n props,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n } : { attrs, slots, emit }\n ) : render2(\n props,\n null\n /* we know it doesn't need it */\n )\n );\n fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);\n }\n } catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1);\n result = createVNode(Comment);\n }\n let root = result;\n let setRoot = void 0;\n if (!!(process.env.NODE_ENV !== \"production\") && result.patchFlag > 0 && result.patchFlag & 2048) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 | 6)) {\n if (propsOptions && keys.some(isModelListener)) {\n fallthroughAttrs = filterModelListeners(\n fallthroughAttrs,\n propsOptions\n );\n }\n root = cloneVNode(root, fallthroughAttrs);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n if (!isModelListener(key)) {\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n } else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn(\n `Extraneous non-props attributes (${extraAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`\n );\n }\n if (eventAttrs.length) {\n warn(\n `Extraneous non-emits event listeners (${eventAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.`\n );\n }\n }\n }\n }\n if (vnode.dirs) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn(\n `Runtime directive used on component with non-element root node. The directives will not function as intended.`\n );\n }\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n if (vnode.transition) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn(\n `Component inside renders non-element root node that cannot be animated.`\n );\n }\n root.transition = vnode.transition;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && setRoot) {\n setRoot(root);\n } else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren);\n if (!childRoot) {\n return [vnode, void 0];\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n } else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n if (child.type !== Comment || child.children === \"v-if\") {\n if (singleRoot) {\n return;\n } else {\n singleRoot = child;\n }\n }\n } else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === \"class\" || key === \"style\" || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return vnode.shapeFlag & (6 | 1) || vnode.type === Comment;\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n if (!!(process.env.NODE_ENV !== \"production\") && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024) {\n return true;\n }\n if (patchFlag & 16) {\n if (!prevProps) {\n return !!nextProps;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n } else if (patchFlag & 8) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n } else {\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el) {\n while (parent && parent.subTree === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n }\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n /* do not include inferred name to avoid breaking existing code */\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nconst isSuspense = (type) => type.__isSuspense;\nconst SuspenseImpl = {\n name: \"Suspense\",\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n if (n1 == null) {\n mountSuspense(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n } else {\n patchSuspense(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\nconst Suspense = SuspenseImpl ;\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n const {\n p: patch,\n o: { createElement }\n } = rendererInternals;\n const hiddenContainer = createElement(\"div\");\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n container,\n hiddenContainer,\n anchor,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n patch(\n null,\n suspense.pendingBranch = vnode.ssContent,\n hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds\n );\n if (suspense.deps > 0) {\n triggerEvent(vnode, \"onPending\");\n triggerEvent(vnode, \"onFallback\");\n patch(\n null,\n vnode.ssFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds\n );\n setActiveBranch(suspense, vnode.ssFallback);\n } else {\n suspense.resolve(false, true);\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = n2.suspense = n1.suspense;\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n patch(\n pendingBranch,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (isInFallback) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else {\n suspense.pendingId++;\n if (isHydrating) {\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n } else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n suspense.deps = 0;\n suspense.effects.length = 0;\n suspense.hiddenContainer = createElement(\"div\");\n if (isInFallback) {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n suspense.resolve(true);\n } else {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n } else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newBranch);\n } else {\n triggerEvent(n2, \"onPending\");\n suspense.pendingBranch = newBranch;\n suspense.pendingId++;\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n } else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n if (!!(process.env.NODE_ENV !== \"production\") && true && !hasWarned) {\n hasWarned = true;\n console[console.info ? \"info\" : \"log\"](\n ` is an experimental feature and its API will likely change.`\n );\n }\n const {\n p: patch,\n m: move,\n um: unmount,\n n: next,\n o: { parentNode, remove }\n } = rendererInternals;\n let parentSuspenseId;\n const isSuspensible = isVNodeSuspensible(vnode);\n if (isSuspensible) {\n if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {\n parentSuspenseId = parentSuspense.pendingId;\n parentSuspense.deps++;\n }\n }\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n isSVG,\n container,\n hiddenContainer,\n anchor,\n deps: 0,\n pendingId: 0,\n timeout: typeof timeout === \"number\" ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: true,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false, sync = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(\n `suspense.resolve() is called without a pending branch.`\n );\n }\n if (suspense.isUnmounted) {\n throw new Error(\n `suspense.resolve() is called on an already unmounted suspense boundary.`\n );\n }\n }\n const {\n vnode: vnode2,\n activeBranch,\n pendingBranch,\n pendingId,\n effects,\n parentComponent: parentComponent2,\n container: container2\n } = suspense;\n let delayEnter = false;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n } else if (!resume) {\n delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(\n pendingBranch,\n container2,\n next(activeBranch),\n 0\n );\n queuePostFlushCb(effects);\n }\n };\n }\n let { anchor: anchor2 } = suspense;\n if (activeBranch) {\n anchor2 = next(activeBranch);\n unmount(activeBranch, parentComponent2, suspense, true);\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor2, 0);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n if (!hasUnresolvedAncestor && !delayEnter) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0 && !sync) {\n parentSuspense.resolve();\n }\n }\n }\n triggerEvent(vnode2, \"onResolve\");\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, isSVG: isSVG2 } = suspense;\n triggerEvent(vnode2, \"onFallback\");\n const anchor2 = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n patch(\n null,\n fallbackVNode,\n container2,\n anchor2,\n parentComponent2,\n null,\n // fallback tree will not have suspense context\n isSVG2,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n unmount(\n activeBranch,\n parentComponent2,\n null,\n // no suspense so unmount hooks fire now\n true\n // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container2, anchor2, type) {\n suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);\n suspense.container = container2;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance.asyncDep.catch((err) => {\n handleError(err, instance, 0);\n }).then((asyncSetupResult) => {\n if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {\n return;\n }\n instance.asyncResolved = true;\n const { vnode: vnode2 } = instance;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(vnode2);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n vnode2.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(\n instance,\n vnode2,\n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el),\n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree),\n suspense,\n isSVG,\n optimized\n );\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode2.el);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense2, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(\n suspense.activeBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n if (suspense.pendingBranch) {\n unmount(\n suspense.pendingBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n node.parentNode,\n document.createElement(\"div\"),\n null,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals,\n true\n /* hydrating */\n );\n const result = hydrateNode(\n node,\n suspense.pendingBranch = vnode.ssContent,\n parentComponent,\n suspense,\n slotScopeIds,\n optimized\n );\n if (suspense.deps === 0) {\n suspense.resolve(false, true);\n }\n return result;\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32;\n vnode.ssContent = normalizeSuspenseSlot(\n isSlotChildren ? children.default : children\n );\n vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if (!!(process.env.NODE_ENV !== \"production\") && !singleChild && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) {\n warn(` slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter((c) => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n } else {\n suspense.effects.push(fn);\n }\n } else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n const el = vnode.el = branch.el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n var _a;\n return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;\n}\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nconst INITIAL_WATCHER_VALUE = {};\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\n var _a;\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n warn(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const instance = getCurrentScope() === ((_a = currentInstance) == null ? void 0 : _a.scope) ? currentInstance : null;\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow$1(source);\n } else if (isReactive(source)) {\n getter = () => source;\n deep = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow$1(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return traverse(s);\n } else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2);\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = () => callWithErrorHandling(source, instance, 2);\n } else {\n getter = () => {\n if (instance && instance.isUnmounted) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(\n source,\n instance,\n 3,\n [onCleanup]\n );\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4);\n cleanup = effect.onStop = void 0;\n };\n };\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n onCleanup = NOOP;\n if (!cb) {\n getter();\n } else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3, [\n getter(),\n isMultiSource ? [] : void 0,\n onCleanup\n ]);\n }\n if (flush === \"sync\") {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n } else {\n return NOOP;\n }\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n } else {\n effect.run();\n }\n };\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === \"sync\") {\n scheduler = job;\n } else if (flush === \"post\") {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n } else {\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, scheduler);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n if (cb) {\n if (immediate) {\n job();\n } else {\n oldValue = effect.run();\n }\n } else if (flush === \"post\") {\n queuePostRenderEffect(\n effect.run.bind(effect),\n instance && instance.suspense\n );\n } else {\n effect.run();\n }\n const unwatch = () => {\n effect.stop();\n if (instance && instance.scope) {\n remove(instance.scope.effects, effect);\n }\n };\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const cur = currentInstance;\n setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n if (cur) {\n setCurrentInstance(cur);\n } else {\n unsetCurrentInstance();\n }\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, seen) {\n if (!isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n const internalInstance = currentRenderingInstance;\n if (internalInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(internalInstance) || internalInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevTransitionKey;\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\"))\n break;\n }\n }\n }\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === void 0) {\n prevTransitionKey = key;\n } else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n if (oldInnerChild && oldInnerChild.type !== Comment && (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\") {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (instance.update.active !== false) {\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1))\n done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n return resolveTransitionHooks(vnode2, props, state, instance);\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n return isKeepAlive(vnode) ? (\n // #7121 ensure get the child component subtree in case\n // it's been replaced during HMR\n !!(process.env.NODE_ENV !== \"production\") && vnode.component ? vnode.component.subTree : vnode.children ? vnode.children[0] : void 0\n ) : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128)\n keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n /* do not throw in dev if user provided error component */\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n queueJob(instance.parent.update);\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n isSVG,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && (!filter || !filter(name))) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (!current || !isSameVNodeType(cached, current)) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n pauseTracking();\n setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n unsetCurrentInstance();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, \"\"));\n warn(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\n);\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n if (isArray(source) || isString(source)) {\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(source[i], i, void 0, cached && cached[i]);\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res)\n res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {\n if (name !== \"default\")\n props.name = name;\n return createVNode(\"slot\", props, fallback && fallback());\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const rendered = createBlock(\n Fragment,\n {\n key: props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key || `_${name}`\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child))\n return true;\n if (child.type === Comment)\n return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => queueJob(i.update)),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance, \"get\", key);\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn(`Cannot mutate